Модель с лучшим местом в публичном рейтинге может проиграть более дешёвой модели именно на вашей задаче. Причина простая: так устроены бенчмарки.
Почему публичный рейтинг не про вас
Публичные тесты меряют общие способности: математику, код на типовых задачах, знание фактов. Ваша задача обычно намного уже и специфичнее: разбор конкретного формата документов, классификация по вашим категориям, генерация текста в вашем тоне.
Есть и вторая причина не доверять таблице целиком. Популярные наборы данных давно у всех на виду, и есть подозрение, что часть их содержимого просачивается в обучающие данные новых моделей. Модель может "помнить" ответ, а не решать задачу заново.
Третья причина, самая простая: рейтинг усредняет по тысячам разных запросов. Ваша задача, это один конкретный тип запроса, повторяющийся тысячи раз в продакшене. Средний балл по чужим задачам ничего не говорит про эту одну.
Что такое оценка на своих задачах
Идея простая: берёте штук двадцать-тридцать реальных примеров из своего продукта, для каждого фиксируете правильный или приемлемый ответ, прогоняете через несколько моделей и сравниваете по одной метрике.
Это не научная лаборатория. Это быстрая проверка, которая отвечает на один вопрос: какая модель и какой промпт дают лучший результат именно на моих данных за мои деньги.
Двадцать минут на первый набор
Шаг первый, пять минут: соберите двадцать реальных запросов, которые уже приходили в продукт, или напишите похожие. Не выдумывайте синтетику, берите настоящие формулировки пользователей.
Шаг второй, пять минут: для каждого запроса запишите, что считается хорошим ответом. Можно просто на словах: "должен назвать сумму и дату", "не должен придумывать несуществующий товар". Формальные метрики появятся позже, для старта хватит короткого критерия.
Шаг третий, пять минут: напишите маленький скрипт, который прогоняет все двадцать запросов через API с одним и тем же промптом и сохраняет ответы в файл. Псевдокод:
for item in dataset:
response = call_model(model_id, item.prompt)
save(item.id, model_id, response, tokens_used, latency)
Шаг четвёртый, пять минут: прогоните тот же набор на второй модели, той, что дешевле, и на третьей, если есть кандидат. Сравните ответы рядом, вручную отметьте, где ответ приемлем, а где нет.
Как считать результат, а не гадать на глаз
Даже грубая метрика лучше впечатления. Простейшая: доля примеров, где ответ прошёл ваш критерий. Двадцать примеров, пятнадцать прошли, значит 75%.
Дальше добавьте вторую цифру, цену. Разделите общую стоимость прогона на количество примеров, получите цену за ответ. Теперь можно сравнивать не "какая модель умнее", а "какая модель даёт нужное качество за меньшие деньги". Часто выигрывает не флагман, а модель на ступень ниже с чуть более длинным промптом.
Если задача критична к ошибкам, добавьте третью метрику: долю случаев, где модель не слегка ошиблась, а уверенно соврала. Такие случаи стоят дороже обычной неточности.
Частые ошибки в самодельных тестах
Слишком маленький набор, три-пять примеров, даёт случайный результат: модель может повезти или не повезти на конкретных формулировках. Двадцать это разумный минимум, тридцать-пятьдесят надёжнее.
Тестирование на выдуманных примерах вместо реальных запросов пользователей, частая ловушка. Синтетика часто проще настоящих формулировок, и оценка получается завышенной.
Сравнение моделей на разных промптах, ещё одна ловушка. Если под каждую модель писать свой промпт, непонятно, что вы на самом деле сравниваете: модели или качество промпт-инжиниринга.
Когда пересматривать оценку
Набор не статичен. Обновляйте его, когда меняется формат данных на входе, когда появляется новый класс запросов от пользователей, и когда выходит новая версия модели, которую вы уже используете. Старая оценка на новой версии модели может врать в обе стороны.
Держите набор примеров и логи ответов рядом с кодом проекта, а не в личных заметках. Через полгода это будет единственный способ объяснить, почему выбрана именно эта модель.
Коротко
Публичный рейтинг говорит про среднюю задачу в среднем мире. Ваша оценка на двадцати реальных примерах с прикинутой ценой за ответ говорит про вашу задачу и ваш бюджет. Двадцать минут работы дают ответ, который таблица лидеров дать не может.