Как читать бенчмарки AI-моделей и не вестись на маркетинг
Красивый график - это аргумент, а не доказательство
Как читать бенчмарки и лидерборды AI-моделей: почему цифры врут (натаскивание под тест, удобные метрики, утечка теста в обучение) и как честно сравнивать модели на своих задачах.
Что такое бенчмарк и лидерборд простыми словами
Вышла новая модель. И в ленту тут же прилетает один и тот же слайд: столбики, где новенькая на пару процентов выше всех. Выглядит как наука. А по сути - та самая реклама зубной пасты с «9 из 10 стоматологов рекомендуют». Кого спрашивали, как считали? В кадр не попало.
Бенчмарк Бенчмарк (benchmark) - стандартный набор задач, на котором проверяют модель, чтобы получить одну сравнимую цифру-оценку. Например, набор задач по математике или по коду. - это просто экзамен для модели. Берут готовый набор задач: математика, код, логика. Прогоняют модель, считают, сколько решено. Получается одна цифра. А лидерборд Лидерборд (leaderboard) - публичная таблица-рейтинг, где модели отсортированы по их оценкам на одном или нескольких бенчмарках. - это таблица рекордов: модели выстроены по этой цифре сверху вниз.
Подвох вот в чём. Экзамен можно сдать, ничего толком не зная. Если заранее видел ответы. Или если экзамен проверяет совсем не то, что нужно тебе.
Зачем вайбкодеру разбираться в бенчмарках
Ты вайбкодер. «Лучшая модель в мире» тебе и не нужна. Тебе нужна та, что хорошо делает твою конкретную работу: пишет код на твоём стеке, не врёт в фактах, держит твой язык. А это далеко не всегда та, что висит на вершине таблицы.
- Перестанешь прыгать с модели на модель каждый раз, когда выходит «убийца всех остальных».
- Научишься отделять реальный скачок от косметической прибавки в пару процентов.
- Сэкономишь деньги: дорогая топовая модель часто не нужна под твою задачу, а голая цифра балла этого не покажет.
- Сможешь спорить с маркетингом аргументами, а не ощущением «вроде хайп большой».
Одну и ту же модель разные люди намеряли заметно по-разному - просто потому что чуть иначе задали вопрос или иначе посчитали. Если цифру так легко сдвинуть, то разница в два пункта между двумя моделями - это шум, а не победа.
Как графики моделей вводят в заблуждение
Не обязательно тут кто-то злодей. Чаще это просто удобные продавцу искажения. Каждое по отдельности почти честное, а вместе они лепят красивую картинку. Вот четыре главных.
1. Натаскивание под тест и закон Гудхарта
Самое частое. Есть закон Гудхарта Закон Гудхарта - правило: когда показатель превращается в цель, он перестаёт быть хорошим показателем. Сформулирован британским экономистом Чарльзом Гудхартом во второй половине XX века. : «когда показатель становится целью, он перестаёт быть хорошим показателем».
Перевод на человеческий. Как только все начинают драться за высокий балл на конкретном экзамене, они начинают тренироваться под этот экзамен, а не учиться по-настоящему. В школе это звалось «зубрить ответы вместо темы». С моделями всё то же самое: разработчики видят, какие задачи в популярном бенчмарке, и подкручивают модель так, чтобы она их щёлкала. Балл растёт. А реальная польза - не факт.
2. Утечка теста в обучение (контаминация данных)
Представь: студенту перед экзаменом случайно выдали сам экзамен. С ответами. Пятёрку он получит, но знает ли предмет?
Модели учат на гигантских кусках интернета. А популярные бенчмарки тоже лежат в интернете. И что в итоге? Задачи из экзамена нередко попадают в обучающие данные - это и есть контаминация Контаминация (data contamination) - загрязнение: ситуация, когда задачи и ответы из тестового бенчмарка случайно или намеренно попали в данные, на которых обучали модель. Балл взлетает, а реальное умение - нет. . Из-за неё балл бывает ощутимо завышен: модель не решает задачу, а вспоминает ответ.
3. Выбор удобной метрики и обрезанная ось
Один и тот же результат можно подать десятком способов. Покажи тот график, где выигрываешь, - а про остальные просто промолчи.
- Усреднить так, чтобы сильная сторона перевесила слабые.
- Сравниться с устаревшей версией конкурента, а не с актуальной.
- Выбрать бенчмарк, который случайно совпал с тем, под что ты и тренировался.
- Обрезать ось графика снизу, чтобы разница в 2% выглядела как пропасть.
- Модель в принципе умеет решать задачи такого типа: код, математика, перевод.
- Грубый порядок: уровень школьника или уровень эксперта.
- Направление прогресса: новое поколение в целом сильнее старого.
- Как она работает на твоих задачах и твоём языке.
- Сколько стоит и как быстро отвечает - в цифре балла этого нет.
- Не натаскана ли она именно под этот экзамен.
- Стабильна ли: один блестящий ответ или десять из десяти.
4. Народные лидерборды тоже можно подкрутить
Кажется, уж народное голосование точно честное: люди вслепую сравнивают ответы двух моделей и выбирают лучший. Но и тут всплывали истории. Отдельным крупным лабораториям де-факто позволяли тихо прогонять много вариантов модели и публиковать только лучший, пряча неудачные прогоны. Площадки такие обвинения обычно отрицают. Но урок остаётся: даже «объективный рейтинг» можно подкрутить, если очень хочется.
Как честно сравнивать модели на своих задачах
Хорошая новость: чужие графики тебе не нужны. У тебя есть кое-что честнее - твои собственные задачи.
Собери свой мини-бенчмарк
Собери 5-10 задач, которые реально встречаются в твоей работе, и прогоняй через них каждую новую модель. Это твой личный экзамен. Тот, что никто не видел и под который никто не натаскивался.
- Возьми 5-10 настоящих задач из своей работы: кусок кода для рефакторинга, текст для переписывания, каверзный вопрос по твоей теме.
- Для каждой заранее запиши, какой ответ ты считаешь хорошим. Это твой эталон.
- Дай ровно один и тот же запрос каждой модели, которую сравниваешь. Не меняй формулировку между моделями.
- Оцени ответы по понятным тебе критериям: верно по сути, держит формат, не выдумывает фактов, на нужном языке.
- Прогони каждую задачу пару раз - модель отвечает не одинаково. Тебе нужна стабильность, а не один счастливый случай.
- Сложи результаты. Победитель на твоих задачах важнее любого места в чужой таблице.
Слепое сравнение моделей: спрячь имена
Главная ловушка - бренд в голове. Знаешь, что читаешь ответ дорогой модной модели, - и подсознательно ищешь в нём гениальность. Так что суди вслепую. Спрячь имена.
Частые ошибки при чтении бенчмарков
- Верить разнице в пару процентов. 87 против 85 - это почти наверняка шум, а не «новый король». Реальный скачок виден сразу, и он большой.
- Брать топ таблицы без оглядки на цену и скорость. Самая умная модель часто медленная и дорогая. Под твою задачу может хватить той, что в середине списка.
- Сравнивать модель с устаревшим конкурентом. Сверяйся с актуальными версиями, а не с теми, что были в графике полгода назад.
- Тестировать на игрушечных примерах. «Сколько букв р в слове» - не твоя задача. Проверяй на том, что реально делаешь.
- Менять формулировку между моделями. Чтобы сравнение было честным, запрос должен быть байт в байт одинаковым для всех.
- Судить, зная бренд. Имя модели в голове искажает оценку. Прячь подписи и суди по ответу, а не по логотипу.
TL;DR - если коротко
- Бенчмарк - это стандартный экзамен для модели: набор задач и одна цифра-оценка. Лидерборд - таблица, кто набрал больше.
- Одну модель легко намерить по-разному: чуть иначе спросил или посчитал - и цифра поехала. Разница в пару пунктов - почти всегда шум, а не победа.
- Главная ловушка -
закон Гудхарта : как только за оценку начинают бороться, под неё начинают натаскивать. - Утечка теста в обучение (контаминация) и выбор удобной метрики - два способа нарисовать красивый график, ничего не доказав.
- Даже народные рейтинги не святые: правила тихо подкручивают под фаворитов, так что слепо верить таблице нельзя.
- Честный тест один - твои собственные задачи и слепое сравнение: смотри на ответ, не зная имени модели.