нейропоток
Гайды

Fine-tuning vs RAG: когда дообучать модель, а когда добавлять документы

Выбираешь между fine-tuning и RAG? Разбираю разницу на практике: стоимость, сложность, когда что работает. Чеклист для принятия решения за 5 вопросов.

Павел·7 мин чтения
Fine-tuning vs RAG: когда дообучать модель, а когда добавлять документы
Поделиться:TelegramVK

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

Значит, нужна статья.

Fine-tuning (дообучение) и RAG (Retrieval-Augmented Generation — поиск с генерацией) решают похожую задачу: сделать языковую модель полезнее для конкретного случая. Но делают это принципиально по-разному. И перепутать их — значит потратить деньги, время и нервы зря.

Полный гайд по fine-tuning с нуля я писал здесь. В этой статье — честное сравнение: когда что выбирать, таблица по шести критериям и чеклист из пяти вопросов, после которых ответ обычно очевиден.

RAG за 2 минуты: модель читает документы на ходу

RAG — это когда модель не знает ответа заранее, но умеет его найти. Схема простая: есть база документов (PDF, страницы сайта, тикеты поддержки), есть поисковик по ней, и есть языковая модель. Когда приходит вопрос — система сначала ищет релевантные куски текста, затем отдаёт их в контекст модели вместе с вопросом. Модель отвечает уже с этими данными.

Ключевое: веса модели не меняются. Она остаётся той же GPT-4 или Llama, просто получает дополнительный контекст перед ответом.

Самый быстрый способ попробовать RAG без кода — AnythingLLM. Загружаете документы, задаёте вопросы. Бесплатно, локально, работает за полчаса. Если нужен визуальный конструктор для более сложных пайплайнов — Dify даёт drag-and-drop интерфейс для сборки RAG-систем.

Подробно о том, как RAG устроен изнутри и как написать его с нуля — полный гайд по RAG.

Fine-tuning за 2 минуты: меняем «характер» модели

Fine-tuning — это обучение модели на своих данных. Берёте предобученную модель (Llama 3.1, Mistral, Qwen) и прогоняете через неё набор примеров — какие запросы должны давать какие ответы. В процессе веса модели немного обновляются, модель «запоминает» паттерны.

После fine-tuning модель не читает документы — она просто знает то, чему её учили. Как стиль письма, тон ответов, специализированная терминология, конкретный формат вывода.

При этом fine-tuning можно сделать на обычном ноутбуке (через LoRA — технику, которая обновляет не все веса, а только небольшой их набор), бесплатно на Google Colab, или через API OpenAI за реальные деньги. Про LoRA подробнее — в отдельной статье.

Дообучение без кода, через веб-интерфейс — Unsloth Studio.

Сравниваем честно: таблица по 6 критериям

КритерийRAGFine-tuning
СтоимостьОт $0/мес (локально через AnythingLLM, LangChain)От $0 (Unsloth + Colab GPU) до $8–25 за 100K токенов через OpenAI API
Время до результатаЧасы — загрузили документы, запустили, работаетДни — подготовка данных, обучение, оценка качества
СложностьНизкая — инструменты без кода естьСредняя–высокая — нужен датасет, понимание процесса
Что меняетЗнания (что знает модель)Поведение (как модель говорит, думает, форматирует)
Когда устареваетНикогда — обновляете документы, модель сразу знает новоеНужно переобучать при изменении требований
Минимум данных1 документ уже работаетОбычно 500–1000 примеров для заметного эффекта

Честно скажу: у RAG ниже входной барьер почти по всем параметрам. Fine-tuning оправдывает себя в конкретных сценариях — не потому что он «круче», а потому что решает другие задачи.

Когда выбирать RAG: 4 сигнала

1. Данные обновляются часто. Прайс-лист меняется каждую неделю, база знаний пополняется, политики компании редактируются — с fine-tuning вы будете постоянно переобучать модель. С RAG обновили документ, всё.

2. Нужны ссылки на источники. Корпоративный помощник, который отвечает «по документу HR-политики, пункт 4.3» — это RAG. Fine-tuning так не умеет, у него нет источника, только усвоенные паттерны.

3. Большой неструктурированный корпус. Тысячи PDF, страниц, тикетов — в fine-tuning это просто не войдёт в разумный бюджет. RAG индексирует всё и ищет по запросу.

4. Нет ML-команды. RAG можно настроить через no-code инструменты. Fine-tuning требует хотя бы понимания, что вы делаете.

