Fine-tuning

fine-tuning — дообучение готовой модели под задачу

Раздел
Обучение
Обновлено
11.08.26

Fine-tuning продолжает обучение готовой модели на данных конкретной задачи. Так можно закрепить формат, стиль, терминологию или способ принимать решения. Полное дообучение меняет большой набор весов, а адаптерные методы вроде LoRA и QLoRA — только небольшую добавку к ним. Новые и часто меняющиеся факты обычно удобнее подключать через RAG.

Коротко

Fine-tuning — дополнительное обучение уже подготовленной модели. Вместо старта со случайных весов берут базу с общими способностями и показывают ей примеры нужного поведения. Результат зависит от качества и разнообразия данных не меньше, чем от метода обновления параметров.

Что меняется в модели

Во время fine-tuning модель делает предсказание, получает loss и обновляет параметры через backpropagation — так же, как при обычном training. Разница в исходной точке и масштабе задачи: базовая модель уже знает общие закономерности, а дообучение смещает её в нужную область.

Для языковой модели это может быть:

  • устойчивый формат ответа;
  • терминология компании;
  • классификация обращений;
  • стиль диалога;
  • выполнение узкой инструкции.

Для визуальной модели — персонаж, материал, предмет, стиль съёмки или тип композиции.

Полное дообучение и адаптеры

Full fine-tuning

Меняется большой набор исходных параметров. Такой подход даёт больше свободы, но требует больше памяти, вычислений и контроля, чтобы модель не потеряла полезные способности базы.

LoRA

Базовые веса остаются неизменными, а к выбранным слоям добавляются небольшие обучаемые матрицы. После обучения адаптер можно хранить и подключать отдельно. Его размер зависит от rank, числа затронутых слоёв и архитектуры.

QLoRA

База хранится в пониженной точности, а адаптер обучается поверх неё. Это уменьшает требования к памяти, но не делает любой запуск одинаково дешёвым: важны длина последовательности, batch, optimizer и поддержка операций на устройстве.

Другие PEFT-методы

Parameter-Efficient Fine-Tuning — общее название способов менять небольшую часть поведения модели. Конкретные форматы различаются, и адаптер от одной архитектуры нельзя автоматически переносить на другую.

Когда fine-tuning подходит

Он особенно полезен, если одна и та же закономерность повторяется во множестве запросов:

  • ответы должны иметь стабильную структуру;
  • модель путает близкие классы;
  • нужен узнаваемый визуальный персонаж;
  • длинная инструкция постоянно занимает контекст;
  • есть качественные пары «вход → желаемый ответ»;
  • результат можно измерить на независимом наборе.

Если задача возникает один раз, дешевле начать с промпта. Если знания часто меняются, удобнее поиск или RAG. Если нужна новая функция приложения, fine-tuning не заменит обычный код и инструменты.

Fine-tuning, RAG и prompt engineering

Задача Подход
Объяснить формат и критерии одного ответа Prompt
Подтянуть актуальные документы и цитаты RAG
Закрепить повторяющийся стиль или поведение Fine-tuning
Выполнить действие во внешней системе Tool calling

Эти методы можно сочетать. Дообученная модель может получать свежие документы через RAG и вызывать инструменты по строгой схеме.

Данные важнее объёма как такового

Полезный датасет показывает не только идеальные случаи. В нём нужны:

  • типичные запросы;
  • сложные границы между классами;
  • примеры корректного отказа;
  • разные формулировки одного намерения;
  • нежелательные ответы и критерий, почему они плохи;
  • данные, похожие на реальную эксплуатацию.

Дубликаты создают иллюзию большого корпуса и усиливают случайные детали. Противоречивые ответы учат модель колебаться. Секреты и персональные данные могут запомниться, поэтому права и очистка проверяются до обучения.

Как готовят эксперимент

  1. Описывают поведение, которое должно измениться.
  2. Собирают baseline без дообучения.
  3. Разделяют данные по источникам или сущностям, чтобы избежать утечки.
  4. Выбирают небольшой набор настроек.
  5. Сохраняют промежуточные checkpoint.
  6. Сравнивают их на одной независимой выборке.
  7. Проверяют, не ухудшились ли базовые способности.

