Fine-tuning LLM: когда дообучение оправдано и как выбрать метод
Fine-tuning LLM нужен не тогда, когда хочется «сделать модель умнее», а тогда, когда уже понятно, какое поведение нужно стабилизировать и как вы это измерите. Разбираем развилку между prompt engineering, RAG, distillation, LoRA, QLoRA и full fine-tuning.
Проверено 3 мая 2026 года. Fine-tuning LLM обычно вспоминают слишком рано. Команда ещё не выжала нормальный prompt, не проверила retrieval и не собрала внятные evals, но уже хочет «дообучить модель под продукт». Это дорогой способ спрятать нерешённую постановку задачи. Дообучение оправдано, когда проблема действительно в поведении модели: ей нужен устойчивый формат, свой язык предметной области или повторяемое решение узкого класса задач.
Платформы тоже постепенно разводят эти сценарии по разным инструментам. В актуальной документации OpenAI model optimization вынесен в отдельный контур: supervised fine-tuning, direct preference optimization и reinforcement fine-tuning показаны как разные методы, а distillation описана как отдельный путь для удешевления инференса через более компактную модель. Для команды это хороший сигнал: первый вопрос не в том, «как дообучать», а в том, что именно вы хотите изменить — знания, поведение, стоимость или стабильность.
Ниже — практический разбор для команд, которые уже работают с LLM в продукте и хотят понять, когда хватит prompt engineering, когда лучше RAG, а когда пора выбирать между LoRA, QLoRA и полным fine-tuning.
Когда fine-tuning действительно нужен
Есть простой тест. Если модель в целом умеет решать задачу, но делает это недостаточно стабильно под ваш рабочий формат, fine-tuning может помочь. Если же модель не знает нужных фактов, не видит ваши документы или вы ещё не нашли хороший базовый prompt, начинать с дообучения рано.
Практически fine-tuning оправдан в четырёх случаях:
- нужен предсказуемый формат ответа: JSON-схема, строгая рубрика, единая тональность саппорта, одинаковый стиль классификации или извлечения сущностей;
- задача узкая и повторяемая, а хорошие примеры уже накоплены в продакшне;
- длинный системный prompt и few-shot примеры приходится таскать в каждый запрос, из-за чего растут задержка и стоимость;
- после нормального prompt engineering и теста с retrieval качество всё ещё упирается именно в поведение модели, а не в отсутствие данных.
Что обычно не стоит лечить fine-tuning:
- нехватку актуальных знаний о документах, ценах, каталогах или внутренних регламентах — здесь почти всегда лучше RAG;
- неудачный выбор базовой модели — сначала стоит свериться с тем, как выбирать языковую модель под задачу, а уже потом тратить бюджет на адаптацию;
- общую размытость постановки — если команда не может формально описать хорошую и плохую выдачу, fine-tuning только зафиксирует хаос в датасете.
В продуктовой практике это часто выглядит так: дообучение полезно не там, где «нужен умнее AI», а там, где уже есть рабочий базовый пайплайн и нужно убрать систематические отклонения. Например, чтобы модель стабильно размечала тикеты по внутренней таксономии, писала ответы в нужном стиле бренда или превращала длинный prompt в постоянное поведение без десяти few-shot примеров в каждом вызове.
Что проверить до запуска: prompt, RAG, distillation или fine-tuning
Одна из самых дорогих ошибок — лечить один класс проблем инструментом из другого класса. Ниже редакционная матрица выбора по состоянию на 3 мая 2026 года. Она собрана из актуальной документации OpenAI по model optimization, SFT, DPO, RFT и distillation.
| Подход | Что меняется | Когда брать первым | Типичный предел |
|---|---|---|---|
| Prompt engineering | Только инструкции и примеры в запросе | Когда задача уже почти решается базовой моделью | Длинные prompt, плавающий формат, высокая зависимость от формулировок |
| RAG | К запросу добавляются внешние документы и факты | Когда модели не хватает свежих или приватных данных | Не меняет базовое поведение модели и требует качественного retrieval |
| Distillation | Меньшая модель учится на выходах более сильной | Когда нужен более дешёвый и быстрый инференс на повторяемой задаче | Нужны evals и хорошая модель-учитель, иначе вы дистиллируете шум |
| Fine-tuning | Меняются веса или адаптеры под ваш датасет | Когда нужна стабильная манера работы под конкретную задачу | Плохо лечит отсутствие фактов и дорого на грязных данных |
У этой развилки есть полезное правило. Если вам нужно «научить модель знать новые документы», почти всегда начинайте с retrieval. Если нужно «заставить модель отвечать одинаково и по вашей внутренней логике», тогда имеет смысл думать про fine-tuning. Если уже есть большой поток качественных ответов сильной модели и вы хотите удешевить инференс, смотрите в сторону distillation.
OpenAI в материале про model distillation прямо описывает этот сценарий как отдельный рабочий контур: сначала собрать dataset через stored completions, затем измерять результат через evals, и только потом доучивать более дешёвую модель под конкретную задачу. Это важный сдвиг. В 2026 году зрелая команда не рассматривает fine-tuning как единственный путь кастомизации.

