Дообучение (fine-tuning) — это практика взятия модели, уже обученной на обширном корпусе данных — часто это большая языковая модель, такая как одна из семейств GPT или LLaMA — и продолжения её обучения на меньшем, тщательно отобранном наборе данных. Цель состоит в том, чтобы направить модель к более узкому поведению: отвечать на медицинские вопросы, писать в определённом фирменном стиле, генерировать код в конкретном фреймворке или надёжно следовать структурированному формату вывода.
В отличие от обучения с нуля, дообучение начинается с уже изученных представлений, а не со случайных весов. Поскольку основная работа по изучению грамматики, логики и знаний о мире уже выполнена, дообучение обычно требует на порядки меньше данных и вычислительных ресурсов для достижения значимых улучшений в целевой задаче.
Как работает дообучение
На практике инженеры готовят набор данных из примеров входных данных и желаемых выходных данных, которые отражают поведение, которое они хотят получить от модели. Для ассистента службы поддержки это могут быть сотни или тысячи прошлых решений тикетов; для инструмента ревью кода — пары pull-запросов и комментариев ревьюера. Затем предварительно обученная модель выполняет дополнительные проходы обучения на этом наборе данных, и её веса обновляются с помощью стандартной градиентной оптимизации, чтобы уменьшить потери между предсказанными и целевыми выходными данными.
Простая ментальная модель: представьте универсальную базовую модель как врача-интерна, прочитавшего все учебники. Дообучение — это ординатура, которая специализирует его в радиологии. Его базовые знания сохраняются, но повседневные решения становятся чётко сфокусированными на одной области.
Почему это важно
Дообучение — это основной рычаг, который команды используют для превращения универсальной модели в надёжный компонент продукта. Оно может повысить точность в нишевых задачах, обеспечить соблюдение фирменного стиля, уменьшить галлюцинации в определённой области, обучить паттернам использования инструментов и согласовать выходные данные с требованиями безопасности или соответствия. Для организаций с собственными данными или доменной экспертизой дообучение предлагает способ закодировать эти знания в самой модели, а не полагаться исключительно на промпты.
Оно также имеет экономическую ценность: меньшая дообученная открытая модель часто может соответствовать качеству гораздо большей универсальной модели в конкретном рабочем процессе, снижая затраты на инференс в масштабе.
Основные виды
- Supervised fine-tuning (SFT): обучение на размеченных парах вход-выход для обучения конкретному навыку или формату.
- Instruction tuning: широкая форма SFT, которая обучает модель следовать инструкциям на естественном языке во множестве задач.
- Parameter-efficient fine-tuning (например, LoRA, QLoRA): замораживает большинство весов и обучает только небольшие адаптерные слои, сокращая затраты на вычисления и хранение.
- Reinforcement learning from human feedback (RLHF): использует рейтинги человеческих предпочтений для дальнейшего согласования модели помимо supervised-примеров.
- Continued pretraining: неуправляемое дообучение на сыром доменном тексте для внедрения лексики и знаний перед специфичным для задачи SFT.
Дообучение наиболее полезно, когда одни только промптинг и поиск не могут надёжно обеспечить требуемое качество, когда задержка или стоимость исключают использование очень больших моделей, или когда желаемое поведение зависит от паттернов, которые базовая модель редко видела. Для доступного обзора см. документацию по обучению Hugging Face, а оригинальный рецепт инструкционных моделей — в статье FLAN.