Это не жёсткий ритуал, а способ понять причину результата. Если одновременно сменить данные, prompt, базу и параметры, улучшение нельзя будет объяснить.

Что проверять у языковой модели

  • выполнение инструкции;
  • формат и парсинг;
  • точность классификации;
  • устойчивость к новым формулировкам;
  • поведение на запросах вне области;
  • фактическую аккуратность;
  • сохранение нужных общих способностей;
  • безопасность на нежелательных сценариях.

Средняя метрика может скрыть редкую, но дорогую ошибку. Для важных классов полезен отдельный разбор false positive и false negative.

Что проверять у визуального адаптера

Один красивый кадр мало говорит о качестве. Контрольная сетка меняет:

  • ракурс и крупность;
  • свет и фон;
  • одежду и окружение;
  • выражение лица;
  • стиль и композицию;
  • слова, которые не должны вызывать адаптер.

Хорошая LoRA передаёт нужное свойство и оставляет модели свободу. Переобученный адаптер тянет один фон, позу или одежду во все сцены.

Основные риски

Catastrophic forgetting

Модель слишком сильно смещается и теряет часть прежних навыков. Риск снижают меньшим шагом, смешиванием данных, адаптерным методом и проверкой регрессий.

Переобучение

На train-примерах результат прекрасен, а новая формулировка ломает поведение. Здесь помогают независимые данные и разнообразие, а не просто больше эпох.

Запоминание чувствительных данных

Модель может воспроизвести редкий фрагмент. Секреты лучше не включать в датасет, а персональные данные обрабатывать по понятным правилам удаления и доступа.

Смещение целей

Модель оптимизирует то, что показано в примерах. Если оценщики поощряли длинные уверенные ответы, fine-tuning может усилить многословие и самоуверенность вместо пользы.

Стоимость и время

Они определяются не словом fine-tuning, а конкретной связкой:

  • размер и архитектура базы;
  • число обучаемых параметров;
  • длина и объём данных;
  • batch и gradient accumulation;
  • точность вычислений;
  • оборудование и backend;
  • число экспериментов и проверок.

Поэтому оценку бюджета делают на небольшом пробном запуске и масштабируют по измеренному расходу.

Частые ошибки

  • Дообучать ради свежих фактов. Весам трудно обеспечить точное и быстрое обновление базы знаний.
  • Не сохранять baseline. Потом непонятно, помогло ли обучение вообще.
  • Смешивать test с подбором настроек. Финальная оценка становится оптимистичной.
  • Считать больше данных автоматически лучшими. Шум и противоречия тоже обучаются.
  • Использовать несовместимый адаптер. Архитектура, слои и текстовый энкодер должны совпадать.
  • Проверять только среднее качество. Редкие опасные ошибки остаются незаметны.

Частые вопросы

Fine-tuning добавляет модели новые знания? Он может закрепить информацию из датасета, но не даёт надёжной обновляемой базы фактов. Для документов с версиями и источниками лучше подходит retrieval.

Сколько примеров нужно? Универсального числа нет. Однородный формат может освоиться на компактном чистом наборе, а широкий домен потребует намного больше разнообразия. Полезнее строить кривую качества по мере добавления данных.

Можно ли объединять несколько LoRA? Да, если их поддерживает один pipeline и они совместимы с базой. Адаптеры могут конфликтовать, поэтому сочетание проверяют отдельно и не трактуют коэффициент как буквальный процент свойства.

Нужно ли дообучать самую большую модель? Нет. Компактная база может лучше подходить по задержке, стоимости и развёртыванию. Выбор делают по контрольной задаче и ограничениям системы.

Главное

Fine-tuning закрепляет повторяющееся поведение в параметрах модели. Он полезен для формата, стиля и специализации, но не заменяет свежие источники, инструменты и программную логику. Надёжный результат начинается с понятной цели, чистых данных, baseline и независимой проверки того, что модель приобрела нужное, не потеряв важное старое.