Что такое Fine-Tuning?

Fine-tuning is the process of further training a pre-trained machine learning model on a smaller, task-specific dataset to adapt its behavior for a particular use case. It adjusts the model's internal parameters so it produces more accurate, relevant, or stylistically aligned outputs than the base model alone.

Дообучение (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.

Frequently Asked Questions

How is fine-tuning different from prompt engineering?
Prompt engineering steers a model's behavior at inference time by changing only the input text, without altering the model itself. Fine-tuning actually updates the model's weights by running additional training on a curated dataset. Prompting is faster and cheaper; fine-tuning is more powerful when the desired behavior must be applied consistently across many queries or when it depends on patterns the base model doesn't reliably produce.
How much data do you need to fine-tune a model?
It depends on the task and the method. Full fine-tuning of a large model can require thousands to tens of thousands of high-quality examples. Parameter-efficient methods like LoRA can produce useful results with a few hundred well-chosen examples, especially when the base model already has strong general capabilities. Data quality consistently matters more than raw quantity.
What is LoRA fine-tuning?
LoRA (Low-Rank Adaptation) is a parameter-efficient fine-tuning method that freezes the original model weights and trains only small, low-rank matrices added to each layer. This typically reduces the trainable parameters by more than 90%, making fine-tuning feasible on a single GPU and producing adapters that are only a few megabytes in size.
Does fine-tuning make a model forget what it already knows?
It can. Known as catastrophic forgetting, this happens when fine-tuning on a narrow dataset overwrites earlier capabilities. Practitioners mitigate it by mixing in general-domain data, using a low learning rate, limiting training epochs, and evaluating the model on both the new task and a broader benchmark suite before deployment.