Перейти к содержимому

Что такое fine-tuning: когда нужно дообучать модель, а когда нет

Автор: Silvana · Дата: 30.07.2026 · Verified: 30.07.2026 · Reading time: 5 минут · Prerequisite: 007

  • Fine-tuning — дообучение весов готовой модели на вашем датасете. Меняет саму модель, а не подсовывает данные в промпт как RAG.
  • 90% задач решаются prompt engineering + RAG. Fine-tuning реально нужен только когда требуется устойчивый формат вывода, доменная лексика или компактная модель под одну задачу.
  • Три уровня: полное дообучение всех весов (дорого), PEFT / LoRA / QLoRA (дёшево, обучаем ≤1% параметров), alignment через RLHF / DPO (для смены поведения, не знаний).
  • Стоимость: от бесплатного QLoRA на своём GPU до тысяч долларов на облачное обучение крупной open-weight модели.
  • Из закрытых API в 2026 fine-tuning фактически закрыт. OpenAI сворачивает платформу, новых пользователей не берёт. Google удалил fine-tuning из Gemini API. Anthropic никогда публично его не запускал. Живой путь остался один — open-weight модели (Llama, Qwen, DeepSeek) через Hugging Face TRL и PEFT.

Fine-tuning (файн-тюнинг, дообучение) — вы берёте готовую предобученную LLM и меняете её веса на своём наборе примеров «вход-выход». После этого модель ведёт себя иначе: устойчиво в вашем формате, в вашей терминологии, в вашем тоне.

Аналогия. Prompt engineering — это бриф сотруднику: «отвечай так-то, формат такой-то». RAG — справочник, куда сотрудник смотрит в момент вопроса. Fine-tuning — переобучение самого сотрудника: он не смотрит в справочник и не читает бриф каждый раз, он теперь так думает.

Три уровня сложности, три сценария применения:

  1. Prompt engineering— пишете хорошие инструкции. Быстро, бесплатно, работает для большинства задач. Ограничено размером контекста и склонностью модели «свалиться» в нейтральный режим.
  2. RAG— подсовываете нужные документы в промпт автоматически. Хорошо для знаний, которые меняются. Плохо для устойчивого стиля и формата.
  3. Fine-tuning— меняете веса модели. Дорого, долго, но результат встроен в модель, а не в контекст.

Практическое правило 2026: 90% задач решаются prompt + RAG, 8% требуют более серьёзной работы над контекстом, и только около 2% реально выигрывают от fine-tuning. Не бросайтесь дообучать, пока не выжали максимум из промпта.

Три уровня fine-tuning: SFT, PEFT (LoRA / QLoRA), alignment (RLHF / DPO)

Заголовок раздела «Три уровня fine-tuning: SFT, PEFT (LoRA / QLoRA), alignment (RLHF / DPO)»

SFT (Supervised Fine-Tuning) — базовый уровень.Показываете модели пары «вход-выход» из своего датасета, она подстраивает веса, чтобы предсказывать ваши выходы. Это стандарт индустрии. Библиотека TRL от Hugging Face даёт готовыйSFTTrainer: несколько строк кода — и вы запускаете обучение.

PEFT (Parameter-Efficient Fine-Tuning) — обучаем не всю модель, а маленькую надстройку.Заморозили основные веса, добавили тонкий слой (адаптер), обучаем только его. Из документации Hugging Face PEFT: «дообучаем небольшое число дополнительных параметров, значительно снижая вычислительные и storage-расходы, при качестве близком к полному fine-tuning». Внутри PEFT есть LoRA (Low-Rank Adaptation), QLoRA, prefix tuning и другие методы.

LoRA— добавляет маленькие матрицы к слоям внимания модели, обучает только их. Основной вес модели не меняется — можно держать одну базовую модель и много «lego»-адаптеров под разные задачи, переключать за секунды.

QLoRA— LoRA поверх 4-битно квантованной модели. По оригинальной работе (arXiv 2305.14314): «reduces memory usage enough to finetune a 65B parameter model on a single 48GB GPU while preserving full 16-bit finetuning task performance». Три ключевые идеи: NF4 (4-битный NormalFloat), Double Quantization (квантование самих квантовых констант), Paged Optimizers (защита от пиков памяти). Guanaco, получившая «99.3% of ChatGPT» — 24 часа обучения на одной GPU.

RLHF / DPO / GRPO — alignment, не знания.Другой класс методов: не «выучи новые примеры», а «сдвинь поведение по человеческим предпочтениям». RLHF (Reinforcement Learning from Human Feedback) — классический путь ChatGPT. DPO (Direct Preference Optimization) — более простой аналог: обучаете на парах «хороший ответ / плохой ответ» без отдельной reward-модели. GRPO — новый вариант из семейства DeepSeek. Это уровень выше SFT — модель уже умеет задачу, вы полируете, как она это делает.

