Что такое fine-tuning (дообучение) LLM?
Fine-tuning (дообучение) — это донастройка уже предобученной языковой модели на дополнительном наборе примеров, чтобы она лучше решала конкретную задачу или домен: отвечала в нужном стиле, следовала формату компании или разбиралась в узкой тематике. В отличие от обучения с нуля, дообучение стартует от готовых весов модели и требует на порядки меньше данных и вычислений.
Дообученную модель обычно используют для узкой корпоративной задачи — техподдержки конкретного продукта, юридических документов компании или ответов в фирменном тоне бренда, — а не для расширения общих знаний о мире. Если нужно, чтобы модель отвечала с опорой на часто обновляемые документы, для этого чаще выбирают RAG, а не дообучение.
Чем full fine-tuning отличается от LoRA и PEFT?
Full fine-tuning обновляет все веса модели целиком — это даёт максимальную гибкость, но требует мощного GPU-кластера и десятков или сотен гигабайт памяти даже для модели среднего размера. LoRA и другие методы PEFT (Parameter-Efficient Fine-Tuning) обучают лишь небольшую добавку к весам, а основную модель замораживают — это на порядок дешевле и быстрее, хотя и немного уступает full fine-tuning в глубине изменений.
| Подход | Что обучается | Ресурсы | Когда применяют |
|---|---|---|---|
| Full fine-tuning | Все веса модели | GPU-кластер, много памяти | Кардинальное изменение поведения, свой домен целиком |
| LoRA | Небольшие матрицы-адаптеры поверх замороженных весов | Один GPU, часы вместо дней | Сужение стиля и формата под задачу |
| PEFT (прочие методы) | Часть параметров или отдельные модули | Один-несколько GPU | Быстрые эксперименты, ограниченный бюджет |
На практике команды чаще выбирают LoRA или другой метод PEFT: он позволяет дообучить модель на собственном оборудовании или в облаке за разумный бюджет, а результат можно быстро откатить или переключить между несколькими адаптерами под разные задачи. Full fine-tuning оставляют для случаев, где нужно менять поведение модели глубоко и стабильно.
Когда нужен fine-tuning большой языковой модели?
Fine-tuning имеет смысл, когда нужно закрепить в модели устойчивый стиль, формат ответа или узкую специфику домена, которая не меняется каждую неделю — например, тон бренда, структуру юридических заключений или терминологию отрасли. Если же ответы должны опираться на часто обновляемые документы или факты, эффективнее не дообучать модель, а подключить её к внешней базе знаний.
Дообучение также оправдано, когда важно снизить длину промпта и не передавать инструкции заново в каждом запросе, либо когда модель должна работать в изолированном контуре без доступа к внешним источникам. Если задачу можно решить точной настройкой промпта или подключением базы знаний, дообучение обычно избыточно — это более дорогой и медленный путь.
Какие данные нужны для fine-tuning (SFT-датасет)?
Для дообучения чаще всего используют SFT-датасет (supervised fine-tuning) — набор пар «инструкция — эталонный ответ», размеченный людьми или проверенный экспертами предметной области. Качество и однородность этих примеров важнее их количества: несколько сотен тщательно выверенных пар нередко дают лучший результат, чем десятки тысяч противоречивых и разнородных.
Подробно о том, какие типы данных нужны на разных этапах обучения языковой модели — от предобучения до RLHF, — можно прочитать в статье «Какие данные нужны для обучения LLM». Для дообучения в узком домене — медицине, праве, финансах — эталонные ответы должен писать или проверять профильный эксперт, иначе модель выучит поверхностные или ошибочные паттерны.
Какие ошибки чаще всего допускают при дообучении LLM?
Самая частая ошибка — «катастрофическое забывание»: модель, дообученная на узком наборе примеров, теряет часть общих знаний и хуже отвечает вне целевого домена. Вторая по частоте — недостаточная проверка данных: шум, дубли и противоречивые примеры в SFT-датасете модель выучивает вместе с полезными паттернами, а результат ухудшается непредсказуемо.
Третья типичная ошибка — отсутствие контрольного тестирования на задачах вне узкого домена: команда видит улучшение на целевых примерах, но не замечает регресса в остальном поведении модели. Четвёртая — переобучение на слишком маленькой или однообразной выборке, из-за чего модель начинает дословно повторять формулировки из обучающих примеров вместо того, чтобы обобщать.
Fine-tuning или RAG — как выбрать подход?
Если задача — закрепить стиль, формат или специфику домена, которая не меняется часто, обычно выбирают fine-tuning. Если ответы должны опираться на актуальные и часто обновляемые документы — регламенты, каталог, базу поддержки, — эффективнее RAG: он подключает модель к внешним данным без изменения самих весов. Многие проекты в итоге комбинируют оба подхода.
Разница между подходами подробно разобрана в статье «RAG: что это простыми словами» — там же показано, как устроен процесс поиска и добавления контекста в ответ модели. На практике решение часто принимают не «или-или», а по частям системы: стиль и формат ответа закрепляют дообучением, а актуальные факты подключают через RAG.