Суть
Исследователи провели детальный аудит SWE-Bench Pro — одного из самых популярных наборов данных для оценки способностей искусственного интеллекта к программированию. Результаты оказались неутешительными: около 30% задач в бенчмарке содержат критические ошибки, которые делают невозможной объективную оценку моделей. В связи с этим исследователи отзывают свою прежнюю рекомендацию использовать SWE-Bench Pro в качестве стандарта для индустрии.
Точное измерение возможностей моделей критически важно для принятия решений об их безопасном развертывании. Когда оценочные тесты имеют фундаментальные изъяны, они создают ложное представление о реальных способностях ИИ, что может привести к неверной расстановке исследовательских приоритетов.
Контекст
Ранее индустрия опиралась на SWE-bench Verified, но после обнаружения в нем проблем с дизайном и утечкой данных (контаминацией), сообществу было предложено перейти на SWE-Bench Pro. Этот обновленный бенчмарк должен был тестировать модели на более длинных горизонтах планирования и более реалистичных задачах, чтобы лучше отслеживать агентные возможности ИИ.
Introducing GeneBench-Pro > Cover image
Задачи для этих тестов собираются программным путем из истории изменений в публичных и приватных репозиториях. Модель должна написать код, который проходит новые тесты для добавленной функции, не ломая при этом существующий функционал. На публичной выборке из 731 задачи передовые модели показали впечатляющий скачок: уровень успешного решения вырос с 23,3% до 80,3% всего за восемь месяцев. Однако новый аудит заставляет задуматься, насколько этот прогресс отражает реальность.
Детали
Для проверки качества данных был создан сложный многоступенчатый конвейер (пайплайн). Сначала автоматизированный фильтр проанализировал инструкции, попытки моделей решить задачу и тесты, используемые для оценки. Фильтр пометил 286 задач как потенциально проблемные.
Затем эти задачи прошли двойную проверку. Первая — с использованием ИИ-агентов на базе модели Codex, которые пытались отличить допустимую неоднозначность задачи от реальной нехватки данных. Вторая — масштабная кампания с участием опытных инженеров-программистов. Каждую подозрительную задачу независимо оценивали пять специалистов.
Автоматизированная система выявила 200 сломанных задач (27,4%), а люди-разметчики нашли еще больше — 249 задач (34,1%).
Ошибки разделились на четыре основные категории:
- Слишком строгие тесты. Они требуют конкретных деталей реализации, о которых ничего не сказано в задании, из-за чего функционально правильные решения бракуются.
- Недостаточно детализированные запросы (промпты). В них отсутствуют требования, которые проверяются скрытыми тестами и которые невозможно логически вывести из контекста.
- Тесты с низким покрытием. Они недостаточно тщательно проверяют запрошенную функцию, позволяя неполным решениям получать статус успешных.
- Вводящие в заблуждение инструкции. Они направляют модель к неправильному поведению или прямо противоречат тому, что требуют тесты.
A near-autonomous AI chemist improves a challenging reaction
Анализ
Эти результаты вскрывают фундаментальную проблему текущего подхода к созданию бенчмарков. Задачи (issues) и запросы на слияние (pull requests) из проектов с открытым исходным кодом изначально создавались для совместной работы людей. Они часто подразумевают долгие обсуждения, уточнения контекста и неформальные договоренности между разработчиками.
Попытка превратить этот человеческий процесс в чистые, изолированные задачи для машин работает плохо. Описания проблем, итоговый код и модульные тесты далеко не всегда складываются в идеальный пазл. Тесты в pull requests часто пишутся для проверки конкретного изменения конкретного программиста, а не как универсальный стандарт для решения абстрактной задачи.
Перспектива
Хорошая новость заключается в том, что по мере роста возможностей ИИ-моделей, мы можем использовать их же для масштабируемого и глубокого аудита самих бенчмарков. То, что раньше требовало колоссальных человеческих ресурсов, теперь можно автоматизировать на первичном этапе.
Индустрии предстоит разработать новые бенчмарки, созданные опытными инженерами специально для тестирования моделей, а не собранные автоматически из старых репозиториев. Только такой подход позволит сохранить высокую планку реализма и обеспечит надежный сигнал о том, насколько хорошо ИИ действительно умеет программировать. До тех пор разработчикам моделей следует относиться к результатам в существующих лидербордах с большой долей здорового скептицизма.