Бенчмарк · coding

CRUXEval

0 результатов 0 моделей

CRUXEval (Code Reasoning, Understanding, and eXecution Evaluation) оценивает, насколько хорошо модель рассуждает о выполнении кода, на 800 коротких функциях Python в двух задачах — предсказать вход, дающий заданный выход, и предсказать выход для заданного входа — с оценкой по функциональной корректности pass@1.

Подробнее
Пример
Показывается короткая самодостаточная функция Python. В предсказании выхода модели дают конкретный вход, и она должна назвать точное значение, которое возвращает функция; в предсказании входа ей дают выход, и она должна предложить любой вход, воспроизводящий его.
Метрика
Метрика — pass@1 (также сообщается pass@k по стандартной несмещённой оценке): модель генерирует один или несколько ответов на задачу, каждый проверяется запуском функции, а результат — доля решённых из 800 задач, отдельно для CRUXEval-I (вход) и CRUXEval-O (выход).
Приёмка
Каждое предсказание проверяется выполнением, а не сравнением строк. Ответ-выход принимается, только если он равен истинному возвращаемому значению функции; ответ-вход принимается, только если при подстановке в функцию он действительно даёт целевой выход, поэтому подходит любой корректный вход, а не только исходный.
Почему важно
Предсказание поведения при выполнении отделяет рассуждение о коде от его написания — модель может сгенерировать правдоподобный код, не отслеживая, что он на самом деле делает. Функции простые и самодостаточные, что делает CRUXEval чистой проверкой этого навыка, а два направления тестируют как прямое (выход), так и обратное (вход) рассуждение.
Разбор примера
Задача
def f(nums): result = [] for n in nums: result.append(n * 2) return result assert f([1, 2, 3]) == ?? CRUXEval-O (предсказание выхода): замените ?? значением, которое возвращает f.
Решение
[2, 4, 6]
Разбор
Цикл удваивает каждый элемент [1, 2, 3], получая [2, 4, 6]. Проверка выполняет assert f([1, 2, 3]) == [2, 4, 6] и принимает ответ, только если это утверждение проходит.

По этому бенчмарку пока нет проверенных результатов.