Дообучение (fine-tuning) меняет веса модели на ваших примерах. Это мощный, но дорогой инструмент, и первый вопрос на собесе почти всегда: «а точно нужно дообучать?»
Когда дообучать, а когда нет
Порядок, в котором обычно пробуют:
- Промпт и few-shot примеры. Дёшево, быстро, обратимо.
- RAG, если не хватает знаний: свежих, внутренних, часто меняющихся.
- Дообучение, если нужно изменить поведение: стабильный формат, стиль и тон, узкая задача классификации или извлечения, которую модель решает нестабильно, или перенос качества большой модели в маленькую и дешёвую (дистилляция).
Дообучение плохо подходит, чтобы «загрузить знания»: факты из обучающих примеров модель усваивает ненадёжно, путает и не может сослаться на источник, а при изменении данных нужно переобучать. Для знаний RAG, для навыков и формы дообучение.
SFT
Supervised fine-tuning: пары «вход и желаемый выход», модель учится предсказывать выход. Потеря обычно считается только по токенам ответа, а не промпта.
Что важно:
- Качество данных важнее количества. Сотни-тысячи чистых, разнообразных, согласованных примеров часто лучше десятков тысяч шумных.
- Формат примеров должен совпадать с тем, как модель будет вызываться в проде: тот же шаблон чата, тот же системный промпт.
- Отложенная валидационная выборка и оценка на своём наборе до и после.
- Следить за переобучением: потеря на валидации растёт, ответы копируют обучающие.
Катастрофическое забывание
Дообучение на узкой задаче может ухудшить общие способности модели: она забывает то, что умела. Снижают риск: меньше эпох и ниже learning rate, смешивание с общими данными, параметро-эффективные методы вроде LoRA, которые меняют малую часть весов.
LoRA
Полное дообучение обновляет все веса: нужна память под веса, градиенты и состояния оптимизатора (для Adam ещё два числа на параметр). Для модели на 7 млрд параметров это десятки гигабайт.
LoRA (low-rank adaptation) замораживает исходные веса и учит маленькую добавку низкого ранга:
W' = W + (alpha / r) · B·A
W: d×k (заморожен), B: d×r, A: r×k, r ≪ min(d, k)
- Обучаемых параметров
r·(d + k)вместоd·k: для матрицы 4096×4096 приr = 8это 65 тысяч вместо 16,7 млн. Bинициализируют нулями, поэтому в начале обучения модель совпадает с исходной.alphaмасштабирует добавку; часто берутalphaравнымrили2r.- Адаптеры весят мегабайты, их можно хранить много и переключать под задачи поверх одной базовой модели. Для инференса добавку можно влить в веса, тогда задержки не будет.
QLoRA: базовая модель квантуется в 4 бита (формат NF4), а LoRA-адаптеры учатся в 16 битах поверх неё. Позволяет дообучать крупные модели на одной GPU.
Какие слои адаптировать: классически проекции внимания (q, v), на практике часто все линейные слои: так качество ближе к полному дообучению.
Выравнивание: RLHF и DPO
После SFT модель учат отвечать так, как предпочитают люди.
- RLHF: собирают пары ответов с оценкой «какой лучше», обучают модель награды (reward model), затем оптимизируют LLM методом RL (классически PPO) на максимизацию награды со штрафом за отклонение от исходной модели (KL). Сложно и нестабильно.
- DPO (direct preference optimization): учит модель прямо на парах «лучше и хуже» без отдельной модели награды и RL. Проще и стабильнее, поэтому стал популярен.
Для reasoning-моделей используют RL с проверяемыми наградами: ответ на задачу по математике или код можно автоматически проверить.
Дистилляция
Большая модель-учитель генерирует ответы на ваши задачи, маленькая модель-ученик дообучается на них. Результат: дешёвая и быстрая модель, близкая к учителю на узкой задаче. Проверяйте условия использования модели-учителя: не все провайдеры разрешают учить на выходах своих моделей конкурирующие модели.
Частые ошибки
- Дообучать, чтобы добавить знания, вместо RAG.
- Не иметь оценочного набора до начала: непонятно, стало ли лучше.
- Учить на данных другого формата, чем в проде.
- Игнорировать забывание: модель лучше на задаче и хуже на всём остальном.
Что спросят на собесе
- Промпт, RAG или дообучение: как выбрать.
- Как работает LoRA, сколько параметров обучается, зачем B инициализируют нулями.
- Чем QLoRA отличается от LoRA.
- RLHF против DPO.
- Что такое катастрофическое забывание и как его избежать.