Типичный пример RAG, который я видел: корпоративный ноулидж-бейс в крупной компании. Сотни внутренних документов, обновляются постоянно. Через AnythingLLM или собственный RAG-пайплайн сотрудники задают вопросы — модель находит ответ в документах и цитирует источник. Никакого ML.

Когда выбирать fine-tuning: 4 сигнала

1. Нужен конкретный стиль или тон. Чат-бот, который говорит «в стиле бренда», использует специфический жаргон компании, всегда отвечает в определённом формате — это fine-tuning. RAG не меняет голос модели.

2. Задача с фиксированным форматом. Классификатор тикетов поддержки, который всегда возвращает JSON с category и priority — fine-tuning натренирует модель на нужный вывод. RAG тут лишний.

3. Узкая предметная область со специфической терминологией. Медицинский диагностический ИИ, юридический помощник по конкретному праву, технический ассистент по собственному SDK — где нужно не просто «знать» термины, а правильно с ними работать. Fine-tuning даёт модели новые «инстинкты».

4. Нет большой базы документов, зато есть много примеров «вопрос → правильный ответ». Если у вас 2000 пар «запрос пользователя — идеальный ответ оператора», это готовый датасет для fine-tuning. RAG тут ничего не даст.

Когда нужны оба: RAG + fine-tuning вместе

Это продвинутый сценарий, который реально встречается в production.

Пример: AI-помощник клиентской поддержки крупного сервиса. Fine-tuning учит модель правильному тону, формату ответов, политике возвратов и поведению в конфликтных ситуациях — это «характер». RAG подтягивает актуальную базу FAQ, статусы заказов, технические документы — это «знания».

Без fine-tuning модель будет отвечать слишком формально или выходить за рамки роли. Без RAG — не знать актуального состояния базы.

Цена: платите за оба компонента. Сложность: заметно выше. Оправдано для продукта с реальной нагрузкой.

Чеклист: 5 вопросов для принятия решения

Ответьте на них честно — обычно после этого всё становится понятно.

1. Данные меняются чаще раза в месяц? → Да → RAG (не будете постоянно переобучать) → Нет → оба варианта подходят, смотрите дальше

2. Важно показывать источник/ссылку на документ? → Да → только RAG → Нет → смотрите дальше

3. Задача — изменить стиль ответов, тон или формат вывода? → Да → fine-tuning (RAG это не умеет) → Нет → смотрите дальше

4. Есть 500+ примеров "правильных" пар вопрос-ответ? → Да → fine-tuning может сработать → Нет → начните с RAG, датасет собирать долго

5. Есть ML-инженер или готовы потратить 2+ дня на изучение? → Да → fine-tuning реалистично → Нет → RAG, там решения без кода есть

Большинство компаний, которые думают «нам нужен fine-tuning», на самом деле хотят RAG. Это не значит, что RAG лучше — просто задача у них про знания, а не про поведение.

FAQ

В чём разница между RAG и fine-tuning? RAG даёт модели доступ к внешним документам в момент ответа — веса модели не меняются. Fine-tuning обновляет веса модели через обучение на примерах — после этого модель «помнит» усвоенные паттерны без внешних источников.

Что дешевле: RAG или fine-tuning? RAG дешевле на старте: AnythingLLM бесплатно, LangChain RAG-пайплайн на открытых моделях — $0/мес. Fine-tuning через OpenAI API стоит $8–25 за 100K токенов обучения. Fine-tuning через Unsloth на Google Colab — бесплатно, но требует времени и понимания процесса.

Можно ли использовать RAG и fine-tuning одновременно? Да. Типичная архитектура: fine-tuning задаёт «характер» модели (тон, формат, роль), RAG обеспечивает актуальными знаниями из документов. Используется в production AI-продуктах — сложнее и дороже, но оправдано.

Для корпоративных документов — RAG или fine-tuning? Почти всегда RAG. Документы обновляются, нужны ссылки на источники, корпус большой. Fine-tuning тут не масштабируется — переобучать модель на каждое обновление политики дорого и медленно.

Сколько данных нужно для fine-tuning по сравнению с RAG? RAG работает с 1 документом. Fine-tuning требует обычно 500–1000 пар «запрос–ответ» для заметного эффекта, желательно 2000–5000 для стабильного результата. Качество данных важнее количества — лучше 500 чистых примеров, чем 5000 сырых.