Все уроки · 44
Как выбрать подходящую модель
Возможности, цена, скорость и размер контекста: как найти баланс. Практический чек-лист выбора модели и случаи, когда достаточно небольшой недорогой модели.
Четыре параметра
Почему это важно? Потому что «просто взять лучшую модель» — самый частый способ зря потратить деньги, а «просто взять самую дешёвую» — самый частый способ выпустить функцию, которая почти работает. Десять минут, потраченные на этот урок, избавят вас от обеих ошибок.
Выбор модели всегда сводится к балансу четырёх параметров:
- Возможности — справится ли модель с задачей вообще и насколько хорошо.
- Стоимость — во сколько обойдётся миллион запросов.
- Скорость — сколько пользователь ждёт первый токен. Это называется задержкой (latency), а на практике люди ощущают именно время до первого токена: то, как скоро на экране появляются первые слова.
- Размер контекста — сколько текста помещается в один запрос. (Окно контекста — это рабочая память модели на один запрос; её измеряют в токенах, то есть в фрагментах текста длиной около 3–4 символов.)
Новички попадают в одну и ту же ловушку: оптимизируют один параметр и забывают об остальных. Самая сильная модель нередко в 10 раз дороже и в 3 раза медленнее той, которая справится с задачей на 95% так же хорошо. Для большинства продуктов разница в 5% качества пользователям незаметна, а вот разница в стоимости и задержке бьёт и по бюджету, и по удобству работы.
Флагманские модели и «рабочие лошадки»
Почти все провайдеры сегодня делят линейку моделей на два уровня, и эти названия стоит запомнить:
- Флагманские модели (их часто называют английским словом frontier) — самые умные, самые медленные и самые дорогие. К ним относятся Claude Opus, модели уровня GPT-4, старшие версии Gemini. Используйте их для сложных рассуждений, нетривиального кода и многошагового планирования — для задач, где ошибка обходится дорого.
- «Рабочие лошадки» (workhorse; их ещё называют «mini» или «flash») — модели поменьше, намного дешевле и в несколько раз быстрее. Классификация (разнесение по категориям), извлечение данных (получение структурированных полей из текста), краткое изложение, простое переписывание текста, чат — на такие задачи приходится 80% реального трафика в рабочих системах.
Удобная аналогия: флагманская модель — это старший инженер, которого подключают, когда задача сложная, а небольшие модели — команда, которая каждый день разбирает обычную очередь задач. Платить старшему инженеру за то, чтобы он целыми днями сортировал заявки, никто не станет.
Для ориентира: небольшие модели часто стоят порядка десятков центов за миллион входных токенов, а флагманские могут быть в 10–30 раз дороже. С задержкой то же самое: у флагманских моделей она больше.
Названия и цены быстро устаревают
Названия моделей и диапазоны цен здесь приведены как примеры: они меняются каждые несколько месяцев. Чек-лист ниже не устареет; а вот какие именно модели в него подставлять, придётся каждый раз выяснять заново по актуальным данным.
Чек-лист выбора модели
Задавайте эти вопросы про каждую новую функцию по порядку:
- Какая именно задача? Краткое изложение, классификация по 5 категориям, ответы на вопросы по документам или тексты для пользователей? Чем уже задача, тем меньшую модель вы можете себе позволить.
- Сколько стоит ошибка? Неудачная рекомендация фильма — пустяк. Неверный ответ медицинского ассистента — судебный иск. Чем дороже ошибка, тем весомее довод в пользу флагманской модели.
- Сколько контекста нужно задаче? Посчитайте токены точно: системный промпт + документы + история диалога + ожидаемый ответ. Если выходит 200 тыс. токенов, нужна модель с длинным контекстом. Если 2 тыс. — подойдёт почти любая.
- Какая задержка допустима? Чату нужно, чтобы первое слово появлялось заметно быстрее чем за секунду, — иначе пользователь успеет заметить паузу. Ночной пакетной обработке — программе, которая всю ночь перемалывает груду заданий, пока никто не смотрит на индикатор загрузки, — скорость безразлична.
- Каков объём? 100 запросов в день: берите что угодно, счёт всё равно будет копеечным. 10 миллионов запросов в день: цена за токен становится бизнес-решением.
Когда достаточно небольшой недорогой модели
Небольшие модели на удивление хорошо справляются с узкими задачами. Используйте их, когда:
- Ответ структурирован: извлечение данных, классификация, JSON (текстовый формат, который читает программа) заданной формы.
- Задача повторяется: одно и то же преобразование применяется ко множеству входных данных.
- Результат можно дёшево проверить: регулярным выражением (проверкой по шаблону, например «похоже ли это на номер заказа»), по схеме или человеком, который в любом случае участвует в процессе.
- Промпт без труда помещается в небольшое окно контекста.
Классическая схема: небольшая модель обрабатывает 95% запросов, а трудные и неоднозначные случаи передаёт флагманской. Такую схему называют маршрутизатором (router): дешёвая модель решает, «справлюсь ли я сама?», и только сложные случаи уходят «наверх». Это может сократить счета за LLM на порядок и почти не повлиять на качество.
Когда стоит платить за флагманскую модель
- Открытые задачи, где нужно рассуждать и планировать, особенно в несколько шагов.
- Генерация кода, когда важна корректность.
- Длинные сложные документы, где нельзя упустить ни одной детали.
- Пока непонятно, насколько задача сложная: сделайте прототип на флагманской модели, а потом пробуйте перейти на модель попроще. В работающем прототипе это гораздо легче, чем усилить модель в сломанном.
Попробуйте: выбор модели шаг за шагом
Одним предложением: «Извлечь номер заказа и дату из писем в поддержку».
Если не получается уложиться в одно предложение, выбирать модель пока рано.
Проверьте себя
Задача: «каждую ночь разбирать 500 писем в поддержку и помечать каждое как billing, bug или other». С какого класса моделей разумно начать?
Почему подход «сначала флагманская модель, потом переход на более простую» работает лучше обратного?
Какую проблему решает схема с маршрутизатором?