Fine-tuning: как понять, что дообучение окупится
Fine-tuning меняет привычку готовой модели отвечать: формат, тон, порядок действий или классификацию. Он не превращает набор внутренних документов в надёжную память компании. Если регламент обновляется каждую неделю, дообучение придётся повторять или дополнять поиском по актуальной базе. Поэтому решение начинается не с покупки обучения, а с вопроса: какую конкретную ошибку нельзя исправить хорошим промптом, шаблоном или RAG?
Сначала установите базовую линию
Возьмите 30 реальных, но обезличенных примеров и прогоните их через текущую модель с системной инструкцией и форматом ответа. Запишите ошибки по категориям: пропущенное поле, неверный тон, лишний текст, неправильная классификация или выдуманный факт. Измерьте время ручной доводки и долю результатов, которые можно принять.
Если простая настройка промпта уже достигает цели, обучение не оправдано. Fine-tuning имеет смысл, когда одна и та же поправка повторяется в десятках ответов и её трудно надёжно выразить словами. Факты, цены и часто меняющиеся правила оставляйте в источнике или RAG; поведение модели и стиль можно закреплять обучением.
Сформулируйте измеримый результат
Цель должна выглядеть как проверяемое условие: «не менее 90% ответов проходят JSON-схему из пяти полей, а отсутствующие значения остаются пустыми». Добавьте границы: язык, максимальную длину, допустимые источники, обязательный отказ и владельца финального решения. Не смешивайте классификацию обращений, написание писем и анализ договоров в одну цель — у них разные эталоны и риски.
Соберите датасет вручную
Каждая строка содержит вход, эталонный ответ и, при необходимости, короткую пометку правила. Эталон пишет и проверяет человек; случайный удачный ответ модели не является золотым примером. Включите нормальные случаи, неполные поля, опечатки, конфликтующие условия, запросы вне области и корректные отказы.
Для задачи классификации полезно сохранить одинаковые примеры с разными формулировками. Для формата JSON — варианты порядка слов и пустых полей. Для стиля — удачный абзац и пример, где модель звучит слишком рекламно. Перед обучением удалите контакты, токены и идентификаторы; локальная схема маскирования описана в отдельном материале.
Разделите три выборки
Обучение, валидация и закрытый тест должны быть независимыми. Не переносите почти одинаковую фразу из теста в датасет через копию или исправленную версию. В закрытую выборку добавьте новые термины, другой порядок полей, короткие и длинные запросы и несколько заведомо неподходящих задач.
Запишите версию основы, датасета, параметров запуска и дату. Без этой карточки нельзя объяснить, почему новый адаптер дал другой результат, и невозможно безопасно вернуться к предыдущему.
Сравните базовую и обученную версии
Прогоните обе модели на одном закрытом тесте. Смотрите не только на среднюю метрику, но и на худшие случаи: выдуманный факт, пропуск обязательного поля, отказ там, где ответ разрешён, и уверенный ответ вне области. Редактор отдельно проверяет русский язык, единицы, тон и отсутствие скрытых обещаний.
| Метрика | Базовая версия | После fine-tuning | Порог решения |
|---|---|---|---|
| Валидный формат | не ниже цели | ||
| Существенные исправления | меньше базовой | ||
| Корректные отказы | без опасного падения | ||
| Время ручной проверки | экономия подтверждена |
Пустые клетки заполняются только собственными измерениями. Не переносите цифры из чужого обзора: смена модели, языка и датасета делает их несопоставимыми.
Ищите переобучение
Переобученная модель отлично повторяет знакомые фразы и хуже справляется с новым запросом. Сравните оценку на обучении и закрытом тесте, а затем проведите перефразирование: сохранится ли правило, если порядок слов и названия изменились? Если качество падает, добавьте разнообразия, сократите цель или остановите обучение раньше.
Проверьте забывание базовых способностей. Модель, которая научилась отвечать в одном формате, не должна внезапно перестать распознавать обычный вопрос или корректно отказывать в опасном сценарии. Отдельно прогоните тест безопасности до и после обучения.
Где нужен RAG и гибрид
RAG подаёт свежий фрагмент документа во время запроса и подходит для регламентов, цен и инструкций. Fine-tuning закрепляет манеру ответа и последовательность полей. В гибридной схеме поиск поставляет факт, а обученная модель оформляет его по шаблону; источник и дата всё равно должны быть видимы человеку. Сравнение ролей двух подходов разобрано в материале о RAG и fine-tuning.
Репетиция релиза на тени
Перед включением дообученной версии направьте ей копию реального потока, но не показывайте ответы пользователям и не разрешайте действия во внешних системах. Сравнивайте пары результатов: базовая модель слева, новая справа, причина расхождения и решение проверяющего. В первые сутки выбирайте случаи с неполными данными и вопросами вне области — они быстрее всего обнаруживают переобучение.
Установите срок теневого запуска и критерии выхода заранее. Например, новая версия должна сохранить долю корректных отказов, уменьшить число исправлений формата и не дать ни одной критичной утечки. Если один порог нарушен, не «усредняйте» его успешными ответами: сохраните пример, остановите перевод трафика и вернитесь к базовой модели. Ошибки тени полезны только пока решение остаётся обратимым.
После одобрения переведите небольшой процент запросов и оставьте быстрый переключатель. Разделяйте журнал по версиям, чтобы повторный запрос не смешивал ответы двух моделей. Через неделю сравните новые примеры с закрытым тестом: если улучшение исчезло на другом потоке, цель была слишком узкой или данные обучения не отражали реальную работу.
Стоимость и безопасный выпуск
Считайте не только цену запуска: в бюджет входят разметка, проверка эталонов, повторные прогоны, хранение адаптеров, мониторинг и исправление ошибок. Новую версию сначала запускайте в тени — ответы сравниваются, но не доходят до пользователя. Храните базовую модель, предыдущий адаптер и конфигурацию маршрута. Укажите условие отката: рост критических ошибок, ухудшение отказов или отсутствие экономии после заданного числа запросов.
Итоговый чек-лист
- Зафиксирована базовая линия и тип повторяющейся ошибки.
- Промпт и RAG проверены как более простые альтернативы.
- Эталоны написаны и проверены человеком.
- Данные обезличены, а выборки не пересекаются.
- Есть закрытый тест с перефразированными и отрицательными примерами.
- Сравнены формат, факты, отказы, русский язык и время проверки.
- Проверено переобучение и забывание базовых навыков.
- Сохранены версии и предусмотрен теневой запуск с откатом.
Fine-tuning окупается только тогда, когда измеримое поведение стало устойчивее на новых данных и стоимость поддержки не съела выигрыш. Дообучение — это изменение процесса, а не способ спрятать плохие источники или отсутствие редакторского контроля.