Усі уроки · 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». З якого класу моделей розумно почати?
Чому підхід «спершу флагманська модель, потім перехід на простішу» працює краще, ніж навпаки?
Яку проблему розв’язує схема з маршрутизатором?