ChatPaper.aiChatPaper

CRUXEval: Бенчмарк для анализа, понимания и выполнения кода

CRUXEval: A Benchmark for Code Reasoning, Understanding and Execution

January 5, 2024
Авторы: Alex Gu, Baptiste Rozière, Hugh Leather, Armando Solar-Lezama, Gabriel Synnaeve, Sida I. Wang
cs.AI

Аннотация

Мы представляем CRUXEval (Code Reasoning, Understanding, and eXecution Evaluation) — эталонный набор, состоящий из 800 функций на Python (3–13 строк). Каждая функция сопровождается парой входных и выходных данных, что формирует две естественные задачи: предсказание входных данных и предсказание выходных данных. Во-первых, мы предлагаем универсальный метод для создания нашего эталонного набора, который может быть использован для разработки его будущих вариаций. Во-вторых, мы оцениваем двадцать моделей обработки кода на нашем эталоне и обнаруживаем, что многие недавние модели, демонстрирующие высокие результаты на HumanEval, не показывают аналогичного улучшения на нашем наборе. В-третьих, мы показываем, что простые схемы с использованием цепочки рассуждений (CoT) и тонкой настройки могут улучшить производительность на нашем эталоне, но всё ещё далеки от его полного решения. Лучшая конфигурация, GPT-4 с цепочкой рассуждений (CoT), достигает показателя pass@1 в 75% и 81% для предсказания входных и выходных данных соответственно. В то же время Code Llama 34B достигает pass@1 в 50% и 46% для предсказания входных и выходных данных, что подчеркивает разрыв между открытыми и закрытыми моделями. Поскольку ни одна модель не близка к идеальному выполнению CRUXEval, мы приводим примеры устойчивых ошибок GPT-4 на простых программах, чтобы лучше понять его способности к анализу кода и выявить области для улучшения.
English
We present CRUXEval (Code Reasoning, Understanding, and eXecution Evaluation), a benchmark consisting of 800 Python functions (3-13 lines). Each function comes with an input-output pair, leading to two natural tasks: input prediction and output prediction. First, we propose a generic recipe for generating our execution benchmark which can be used to create future variation of the benchmark. Second, we evaluate twenty code models on our benchmark and discover that many recent high-scoring models on HumanEval do not show the same improvements on our benchmark. Third, we show that simple CoT and fine-tuning schemes can improve performance on our benchmark but remain far from solving it. The best setup, GPT-4 with chain of thought (CoT), achieves a pass@1 of 75% and 81% on input and output prediction, respectively. In contrast, Code Llama 34B achieves a pass@1 of 50% and 46% on input and output prediction, highlighting the gap between open and closed source models. As no model is close to acing CRUXEval, we provide examples of consistent GPT-4 failures on simple programs as a lens into its code reasoning capabilities and areas for improvement.
PDF110December 15, 2024