Толковый словарь по нейросетям и искусственному интеллекту
Кэширование латентов
Категория термина
Кэширование латентов (Cache Latents) — параметр в инструментах обучения моделей (например, Kohya_SS), позволяющий сохранять промежуточные латентные представления изображений в памяти или на диске для ускорения последующих этапов обучения. Это снижает необходимость повторного кодирования изображений через VAE и повышает общую производительность.
🧠 Механизм работы
- Исходные изображения загружаются в систему обучения.
- Каждое изображение пропускается через VAE (Variational Autoencoder) и преобразуется в латентное пространство.
- Полученные латенты сохраняются (кэшируются) в оперативной памяти или на диске.
- Во время обучения модель использует уже готовые латенты вместо повторного кодирования.
- Это значительно ускоряет процесс обучения, особенно при больших датасетах.
🔑 Особенности
- Снижает нагрузку на GPU за счёт исключения повторных вычислений VAE.
- Может использовать оперативную память (RAM) или диск (SSD).
- Особенно эффективен при многократных эпохах обучения.
- Требует дополнительного места для хранения латентов.
📌 Примеры применения
- Обучение LoRA, LoCon и LyCORIS моделей в Kohya_SS.
- Работа с большими датасетами изображений.
- Оптимизация времени обучения на слабых GPU.
⚖️ Преимущества и недостатки
Преимущества:
- Существенно ускоряет обучение.
- Снижает нагрузку на видеокарту.
- Повышает стабильность процесса обучения.
Недостатки:
- Требует дополнительной памяти (RAM или диска).
- Долгая начальная стадия кэширования.
- Менее гибок при изменении параметров предобработки.
🧠 Связанные понятия
- Latent Space — скрытое пространство представления данных.
- VAE (Variational Autoencoder) — модель для кодирования изображений в латенты.
- Training Epoch — один полный проход по обучающему датасету.
- Batch Processing — обработка данных пакетами.
- GPU Acceleration — использование видеокарты для ускорения вычислений.
💡 Вывод
Cache Latents является важным параметром оптимизации обучения, позволяющим существенно ускорить процесс за счёт повторного использования латентных представлений. Он особенно полезен при работе с большими наборами данных и ограниченными вычислительными ресурсами.
⚙️ Практическое применение
- Рекомендуется включать при обучении на больших датасетах или при большом количестве эпох.
- Используйте кэширование в RAM для максимальной скорости, если хватает памяти.
- При ограниченной памяти выбирайте кэширование на диск (SSD предпочтительнее HDD).
- Не используйте Cache Latents, если часто меняете параметры предобработки — кэш придётся пересоздавать.
- Особенно полезен при обучении LoRA/LyCORIS, где VAE является узким местом.