Дообучение моделей через LoRA
Когда дообучение оправдано, почему LoRA, и как обучить адаптер на одной видеокарте.
Когда дообучать, а когда нет
Сначала выжмите максимум из промптов и RAG. Дообучение оправдано, когда нужен стабильный стиль, узкий формат ответа или знание домена, которое не влезает в контекст. Факты дообучением не вкладывают, для фактов есть RAG.
Почему LoRA, а не полный файнтюн
Полное дообучение 7B модели требует десятки гигабайт видеопамяти и переписывает все веса. LoRA замораживает исходную модель и учит маленькие матрицы-адаптеры. Итог: тренировка идёт на одной потребительской видеокарте, а адаптер весит 10-100 МБ вместо гигабайтов.
Соберите датасет
Качество решает всё. 500-1000 чистых примеров в формате «инструкция и эталонный ответ» дают больше, чем 50 тысяч грязных. Приведите всё к единому шаблону, уберите дубли и противоречия, отложите 10% на валидацию.
Настройте ключевые параметры
QLoRA грузит модель в 4 бита и учит адаптер поверх, это влезает в 12-16 ГБ VRAM. Ставьте rank 8-16 для простых задач, 32-64 для сложных. Learning rate около 2e-4, 1-3 эпохи. Больше эпох ведёт к переобучению, модель начнёт зубрить датасет.
Запустите тренировку
Возьмите готовый стек: библиотеки PEFT и TRL или обёртку Unsloth, которая ускоряет процесс в 2 раза. Следите за loss на валидации: пока падает, учимся, начал расти, останавливаемся.
Оцените результат честно
Сравните базовую модель и дообученную на отложенных примерах, которых не было в тренировке. Судите по реальным ответам, а цифры loss держите вспомогательным сигналом. Проверьте, не разучилась ли модель общим задачам, это частый побочный эффект.
Выкатите адаптер
Адаптер можно держать отдельно и подгружать к базовой модели на лету или слить в единые веса ради скорости. Храните версии датасета и адаптера вместе, иначе через месяц не воспроизведёте результат.
Следите за забыванием
После дообучения прогоните модель по общим задачам из прежней жизни. Если она стала хуже отвечать на всё, кроме вашего домена, снизьте learning rate или число эпох и подмешайте в датасет немного разнородных примеров.