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