Тонкая настройка: LoRA, ControlNet, textual inversion
Обзорный урок: как «дообучить» или направить модель, не переобучая её целиком.
Тонкая настройка — приёмы, добавляющие модели новые знания или контроль (стиль, персонажа, композицию) без переобучения всей сети с нуля.
Зачем не переобучать всё
Полное обучение Stable Diffusion требует огромных данных и вычислений. К счастью, чтобы научить модель новому стилю или строго задать позу, переучивать её целиком не нужно. Есть лёгкие надстройки — разберём три самые популярные.
LoRA: маленький «плагин» стиля
LoRA добавляет к U-Net небольшие обучаемые «поправки» вместо изменения всех весов. Файл LoRA весит десятки мегабайт (а не гигабайты), но способен научить модель конкретному художественному стилю, персонажу или объекту. Несколько LoRA можно комбинировать и регулировать их силу.
ControlNet: контроль композиции
ControlNet решает другую задачу — не «что», а «как расположено». Вы подаёте модели управляющий вход: контур (карту краёв), скелет позы, карту глубины, набросок — и генерация повторяет эту геометрию, рисуя содержимое по промпту. Так можно жёстко задать позу персонажа или композицию сцены.
ControlNet — управление по карте:
поза (скелет) -> та же поза, новый персонаж
карта краёв -> та же форма, новый стиль
карта глубины -> та же геометрия сцены
набросок -> чистовая иллюстрация по эскизуTextual inversion: новое слово
Textual inversion учит модель новому «понятию» в виде нового токена-эмбеддинга. Показав модели 5–10 картинок объекта, можно получить компактный файл-эмбеддинг и затем вызывать этот объект в промпте по придуманному слову. Сами веса модели при этом не меняются — меняется только «словарь».
Как работает под капотом
Общая идея всех трёх — менять как можно меньше. LoRA добавляет низкоранговые поправки к слоям внимания U-Net. ControlNet — это отдельная копия части U-Net, которая принимает управляющую карту и «вливает» её влияние в основную сеть. Textual inversion вообще не трогает сеть: он оптимизирует лишь новый вектор в пространстве эмбеддингов CLIP. Поэтому такие надстройки быстро обучаются и легко распространяются файлами.
Частые ошибки
- Путать LoRA и ControlNet. LoRA — про стиль/содержание, ControlNet — про геометрию и позу.
- Слишком сильная LoRA. На максимуме силы она «съедает» промпт и портит картинку; уменьшайте вес.
- Ждать, что textual inversion поменяет стиль модели. Он добавляет понятие, а не общий стиль.
Как их комбинируют
На практике эти приёмы не исключают друг друга, а складываются. Типичный продвинутый пайплайн: базовая модель плюс LoRA на нужный стиль плюс ControlNet, задающий позу по референсу, плюс аккуратный промпт. Каждый компонент отвечает за свой аспект: LoRA — за «как выглядит», ControlNet — за «как расположено», промпт — за «что именно». Понимая роль каждого, легко собирать такие связки осознанно, а не наугад.
Главный риск комбинаций — конфликты силы. Слишком мощная LoRA подавит промпт, слишком жёсткий ControlNet не оставит модели свободы и даст неестественную картинку. Поэтому силу каждого компонента регулируют по отдельности, начиная с умеренных значений. Это та же дисциплина «меняй по одному параметру», что и в промптах: она превращает хаотичный подбор в управляемый процесс.
Итог
- LoRA — лёгкий «плагин» для стиля, персонажа или объекта; маленький файл, регулируемая сила.
- ControlNet задаёт композицию по управляющей карте (поза, края, глубина).
- Textual inversion добавляет новое понятие как токен, не меняя веса сети.