LoRA, QLoRA или full fine-tuning: что выбирать в реальной команде
Когда решение о fine-tuning уже принято, следующий вопрос звучит не «что моднее», а «какой уровень вмешательства действительно нужен». Для большинства команд первый практический выбор идёт между экономными по параметрам подходами и полным дообучением.
Базовая логика такая:
- LoRA добавляет небольшие обучаемые матрицы к замороженной базовой модели. Идея из оригинальной paper проста: не трогать все веса, а обучать низкоранговые адаптеры там, где модели нужно сместить поведение под новую задачу.
- QLoRA идёт ещё дальше по экономии памяти: базовая модель хранится в квантованном виде, а обучение снова идёт через адаптеры. Именно поэтому QLoRA стал практическим входом в fine-tuning для команд, которые не хотят поднимать дорогую инфраструктуру под full FT.
- Full fine-tuning обновляет все веса модели. Это самый тяжёлый и самый дорогой вариант, который имеет смысл только тогда, когда PEFT-подходы оставляют измеримый quality gap, а задача оправдывает стоимость обучения, хранения и отката модели.
| Метод | Что обучается | Профиль памяти | Когда это разумный старт |
|---|---|---|---|
| LoRA | Небольшие low-rank adapters, базовые веса заморожены | Заметно легче full FT | Стиль, формат, классификация, извлечение и другие узкие поведенческие задачи |
| QLoRA | Адаптеры поверх quantized base model | Ещё ниже, чем у обычного LoRA | Когда память ограничена, а fine-tuning хочется запускать на более доступном железе |
| Full fine-tuning | Все веса модели | Самый тяжёлый вариант | Только после доказанного quality gap и понятной экономики эксплуатации |
Если перевести это на язык решения для команды, правило обычно простое: начинайте с LoRA или QLoRA и переходите к full fine-tuning только по результатам evals, а не по амбициям. Для большинства прикладных задач full FT — это не «более серьёзный» путь, а путь с более высоким налогом на инфраструктуру и откат.
Отдельно важно не путать качество метода с качеством базовой модели. Если базовая модель слабо понимает предметную область, PEFT не сделает чуда. Он просто эффективнее перенесёт ваши сигналы адаптации. Поэтому до запуска fine-tuning полезно вернуться к базе: что именно умеет выбранная LLM и нет ли на рынке модели, которая ближе к вашей задаче уже из коробки. Для быстрого refresher у нас есть объяснение, как работают большие языковые модели и почему выбор базовой архитектуры важнее, чем кажется на старте.