Частая ошибка: «хочу AI, который знает всё про мою компанию — надо его дообучить». Нет, вам нужен RAG. Проверьте себя по списку:

  • Данные обновляются чаще раза в квартал.Fine-tuning замораживает знания на момент обучения. Обновили регламент — модель не узнает без нового цикла. Здесь RAG выигрывает.
  • Нужны точные факты со ссылкой на источник.После fine-tuning модель может «забыть» часть данных или сплавить их с общими знаниями. Точные факты + прослеживаемый источник — территория RAG, не fine-tuning.
  • У вас меньше 100 качественных примеров.Fine-tuning на маленькой выборке даёт мусор или переобучение. Минимум для осмысленного SFT — 500-1000 примеров.
  • Задачу решает промпт на 500 знаков.Если хороший промпт даёт нужный результат — не тратьте деньги на обучение.
  • Вы ещё не пробовали few-shot и системный промпт.Дообучать модель, не выжав промпт-инжиниринг, — как чинить машину до того, как проверили бензин в баке.
  • Устойчивый строгий формат вывода.Модель должна всегда возвращать JSON конкретной структуры, никогда «а вот ещё в тексте расскажу». Прописывать формат в каждом промпте дорого и ненадёжно.
  • Устойчивый тон и стиль.Тональность бренда, характер персонажа, стиль конкретного автора. В промпте задать можно, но модель периодически съезжает в нейтральный тон.
  • Узкая доменная классификация.Например, разметка обращений по 200 категориям — 200 определений в промпт не влезут, а классификатор из SFT-LoRA будет работать копейки за инференс.
  • Экономия на инференсе.Если в каждый запрос вставляете системный промпт на 5000 слов и звонков много — дешевле дообучить компактную модель и обходиться коротким промптом.
  • Компактная модель под конкретную задачу.Взять маленькую open-weight (например Qwen 2.5 7B) и через LoRA превратить её в специалиста — выйдет в разы дешевле и быстрее, чем звать frontier-модель на каждый запрос.

Картина по трём фронтир-провайдерам на 30.07.2026:

OpenAI.По страницеdevelopers.openai.com/api/docs/guides/model-optimization: «OpenAI is winding down the fine-tuning platform. The platform is no longer accessible to new users, but existing users of the fine-tuning platform will be able to create training jobs for the coming months». Для существующих пользователей поддерживаются SFT и DPO на моделяхgpt-4.1,gpt-4.1-mini,gpt-4.1-nano(снапшоты2025-04-14), Vision fine-tuning наgpt-4o-2024-08-06, Reinforcement Fine-Tuning наo4-mini-2025-04-16. Новичкам путь закрыт.

Google Gemini.По страницеai.google.dev/gemini-api/docs/model-tuning: «With the deprecation of Gemini 1.5 Flash-001 in May 2025, we no longer have a model available which supports fine-tuning in the Gemini API or AI Studio». Fine-tuning остался только в отдельном enterprise-продукте (Gemini Enterprise Agent Platform), не в обычном API.

Anthropic Claude.В официальной документацииplatform.claude.com/docsраздела fine-tuning нет. Публично Anthropic его не предлагает.

Open-weight — единственный полностью живой путь.Llama, Qwen, DeepSeek, Mistral, Gemma — берёте веса с Hugging Face, дообучаете через TRL + PEFT на своём GPU или в облаке. Ни API-квот, ни ожиданий одобрения. Из РФ работает напрямую, обучение можно вести на своём железе.

Представьте модель как огромную матрицу коэффициентов. Полный fine-tuning — меняете миллиарды чисел, нужны десятки GB видеопамяти. LoRA говорит: «не меняем большую матрицу, добавляем сбоку две маленькие матрицы низкого ранга — их произведение даёт поправку, обучаем только их». Параметров — 0.1-1% от размера модели. Результат почти совпадает с полным дообучением, а обучение помещается на один GPU.

QLoRA идёт дальше: перед добавлением LoRA-адаптера саму базовую модель ужимаем до 4 бит на вес. Модель на 65B параметров, которая занимала бы 130 GB, вмещается в 48 GB видеопамяти — это одна консьюмерская RTX 6000 Ada или A100. Обучение — 24 часа. Раньше такое требовало кластер, теперь — один системник.

Практический вывод: если пишут «дообучили LLM за $50 на своём компьютере» — это почти наверняка QLoRA на open-weight модели, а не полное дообучение и не закрытый API.

Минимальный пример SFT на Qwen 3 0.6B через Hugging Face TRL (5 строк):

from trl import SFTTrainer
from datasets import load_dataset
trainer = SFTTrainer(
model="Qwen/Qwen3-0.6B",
train_dataset=load_dataset("trl-lib/Capybara", split="train"),
)
trainer.train()

Для LoRA — добавьтеpeft_config=LoraConfig()в конструктор, для QLoRA — плюсquantization_config=BitsAndBytesConfig(load_in_4bit=True). Всё остальное библиотека делает сама.

Оценка стоимости:

  • QLoRA на своём GPU (RTX 4090 / RTX 6000 Ada).Компактная модель 7-13B, датасет 5000 примеров — обучение за ночь, электричество как фактическая стоимость. Ноль долларов на облако.
  • QLoRA / LoRA в облаке (H100 hourly на Vast.ai, RunPod, Modal).$2-4 в час, 3-8 часов на средний датасет — итого $10-40 за проход. Основная стоимость — эксперименты, а не финальное обучение.
  • Полное дообучение крупной open-weight (Llama 70B).Многодневный запуск на кластере из 8× H100. От нескольких тысяч долларов и выше. Реально нужно редко.
  • Fine-tuning через закрытый API у существующих OpenAI-пользователей.По их прайсу — токены обучающего датасета × коэффициент модели. Средняя задача — от $100 до нескольких тысяч.

Универсальное правило: 80% бюджета — на подготовку и очистку датасета, 20% — на само обучение. Грязный датасет = плохая модель, никакой алгоритм это не спасёт.

Актуально на 30.07.2026. Модели, API-политики провайдеров и цены меняются часто — особенно ситуация с fine-tuning у OpenAI и Google в 2026 переменчива. Перед бизнес-решением всегда сверяйся с первоисточником по ссылкам выше.