LiveCodeBench
LiveCodeBench — это бенчмарк с датированными задачами для моделей ИИ, пишущих код. Он проверяет генерацию и исправление кода, рассуждения о выполнении программ и производительность на новых задачах.
LiveCodeBench — постоянно обновляемый бенчмарк для оценки того, насколько хорошо языковые модели ИИ решают задачи программирования. Он проверяет, может ли модель написать работающий код, исправить ошибки и рассуждать о поведении программы. Его отличительная особенность — привязка ко времени: у задач указаны даты публикации, что позволяет проверять модели на задачах, опубликованных после даты отсечения обучения — самой поздней даты, охваченной обучающими материалами. Это помогает отличить реальные способности к решению задач от воспроизведения ранее встречавшихся решений.
Происхождение и дизайн бенчмарка#
LiveCodeBench представлен в статье 2024 года LiveCodeBench: всесторонняя и свободная от загрязнения оценка больших языковых моделей для работы с кодом. Его создали исследователи из UC Berkeley, MIT и Корнеллского университета под руководством Намана Джейна. В коллекцию входят задачи соревновательного программирования с LeetCode, AtCoder и Codeforces. Среди первых широко цитируемых базовых моделей были GPT-4 Turbo и Claude 3 Opus, показавшие высокие результаты в разных оценочных задачах; DeepSeek-Instruct-33B и Phind-34B стали лидирующими моделями с открытым доступом в первых сравнениях. Это исторические ориентиры, а не постоянные лидеры таблицы результатов.
Первая версия, release_v1, содержала 400 задач, опубликованных с мая 2023 года по март 2024 года. В последующих релизах на Hugging Face коллекция расширилась, поэтому у LiveCodeBench нет единого неизменного размера. Для воспроизводимости результата нужно указать релиз и период оценки.
Как и другие наборы данных для бенчмарков, он предоставляет общие задачи и процедуры оценки для сравнения моделей. Его схема оценки с датированными задачами также позволяет оценщикам выбрать единый период, охватывающий недавно опубликованные задачи.
Что измеряет LiveCodeBench#
LiveCodeBench оценивает четыре взаимосвязанные способности больших языковых моделей — систем, которые генерируют и интерпретируют текст, в том числе исходный код:
- Генерация кода: написать программу по условию задачи и примерам входных и выходных данных. Оценщик запускает решение на дополнительных тестах.
- Самостоятельное исправление: изменить неверное решение после получения обратной связи о выполнении, например сообщения об исключении или проваленном тесте.
- Выполнение кода: предсказать вывод предоставленной программы для заданных входных данных. Здесь «выполнение» означает задачу на рассуждение для модели; оценщик сравнивает её предсказание с результатом реального выполнения.
- Предсказание вывода теста: определить ожидаемый вывод по спецификации задачи и предоставленным входным данным, не получая реализации.
Различие между двумя последними задачами важно. Выполнение кода проверяет, что существующая программа делает, а предсказание вывода теста — что правильная реализация должна делать. Самостоятельное исправление проверяет поведение с обратной связью и пересмотром решения, которое также используется при агентном программировании, когда системы ИИ планируют, пишут, запускают и исправляют код.
Для генерации кода функциональная корректность означает прохождение всех обязательных тестов. Программа может успешно запуститься, но выдавать неверные ответы; ошибка выполнения может и вовсе помешать ей выдать ответ. Оба типа ошибок влияют на результат бенчмарка.
Как читать результаты и понимать загрязнение данных#
Pass@1 измеряет вероятность того, что одно сгенерированное решение пройдёт все обязательные тесты; показатель усредняется по задачам. Значение 60% означает, что при заданной процедуре оценки решаются примерно шесть задач из десяти. Это не означает, что каждая программа проходит 60% своих тестов.
Для корректного сравнения нужно использовать один и тот же релиз набора данных, период, задачу и настройки генерации. На результат могут повлиять промпт-инжиниринг, настройки выборки, ограничения на длину вывода и возможности исправления. Разбивка на лёгкие, средние и сложные задачи также выявляет различия, скрытые за общим средним показателем.
Загрязнение бенчмарка возникает, когда задачи оценки или их решения попадают в обучающие данные модели. Такая утечка данных может завысить результаты, поскольку модель уже встречала эти материалы. Выбор задач, опубликованных после даты отсечения обучения модели, снижает этот риск, однако надёжность самой даты отсечения и последующие обновления модели тоже имеют значение.
Поэтому утверждение, что конкретная модель «лидирует в LiveCodeBench», требует датированного снимка таблицы результатов и совпадающих настроек оценки. Без такого контекста рейтинг сложно интерпретировать.
Применение и связанные бенчмарки#
LiveCodeBench помогает сравнивать модели для написания кода и выяснять, связаны ли их слабые места с генерацией решений, пониманием кода или исправлением ошибок. Задачи на основе соревнований позволяют оценить навыки алгоритмического программирования; для более полной оценки разработки ПО также нужны тесты навигации по репозиторию, управления зависимостями и интеграции.
LiveBench — отдельный, более широкий бенчмарк, охватывающий такие области, как рассуждения, математика, язык и программирование. Сходство названий не означает, что результаты взаимозаменяемы.
Разработчикам приложений на Ultralytics YOLO LiveCodeBench даёт один из ориентиров при оценке помощника по программированию. В качестве конкретного дополнения к этому процессу можно использовать Ultralytics Agent Skills: они предоставляют совместимым агентам для программирования инструкции по подготовке наборов данных, обучению, инференсу и экспорту.
Если этот помощник помогает создать приложение на базе YOLO26, оценивай сгенерированный им код отдельно от модели компьютерного зрения: режим валидации измеряет качество предсказаний, а режим бенчмарка сравнивает точность форматов развёртывания и скорость инференса.