Какие данные и evals нужны до первого запуска
Почти все провалы fine-tuning выглядят одинаково: команда переоценила важность метода и недооценила качество датасета. В актуальных best practices OpenAI это сформулировано очень приземлённо: небольшой объём качественных примеров обычно лучше большого объёма слабых; если над разметкой работали разные люди, модель упрётся в уровень их согласия; а training examples должны быть оформлены так же, как inference в продакшне.
Минимальный набор дисциплины до первого прогона выглядит так:
- Соберите production-like примеры. Не абстрактные демонстрации, а реальные input-output пары из того потока, который модель увидит после релиза.
- Держите формат единым. Если у вас чатовая схема с system, user и assistant сообщениями, она должна быть одинаковой во всём датасете.
- Сразу отделите validation или test split. Без отложенной выборки команда почти всегда сравнивает «по ощущению», а не по качеству.
- Фиксируйте taxonomy ошибок. Что именно считается провалом: неверный label, уход из JSON-схемы, лишняя галлюцинация, пропуск обязательного поля, плохой tone?
- Очищайте чувствительные данные. Если в examples есть персональные данные или внутренние документы, это уже не редактура датасета, а вопрос безопасности и compliance.
Есть и полезная практическая деталь из OpenAI docs: если примеров мало, повторять сильную инструкцию в каждом example часто важнее, чем пытаться «сэкономить токены» за счёт укороченного шаблона. Иначе модель учится не вашей задаче, а случайным корреляциям внутри кривого датасета.
Ещё один зрелый сигнал — не тащить в один fine-tuning сразу несколько разных задач. Команды часто смешивают классификацию, генерацию ответа, тональность и извлечение полей в одном наборе примеров, а потом удивляются нестабильности. Намного надёжнее запускать отдельные adaptation loops под разные задачи или хотя бы жёстко контролировать, что именно считается целевым поведением в одном конкретном прогоне.
Если же у вас нет единственно правильного ответа, а есть сравнение «этот ответ лучше этого», это уже повод смотреть не на базовый supervised fine-tuning, а на методы вроде DPO. То же самое с reasoning-задачами, где нужен grader и outcome-based optimization: здесь актуальные managed APIs уже разводят отдельный reinforcement fine-tuning workflow, и это не просто маркетинговая упаковка, а реальное различие в типе данных.
Пять ошибок, которые сжигают бюджет быстрее всего
- Дообучать раньше, чем вы выбрали базовую модель. Если основа плохо справляется с задачей, fine-tuning редко спасает экономику проекта.
- Пытаться «зашить знания» вместо подключения данных. Каталоги, прайсы, документация, changelog и policy-документы обычно лучше обслуживаются retrieval-слоем, а не retraining.
- Оценивать результат только на демо-примерах. Нужен отдельный validation set и несколько практических regression checks перед релизом.
- Смешивать в одном прогоне разные определения качества. Модель не обязана одновременно стать и лучшим классификатором, и лучшим редактором текста, и лучшим SQL-generator.
- Не думать об откате. Fine-tuned model без сравнения с baseline, плана отката и понятной зоны ответственности — это операционный долг, а не улучшение.
Есть и более тонкая ошибка: путать «модель стала звучать приятнее» с «модель стала полезнее для бизнеса». Поэтому хороший fine-tuning проект почти всегда начинается с метрики, которая переживает демо-день. Для одной команды это strict accuracy, для другой — JSON validity rate, для третьей — доля тикетов, ушедших без ручной правки. Пока такой метрики нет, дообучение остаётся красивым экспериментом.
Итог
Fine-tuning LLM нужен не тогда, когда хочется «сделать модель умнее», а тогда, когда уже понятно, какое именно поведение нужно стабилизировать и как вы это измерите. Если проблема в знаниях, сначала смотрите в сторону RAG. Если в цене inference при повторяемой задаче — возможно, вам ближе distillation. Если же базовая модель умеет делать нужную работу, но делает её недостаточно ровно, тогда имеет смысл выбирать между LoRA, QLoRA и full fine-tuning.
Практическое правило для 2026 года звучит скучно, но работает: начните с prompt engineering, затем проверьте retrieval, потом соберите evals, и только после этого запускайте fine-tuning. Такой порядок хуже выглядит в презентации, зато лучше переживает продакшн.
Источники
- OpenAI API — Model optimization
- OpenAI API — Supervised fine-tuning
- OpenAI API — Direct preference optimization
- OpenAI API — Reinforcement fine-tuning
- OpenAI API — Fine-tuning best practices
- OpenAI — Model Distillation in the API
- Hugging Face PEFT — LoRA
- Hugging Face Transformers — Quantization
- LoRA: Low-Rank Adaptation of Large Language Models
- QLoRA: Efficient Finetuning of Quantized LLMs