LoRA
Low-Rank Adaptation — метод параметрически эффективной тонкой настройки больших нейросетей. Вместо обновления миллиардов весов модели обучается компактный адаптер из двух матриц низкого ранга, который добавляется поверх базовой модели. Размер — десятки мегабайт против гигабайтов полной модели.
Определение LoRA
LoRA (Low-Rank Adaptation of Large Language Models) — техника тонкой настройки, предложенная исследователями Microsoft в статье 2021 года (Hu et al., arXiv:2106.09685). Изначально для LLM, но в 2023 стала стандартом для адаптации Stable Diffusion под стили, лица и концепты. Идея: заморозить все веса базовой модели и обучать только две маленькие матрицы A и B размером (d×r) и (r×d), где r — низкий ранг (обычно 4–128). Апдейт ΔW = BA добавляется к исходному W.
Вместо обновления полной матрицы W (миллионы параметров) учим ΔW с числом параметров в десятки тысяч раз меньше. На инференсе LoRA либо вмерживают в основную модель, либо подгружают on-the-fly — это позволяет переключать стили без перезапуска.
Как тренировать и применять
Типичный pipeline для SD: датасет 15–50 фото объекта (лицо, стиль, одежда), captioning через BLIP или вручную, тренировка в Kohya_SS. Параметры по умолчанию: rank=32, alpha=16, lr 1e-4, batch 1–2, 1500–3000 шагов. На RTX 4090 — 20–40 минут, на RTX 3060 — 1.5–2 часа. Итог safetensors — 10–150 МБ.
Применение через синтаксис <lora:имя:вес> в AUTOMATIC1111 / ComfyUI, вес обычно 0.6–1.0. Можно комбинировать несколько LoRA (стиль + персонаж + поза). Для Flux.1 и SDXL форматы различаются (DoRA, LoCon, LoHa), принцип тот же. CivitAI к 2026 году хостит сотни тысяч LoRA.
Связанные концепции
LoRA — частный случай PEFT (Parameter Efficient Fine-Tuning). Альтернативы: Textual Inversion (~5 КБ, но слабее), DreamBooth (2–7 ГБ, точнее), Hypernetworks (легаси). Для управления композицией параллельно — ControlNet, для копирования стиля по reference — IP-Adapter. Всё это поверх диффузионных моделей в латентном пространстве. Результат собственной LoRA для лица стоит дочистить через восстановление лиц.
Частые вопросы
Сколько фото нужно для своей LoRA?
Для лица — 20–30 фото с разными ракурсами и освещением (без однотипных селфи). Для стиля — 40–80 разнородных кадров с единой эстетикой. Для объекта — 15–25 на нейтральном фоне. Качество датасета влияет на результат сильнее, чем количество шагов.
В чём разница между LoRA и DreamBooth?
DreamBooth тренирует все веса модели — файл 2–7 ГБ, максимальная точность, но дорого. LoRA замораживает базу и учит адаптер 10–150 МБ — быстрее, дешевле, комбинируется с другими LoRA. Для 95% задач хватает LoRA.
Можно ли тренировать LoRA на Midjourney?
Нет, веса Midjourney закрыты. LoRA работает только с моделями с открытыми весами: SD 1.5/SDXL, Flux.1, Pony, AuraFlow.
Почему LoRA портит общие промпты?
Если переобучена или применяется с весом 1.0 — «подминает» все генерации: любое лицо становится тренировочным, фон искажается. Решение: снизить вес до 0.5–0.7 и использовать триггер-токен (ohwx man), чтобы LoRA активировалась только когда он явно в промпте.