Здарова, хабровчане! На связе лаборатория Вихрей, сегодня мы расскажем про наш бенчмарк, Шлёпа — большой русский бенчмарк.
Что есть сейчас для оценки русскоязычных LLM
Mera — бенчмарк от Альянса искусственного интеллекта, использует тесты и генерацию, сабмит через сайт, сайт почти не обновлялся с зимы. Почитать про него можно тут
Проверьте, сбалансирована ли входная последовательность скобок. "{inputs}" Выведите 1, если да и 0 в противном случае. Всего есть три вида скобок: круглые (), квадратные [], фигурные {}. Виды скобок не взаимозаменяемые. Это значит, что квадратная закрывающая скобка не закрывает круглую открывающую. | [ ( ) { { } ( ) [ ] } ] |
Давайте кратко разберемся как можно измерить хорошесть генеративной модели, есть две больше школы: Тестики с вариантами ответа и Генерация.
Если с тестиками все очевидно, то с генерацией менее очевидно, что мерить? Пересечение Ngram как для перевода? Но в случае с генерацией могут быть разные ответы на один и тот вопрос, а в случае если модель будет отвечать хоть чуть чуть не так - мы сразу улетим в нули.
В итоге генеративные бенчмарки у очень богатых ребят пришли к human eval - концепция которую можно описать так: ” ну давайте у нас 10 людей оценят один и тот же ответ и мы усредним оценку”, а если оценить все равно не получается и интервал слишком большой(ну например не очевидно ответ плохой или нет) то можно выкинуть такую пару.
Проблемы начинаются как всегда при масштабировании - когда у тебя есть 500 сотрудников на зарплате то::
а) можно заставлять соблюдать 10 страничный гайдлайн хорошести ответов и как правильно оценивать edge case_ы
б) мы точно знаем по какому объявлению их набирали->знаем что они более менее в курсе чем мы тут занимаемся
НО возникает проблема когда нам надо оценить не одну модель, а например штук 20. При этом нам желательно не просто сравнить их ответы, а сравнить всех со всеми, те по минимальной оценке 500 генераций на модель нам надо сравнить 20*20*500 штук.
Короче говоря очень и очень много,, но тут на помощь приходят шахматный рейтиг!
ELO rating
ELO рейтинг — это, как ни странно, не про шахматы, а про универсальную систему оценки, которая великолепно вписывается в задачу сравнительного анализа моделей. Представьте, у вас есть 20 моделей, и каждая генерирует по 500 ответов. Казалось бы, сумасшедший объем работы — 2020500 сравнений. Но тут мы вспоминаем про ELO. Вместо того, чтобы лоб в лоб сравнивать каждый ответ каждой модели, мы можем использовать рейтинговую систему, где модели «сражаются» друг с другом, а их рейтинги корректируются по результатам этих «матчей». Модели с более высокими рейтингами будут сталкиваться с более сильными соперниками, и, таким образом, у нас появляется возможность определить истинные силы каждой модели без необходимости сравнивать каждую пару ответов.
Как это работает?
Допустим, у нас есть 4 модели: A, B, C и D. Каждая из них уже сгенерировала по 500 ответов, и теперь наша задача — определить, какая модель лучше других, используя ELO рейтинг. Начинаем с того, что даем всем моделям одинаковый стартовый рейтинг, скажем, 1500.
Теперь моделям предстоит «сразиться» друг с другом. Например, модель A сравнивается с моделью B. Если ответы модели A оказались лучше, она получает «победные» очки, а рейтинг модели B снижается. Затем модель A встречается с моделью C, и, допустим, C выигрывает — теперь рейтинг C повышается, а A немного теряет.
Процесс повторяется для всех пар: A vs D, B vs C, и так далее.
После всех этих сравнений рейтинги моделей начнут отличаться. Например, если A стабильно побеждает других, её рейтинг поднимется выше остальных. Если же D чаще проигрывает, её рейтинг опустится. ELO не просто считает победы, но учитывает "вес" каждого соперника.
Неожиданный выигрыш слабой модели над сильной приносит ей больше очков, чем предсказуемая победа. Это позволяет системе быстро адаптироваться к реальной производительности моделей и точно отражать относительную разницу в их силе.
Таким образом, без необходимости сравнивать каждую пару ответов, мы динамически оцениваем силу каждой модели, используя простую и понятную систему ранжирования.
Собственно в чем проблема с humaneval - humanы довольно плохо сравнивают почти одинаковые тексты и склонные не вникать глубоко в тексты. Короче прочитать по диагонали по кейвордам и потом понять хорошо ли все или плохо это рабочая схема, таким образом например у llama3 был очень высокий разброс в первые недели + нельзя валидировать сложность запросов, т.е. условно цена выигрыша на запросе с написанием кода будет равна цене выигрыша на запросе с “привет как дела”. Есть конечно всякие способы фильтрации сложных промптов и так далее, но если у вас нет 10ков миллионов запросов - может произойти ситуаиция как у коллег из llmarena.ru
Собственно поэтому в первые недели после выхода llama3 была значительно лучшем чем старые модели. Потом подтянулись эксперты и задушили рейтинг.
Также большой проблемой является количество голосов. Если совсем коротко то для того чтобы бенчмарк был достоверен тебе нужно чтобы на каждой модели были десятки тысяч очень разных промптов, тем самым плохие оценки асессоров(человеку может что то привидится, показатся или просто посмешить неправильная генерация ) и так может выяснится что ваша 7b opensource модель будет лучше чем gpt4… Что произошло с русским аналогом арены: https://llmarena.ru/
Собственно с оффлайн оценкой LLM без людей, но с ЕЛО ребята из LMSYS стали заниматься примерно одновременно с ареной на людях. В общем то оффлайн оценка на людях всегда привлекательнее чем онлайн, можно валидировать очень много чекпоинтов.
Я не хочу вдаваться в подробности оценки, но суть методов примерно такая:
Мы можем определить набор правил оценки от 1-10 и давать большой модели оценить (mt bench)
Мы можем сравнить два варианта и выбрать из них лучший(arena hard, так работает наш бенчмарк)
разные комбинации этих двух вариантов + контроль длины(так лучше работает)
Все эти варианты требуют LLM as judge cхемы, проще говоря мы даем более умной llm_ке оценить хорошесть генераций и выбрать одну из.
MT-bench получает 1 ответ и оценивает его по нескольким критериям, такими как релевантность, детальность и т.д., на основе чего ответ модели получает оценку от 1 до 10
Arena Hard Auto
Arena Hard Auto - содержит в себе всё тот же SBS(side by side) в основе, но с улучшениями:
При сравнениях ответов учитываются 3 основных случая: >> (сильно лучше), > (просто лучше) и = (примерно одинаково), за случаи когда один ответ сильно лучше другого вес вердикта увеличивается в 3 раза
Для удаления позиционного биаса в промпте судьи, каждое сравнение делается 2 раза (ответы моделей переставляются местами в промпте)
Бутстрапирование результатов сравнений для получения доверительных интервалов Использование системы ELO рангов и предсказания винрейта с помощью Bradley–Terry модели
Shlepa Small - выборный русский бенчмарк
Так как мы в вихре строим РУССКИЕ модели нам важно чтобы модель: знала культуру, литературу, умела это из себя вытащить хотя бы в multichoice setup.
Первое с чего мы начали - стали думать а как вообще определить что вообще у нас модель знает.
Простой ответ: давайте смотреть на культуру и знания о популярной культуре!
Laws of the Russian Federation (lawmc)
Описание: Этот датасет фокусируется на вопросах, связанных с законами Российской Федерации. Включает как общие вопросы, так и более специфические, требующие глубокого понимания юридических текстов.
Формат: Задачи представлены в виде многовариантного выбора, что позволяет оценить знание правовой системы РФ.
Источник: Основой для вопросов послужили открытые юридические базы данных и законодательные акты.
Цель: Проверка способности модели к пониманию и применению юридических норм, специфичных для России.
Popular music (musicmc)
Описание: Датасет включает вопросы, связанные с популярной музыкой, в частности, русскими исполнителями и песнями. Задачи могут касаться как авторства песен, так и распознавания текстов или контекста.
Формат: Многовариантный выбор с 12 вариантами ответа.
Источник: Genius и другие музыкальные базы данных.
Цель: Оценить знание моделей в области русской музыки и их способность к распознаванию культурных контекстов.
Books (bookmc)
Описание: Этот датасет фокусируется на литературных произведениях, авторстве и сюжетных линиях, особенно в русскоязычной литературе.
Формат: Многовариантный выбор с 12 вариантами ответа.
Источник: Платформа “Кратко” и другие литературные ресурсы.
Цель: Проверка моделей на знание русской литературы, как классической, так и современной.
Movies (moviemc)
Описание: Датасет включает вопросы о русскоязычных фильмах: от данных о режиссерах и датах выхода до цитат и сюжетов.
Формат: Многовариантный выбор с 12 вариантами ответа.
Источник: КиноПоиск и другие базы данных о кино.
Цель: Оценка знаний модели в области кинематографии и её способность работать с русскоязычным культурным контентом.
Ознакомится с нашими бенчмарками и Лидербордами
Шлепа - маленький русский бенчмарк
Arena Hard lb - большой русский бенчмарк
Авторы: Братчиков Cергей, Королев Константин , Захаров Тимур, Артем, Илья, Коля, Саша следил чтобы все не развалилось