LLM API и интеграция
Дообучение модели или промпт: что дешевле
Дообучение выглядит как правильный ответ на любую проблему с качеством — и в большинстве случаев им не является. Между «плохо работает промпт» и «нужна своя модель» лежат ещё два уровня, которые дешевле, быстрее и чаще всего достаточны: примеры прямо в запросе и подача своих данных в контекст. Дообучение решает ровно одну задачу — научить модель устойчивому формату или стилю, когда примеров нужны сотни. Фактам оно учит плохо, и попытка загнать туда базу знаний — самая дорогая ошибка в этом списке. Разбираем четыре уровня по возрастанию цены и объясняем, как понять, на каком вы находитесь.
Четыре уровня по возрастанию цены
Порядок здесь не случайный: каждый следующий дороже предыдущего в разы, и переходить дальше стоит, только исчерпав текущий.
Уровень 1. Промпт и примеры. Правила и два-три образца прямо в запросе. Цена — час работы. Покрывает большинство задач.
Уровень 2. Свои данные в контексте. Поиск нужных фрагментов и подача их вместе с вопросом. Цена — несколько дней. Единственный правильный способ дать модели знания, которых у неё нет.
Уровень 3. Дообучение. Обучение готовой модели на своих примерах. Цена — недели и деньги. Решает задачу устойчивого формата и стиля.
Уровень 4. Своя модель. Обучение с нуля или глубокая переработка. Цена — сопоставима с продуктом. Практически никогда не нужна тем, кто задаёт этот вопрос.
Опыт показывает, что на уровне 1 закрывается большая часть задач, на уровне 2 — почти весь остаток. До третьего доходят единицы, и часть из них возвращается обратно.
Чему дообучение учит хорошо
Три вещи, ради которых оно и существует.
Устойчивому формату. Если вам нужен ответ строго определённой структуры и никакие инструкции не дают стопроцентного попадания, обучение на сотнях примеров даёт результат, которого промптом не добиться.
Стилю и тону. Корпоративная манера письма, специфический жаргон отрасли, принятые формулировки. Это плохо описывается правилами и хорошо показывается примерами.
Компактности запроса. Когда правила усвоены моделью, их не нужно передавать при каждом обращении. На большом объёме это экономит входные токены — и иногда именно здесь дообучение окупается, а не в качестве.
Общее у всех трёх: это про форму, а не про содержание. Дообучение показывает модели, как отвечать, а не что знать.
Чему оно учит плохо
Разграничение, из-за игнорирования которого теряют больше всего времени.
Фактам. Загнать в дообучение справочник, базу товаров или документацию — распространённая и дорогая ошибка. Модель усвоит стиль этих текстов, но воспроизводить конкретные значения будет ненадёжно, и что именно она перепутает, заранее неизвестно.
Меняющимся данным. Цены, остатки, статусы обновляются ежедневно. Переобучать модель под каждое изменение невозможно.
Проверяемым ответам. Если ответ должен опираться на конкретный документ, его надо взять из документа — и показать, откуда взято.
Для всех трёх случаев правильный уровень — второй: поиск по своим документам и подача найденного в контекст. Модель получает данные в момент запроса, они всегда актуальны, и видно, на чём основан ответ. Качество такого поиска можно поднимать отдельно — например, переранжированием результатов.
Сколько это на самом деле стоит
Считать надо три статьи, и самая крупная — не та, о которой думают.
Подготовка примеров. Сотни пар «вход — правильный выход», размеченных человеком, знающим предметную область. Это человеко-дни, а не машинное время, и это обычно самая дорогая часть. Плохо размеченные примеры дают модель, устойчиво воспроизводящую ваши ошибки.
Само обучение. Оплачивается по объёму. Предсказуемая и не самая крупная статья.
Обслуживание. Своя версия модели живёт отдельно: её нужно где-то держать, версионировать и переобучать при изменении требований. Плюс — она не обновляется вместе с базовой моделью, и через полгода новая обычная модель может обходить вашу дообученную.
Последнее стоит подчеркнуть. Модели обновляются часто, и сроки жизни версий ограничены. Дообученная версия привязывает вас к базовой модели, которая когда-нибудь уйдёт.
Сводка по уровням: первые два против третьего.
| Критерий | Промпт и данные в контексте | Дообучение |
|---|---|---|
| Что меняется | Текст запроса | Сама модель |
| Срок и цена | Час работы, дальше несколько дней | Недели и деньги |
| Сколько примеров нужно | Два-три в запросе | Сотни, размеченных вручную |
| Формат и стиль | Попадание не стопроцентное | Устойчивый результат на сотнях примеров |
| Факты и меняющиеся данные | Подаются в момент запроса, всегда актуальны | Усваиваются ненадёжно |
| Входные токены | Правила уходят при каждом обращении | Усвоены, в запрос не передаются |
| Обслуживание | Своей версии нет | Держать, версионировать, переобучать |
Как понять, что промпт исчерпан
Проверка перед тем, как двигаться дальше, — занимает вечер и часто закрывает вопрос.
- Есть ли в промпте пример? Не описание формата, а заполненный образец. Если нет — вы ещё не начали.
- Примеров хотя бы два-три? Один показывает форму, несколько показывают разброс.
- Есть ли противоречия в инструкциях? Выпишите требования списком и перечитайте — как устроен рабочий системный промпт.
- Даёте ли вы модели нужные данные? Если она угадывает то, что можно было показать, проблема не в обучении.
- Пробовали ли другую модель? Разброс внутри линейки часто больше, чем ожидается — как сравнивать по делу.
Если после всех пяти шагов результат стабильно не дотягивает и вы понимаете, что именно не дотягивает, — вот тогда разговор о дообучении осмысленный.
Признаки, что дообучение действительно нужно
Четыре условия. Нужны все, а не одно.
Задача узкая и повторяющаяся. Один тип входа, один тип выхода, тысячи однотипных вызовов.
Примеров много и они уже есть. Не «мы соберём», а «у нас есть история за два года с проверенными ответами».
Промпт с примерами упирается в потолок. Вы измерили долю правильных ответов и видите, что она не растёт.
Объём оправдывает вложения. Разовая задача не окупит человеко-дни на разметку никогда.
Если хотя бы одно условие не выполняется, дообучение окажется дороже пользы. Это не осторожность, а арифметика: самая дорогая статья здесь — человеческий труд на подготовку данных, и он тратится до того, как станет ясно, помогло ли.
Почему второй уровень недооценивают
Стоит объяснить, откуда берётся тяга сразу к дообучению, минуя подачу данных в контекст.
Причина в формулировке задачи. «Модель не знает нашей предметной области» звучит как проблема обучения — значит надо доучить. На деле почти всегда имеется в виду другое: модель не знает конкретных фактов — цен, условий, регламентов, истории клиента. А факты в модель не закладывают, факты подают.
Второе обстоятельство — кажущаяся сложность. Дообучение выглядит как разовая операция: отдал данные, получил модель. Поиск по своим документам выглядит как система, которую надо построить и поддерживать. Психологически первое проще, хотя по трудозатратам обычно наоборот.
Третье — иллюзия, что дообученная модель «будет знать всё сразу и отвечать быстрее». На практике она отвечает так же, но при этом не может сослаться на источник, не обновляется вместе с вашими данными и стареет вместе с базовой моделью.
Практический признак, по которому легко себя проверить: если правильный ответ на вопрос пользователя лежит в каком-то вашем документе, вам нужен поиск, а не обучение. Если правильный ответ нигде не записан, а определяется манерой и форматом, которые вы можете показать сотнями примеров, — тогда обучение.
Этот вопрос стоит задать себе до того, как начнётся разметка данных. Она самая дорогая часть, и переигрывать после неё обиднее всего.
Чего мы не утверждаем
Мы не предлагаем дообучение. Каталог KeyDealer даёт доступ к готовым моделям через API; обучения своих версий у нас нет, и эта статья — не подводка к услуге.
Не даём цен на обучение. Они зависят от площадки, модели и объёма данных.
Не советуем конкретный метод. Подходов несколько, и выбор зависит от задачи и доступной инфраструктуры.
Не утверждаем, что дообучение бесполезно. Оно решает свою задачу хорошо — просто эта задача уже другая, чем у большинства спрашивающих.
Что держать в голове
Между промптом и дообучением есть уровень, который закрывает большую часть случаев: подача своих данных в контекст. Он дешевле, быстрее и, в отличие от дообучения, даёт актуальные и проверяемые ответы.
Дообучение — про форму, а не про знания. Если вам нужно, чтобы модель что-то знала, дообучение — неправильный инструмент, каким бы правильным он ни казался.
Как мы проверяем факты и что храним из запросов — на странице о проекте и в llms.txt. Проверить, хватает ли промпта, можно по ключу за вечер: keydealer.ru/login.
Частые вопросы
Что такое дообучение модели?
Дополнительное обучение готовой модели на своих примерах, чтобы она усвоила формат, стиль или специфику задачи. Отличается от промпта тем, что меняет саму модель, а не текст запроса.
Когда нужно дообучение, а когда достаточно промпта?
Промпта достаточно, пока задача описывается правилами и парой примеров. Дообучение имеет смысл, когда примеров нужны сотни и они не помещаются в контекст.
Научит ли дообучение модель новым фактам?
Плохо и ненадёжно. Для фактов нужен поиск по своим данным и подача найденного в контекст, а не дообучение.
Сколько стоит дообучение?
Складывается из подготовки размеченных примеров, самого обучения и последующего обслуживания своей версии. Дороже всего обычно первый пункт — он измеряется в человеко-днях.
Есть ли дообучение в каталоге KeyDealer?
Нет. Каталог даёт доступ к готовым моделям через API; обучения своих версий мы не предлагаем.