BaseModel.set_device_state_preset() has no branch for the
'cache_text_encoder' preset, so when TextEmbeddingCachingMixin calls
set_device_state_preset('cache_text_encoder') the active_modules list
stays empty and the text encoder is placed on CPU. With
cache_text_embeddings enabled on a BaseModel arch (e.g. chroma), every
caption is then encoded on CPU — with a quantized T5-XXL this took
~6.5 minutes per caption (~21 hours for a 205-image dataset) while the
GPU sat idle. StableDiffusion.set_device_state_preset() already has
this branch; this adds the same two lines to BaseModel.