Fine-tuning vs Промптинг
Когда дообучать модель
Проблема: Твой чат-бот должен знать продукты твоей компании. Стоит ли обучать свою модель или просто вставить информацию в промпт?
Решение: Репетитор vs учебник
Дообучение (fine-tuning) — это продолжение обучения уже готовой языковой модели на небольшом сфокусированном датасете, чтобы она адаптировалась к твоей задаче, домену или стилю. Модель уже знает грамматику, факты и умеет рассуждать из исходного предобучения (pretraining); дообучение сдвигает её веса (weights) в сторону твоих паттернов — твоего тона, формата вывода, твоей терминологии. Представь, что тебе нужно изучить новый предмет. Прежде чем браться за дообучение, попробуй улучшить результаты с помощью промпт-инжиниринга. Если этого недостаточно, у тебя два основных пути:
- Учебник (prompting): читай главу перед каждым тестом. Быстро начать, но каждый раз перечитывать.
- Репетитор (fine-tuning): занимайся с учителем, пока не поймёшь. Требует времени вначале, но знания остаются.
Полный fine-tuning vs LoRA / PEFT
Полный fine-tuning обновляет все веса модели. Это даёт максимум контроля, но дорого: модели на 7 миллиардов параметров нужны десятки гигабайт памяти GPU только под состояние оптимизатора, а в итоге для каждой задачи приходится хранить полную копию модели. PEFT (Parameter-Efficient Fine-Tuning) решает это иначе: исходные веса замораживаются, а обучается лишь крошечный набор новых параметров. Самый популярный метод PEFT — LoRA (Low-Rank Adaptation): он вставляет небольшие обучаемые матрицы в каждый слой, так что настраивается меньше 1% параметров. QLoRA идёт дальше и грузит замороженную базовую модель в 4-битной квантизации, поэтому даже одна потребительская видеокарта может дообучить крупную модель. Полученный LoRA-адаптер весит всего несколько мегабайт — адаптеры можно переключать под разные задачи, не дублируя всю модель.
Когда выбирать fine-tuning, а когда prompting или RAG
Бери дообучение, когда нужен стабильный стиль, формат или поведение, которые промптом надёжно не задать — например, всегда выдавать строгий JSON, классифицировать обращения в поддержку или выдерживать единый голос бренда в тысячах запросов. Это ещё и снижает стоимость одного запроса, потому что инструкции зашиты в веса, а не повторяются в каждом промпте. Но для добавления свежих фактов дообучение не подходит. Чтобы дать модели знания, которые часто меняются, используй Retrieval Augmented Generation (RAG): храни документы в поисковой векторной базе данных, находи релевантные вопросу фрагменты через эмбеддинги и автоматически вставляй их в промпт. Обновить RAG — значит отредактировать документ; обновить дообученный факт — значит переобучить модель. Практическое правило: начни с prompting, добавь RAG для знаний, и дообучай только то поведение, до которого нельзя дойти промптом.
Конкретный пример: ты хочешь модель, которая превращает письма клиентов в структурированные тикеты с полями вроде priority, category и summary. Ты собираешь 500–1000 пар «письмо → тикет», оформляешь их как данные prompt/completion и дообучаешь через LoRA. Задача отрабатывает за час-два на одной GPU, и после этого модель выдаёт чистый JSON без длинного инструктивного промпта — дешевле и надёжнее на инференсе, чем один только prompting.
Представьте это как обучение с репетитором vs учебник:
- 1. Prompting лучше, когда: Информация часто меняется, нужно быстро стартовать, ограниченный бюджет, задача универсальная
- 2. Fine-tuning лучше, когда: Нужен специфический стиль или формат, есть много хороших примеров, важна скорость при инференсе, одна и та же задача повторяется тысячи раз
Типы файн-тюнинга
- Полный fine-tuning: переобучение всех весов. Максимальное качество, но дорого (нужно 8+ GPU)
- LoRA / QLoRA: обучение только маленьких адаптеров. Дёшево и быстро, 90% качества
- RLHF: обучение на человеческом фидбеке. Для обучения предпочтениям: быть полезным, а не вредным
- Instruction tuning: обучение следовать инструкциям. Превращает базовую модель в чат-бота
Интересный факт: Начни с prompting + RAG. Делай fine-tuning только когда упрёшься в чёткие ограничения. 80% задач никогда не требуют файн-тюнинга! Fine-tuning стоит дорого. Сначала исчерпай более дешёвые варианты.
Попробуйте сами!
Ниже — дерево решений. Ответь на несколько вопросов о твоей задаче, и узнай, какой подход рекомендуется именно тебе!
Частые вопросы
Чем fine-tuning отличается от RAG?
Fine-tuning меняет веса модели, чтобы зафиксировать стиль, формат или поведение, и для этого нужно переобучение. RAG не трогает веса: он находит релевантные документы в векторной базе и вставляет их в промпт на лету. Поэтому RAG лучше для знаний, которые часто меняются, а fine-tuning — для поведения, которое нельзя надёжно задать промптом.
Сколько примеров нужно для дообучения модели?
Для узкой задачи вроде классификации или фиксированного формата обычно хватает 500–1000 качественных примеров, а иногда и нескольких сотен. Качество и консистентность данных важнее количества: грязные или противоречивые примеры портят результат сильнее, чем их нехватка. Для сложного поведения или нового стиля может понадобиться несколько тысяч пар.
Что такое LoRA и чем она отличается от полного fine-tuning?
Полный fine-tuning обновляет все веса модели, требует много памяти GPU и хранит полную копию модели под каждую задачу. LoRA замораживает исходные веса и обучает лишь маленькие добавочные матрицы — меньше 1% параметров. В итоге адаптер весит несколько мегабайт, обучение дешевле и быстрее, а качество близко к полному дообучению.
Когда стоит дообучать модель, а когда хватит промпта?
Начни с промпт-инжиниринга — он бесплатный и мгновенный. Дообучай, только когда нужен стабильный стиль, строгий формат (например, JSON) или одна и та же задача повторяется тысячи раз и важна цена запроса. Если же не хватает свежих фактов, выбирай не fine-tuning, а RAG.
Попробуй сам
Интерактивное демо этой техники
Классифицировать медицинские симптомы по специализации врача
Дерматолог (покраснение) или Невролог (ощущение песка может быть неврологическим).
Не уверен в ответе — нужно больше контекста.
Офтальмолог (confidence: 0.96)
Сопутствующие специалисты: Аллерголог (0.23 — если аллергический конъюнктивит)
Few-shot ограничен количеством примеров в промпте. Fine-tuning «зашивает» тысячи примеров в веса модели — быстрее, дешевле за запрос и точнее для узких доменных задач.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения