Когда все цифры врут, а рейтинги противоречат друг другу
Открываешь Hugging Face Open LLM Leaderboard - там лидирует одна модель. Заходишь на Chatbot Arena - совершенно другой чемпион. Читаешь Reddit - энтузиасты хвалят третью, о которой в официальных рейтингах даже не упоминают. Где правда?
Проблема не в том, что моделей стало слишком много. Проблема в том, что мы до сих пор не придумали, как их нормально сравнивать. Каждый бенчмарк измеряет что-то свое, каждая метрика оптимизирована под конкретный сценарий. А вам нужно выбрать модель для реальной работы.
Самый опасный миф: модель с высоким MMLU score автоматически лучше справляется с вашими задачами. На практике я видел модели с 80+ баллами по MMLU, которые не могли написать простой SQL-запрос. И наоборот - модели с 65 баллами решали сложные логические задачи.
Бенчмарки, которые все используют (и почему они все сломаны)
1 MMLU: тест знаний, который превратился в игру в угадайку
Massive Multitask Language Understanding - золотой стандарт. 57 задач из разных областей: история, математика, право, медицина. Звучит идеально, правда?
А теперь реальность. MMLU измеряет, насколько хорошо модель запомнила факты из обучающих данных. Не понимание, не рассуждение - именно запоминание. Модели научились "настраиваться" на формат вопросов MMLU. Они не становятся умнее - они просто лучше играют в эту конкретную игру.
# Типичный вопрос MMLU - модель видела подобное 1000 раз
question = "Какая из этих стран не входит в G7?"
options = ["Франция", "Италия", "Россия", "Канада"]
# Модель не "думает", она вспоминает шаблон
2 Chatbot Arena: когда 100 000 пользователей голосуют ногами
LMSys Chatbot Arena - это дико, хаотично и невероятно полезно. Пользователи сравнивают ответы двух моделей вслепую, выбирают лучший. Никаких заранее подготовленных вопросов, никаких "правильных" ответов. Только человеческое предпочтение.
Почему это работает? Потому что измеряется то, что действительно важно - качество ответа с точки зрения человека. Не баллы, не проценты, не accuracy. Просто "этот ответ лучше".
| Что измеряет Arena | Что НЕ измеряет | Когда использовать |
|---|---|---|
| Качество ответов для обычных пользователей | Специализированные знания (код, наука) | Выбор модели для чат-бота или ассистента |
| Стиль и естественность ответов | Точность фактов (нет проверки экспертами) | Когда важна "человечность" ответов |
| Практическую полезность в диалоге | Производительность (скорость, память) | Для конечных пользователей, не разработчиков |
Но есть нюанс. Chatbot Arena перекошен в сторону английского языка и западного культурного контекста. Модели, которые хорошо работают с русским или китайским, могут проигрывать в рейтинге.
3 Hugging Face Open LLM Leaderboard: кухонный комбайн метрик
HF берет 4 бенчмарка (ARC, HellaSwag, MMLU, TruthfulQA) и выдает средний балл. Удобно? Да. Точно? Не совсем.
Проблема в агрегации. Модель может быть отстой в логике (низкий ARC), но отлично запоминать факты (высокий MMLU). В среднем получается "нормально". Вы покупаете такую модель для логических задач - и получаете кота в мешке.
# Пример того, как средний балл скрывает слабые места
model_scores = {
"MMLU": 85, # Отлично!
"ARC": 45, # Ужасно!
"HellaSwag": 78,
"TruthfulQA": 82
}
average = (85 + 45 + 78 + 82) / 4 # 72.5 - "хорошая модель"
# Но для логических задач она бесполезна
Специализированные бенчмарки: когда нужен скальпель, а не кувалда
Если вы выбираете модель для конкретной задачи - ищите специализированные тесты. Общие бенчмарки здесь почти бесполезны.
Для программирования: HumanEval и SWE-bench
HumanEval проверяет, может ли модель написать работающую функцию по описанию. Просто, понятно, эффективно. Но есть проблема - модели научились "решать" HumanEval. Они видели эти задачи в обучающих данных.
SWE-bench сложнее. Нужно не просто написать код, а исправить реальную ошибку в open-source проекте. Это ближе к реальной работе разработчика. Кстати, про то, как модели обманывают SWE-bench, у нас есть отдельная статья.
Для творчества: собственные тесты
Здесь стандартных бенчмарков почти нет. Придется тестировать самому. Возьмите нашу коллекцию промптов для тестирования - там есть разделы для креативности, генерации историй, нестандартных задач.
Самый важный тест для творческих задач: дайте одной и той же модели один и тот же промпт 5 раз. Если все 5 ответов почти одинаковые - модель не творческая, она просто генерирует шаблоны.
Метрики, которые все игнорируют (а зря)
Скорость генерации токенов
MMLU показывает 85? Отлично. А сколько времени модель тратит на генерацию ответа? В production это важнее, чем лишние 5 баллов в тесте.
Особенно для локальных моделей. Если вы запускаете LLM на своем железе, посмотрите наш обзор фреймворков для локального запуска - там есть сравнение производительности.
Потребление памяти
Модель на 70 миллиардов параметров может быть лучше, чем на 7 миллиардов. Но если она не влезает в вашу видеокарту - какая разница?
Контекстное окно и его реальное использование
Все пишут "контекст 128к токенов". А на практике модель "забывает" то, что было в начале контекста уже после 4к токенов. Проверяйте не заявленные цифры, а реальную работу с длинными текстами.
Практический план: как выбрать модель, которая не разочарует
1 Определите, что для вас важно
- Знания или рассуждения? Если знания - смотрите MMLU. Если рассуждения - ARC и собственные логические тесты.
- Креативность или точность? Для маркетинговых текстов нужна первое, для юридических документов - второе.
- Скорость или качество? В реальном чате пользователь не будет ждать 30 секунд на ответ.
2 Соберите короткий список из 3-5 моделей
Не пытайтесь протестировать все. Возьмите:
- Лидера Chatbot Arena (для общего качества)
- Лидера по вашей специализации (кодирование, математика и т.д.)
- Модель из итогов года от энтузиастов - там часто появляются темные лошадки
- Модель, которая хорошо работает на вашем железе
3 Проведите собственный тест на 10-20 реальных задачах
Возьмите реальные задачи из вашей работы. Не абстрактные "напиши эссе о котиках", а конкретные промпты, которые вы будете использовать.
# Пример реального теста для модели, которая будет помогать с кодом
real_tasks = [
"Напиши функцию на Python, которая находит дубликаты в списке",
"Объясни, почему этот код падает с ошибкой Segmentation fault",
"Переведи этот SQL-запрос с JOIN в запрос с подзапросами",
"Напиши регулярное выражение для валидации email",
"Оптимизируй этот pandas код для работы с большими данными"
]
4 Проверьте "слабые места"
Каждая модель где-то проседает. Найдите эти места:
- Дайте задачу с подвохом (логическую ловушку)
- Проверьте работу с длинным контекстом (вставьте документ на 10к токенов и задайте вопрос по началу)
- Проверьте устойчивость к adversarial промптам (попробуйте "сломать" модель)
Типичные ошибки при выборе LLM
Ошибка 1: Выбор самой "умной" модели по MMLU для простых задач. Платите за мощность, которая никогда не понадобится.
Ошибка 2: Игнорирование аппаратных требований. Купили модель на 70B параметров, а она работает со скоростью 1 токен в секунду.
Ошибка 3: Доверие только одному источнику. Chatbot Arena показывает одно, но ваши пользователи говорят другое. Слушайте пользователей.
Что будет дальше? (Спойлер: станет еще сложнее)
Модели становятся умнее в обмане бенчмарков. Уже сейчас есть techniques, которые специально оптимизируют модель под высокие баллы в MMLU, не улучшая реальные способности.
Будущее - за комбинированными оценками. Не один балл, а профиль модели: "сильна в логике, слаба в творчестве, отлично работает с кодом, требует много памяти".
И главное - все больше людей понимают, что LLM - не серебряная пуля. Нет идеальной модели для всех задач. Есть правильная модель для вашей конкретной задачи.
Выбирайте не чемпиона мира. Выбирайте специалиста для своей работы.