ChatPaper.aiChatPaper

CRUXEval: Un punto de referencia para el razonamiento, comprensión y ejecución de código

CRUXEval: A Benchmark for Code Reasoning, Understanding and Execution

January 5, 2024
Autores: Alex Gu, Baptiste Rozière, Hugh Leather, Armando Solar-Lezama, Gabriel Synnaeve, Sida I. Wang
cs.AI

Resumen

Presentamos CRUXEval (Evaluación de Razonamiento, Comprensión y Ejecución de Código), un benchmark que consta de 800 funciones en Python (de 3 a 13 líneas). Cada función viene acompañada de un par entrada-salida, lo que da lugar a dos tareas naturales: predicción de entrada y predicción de salida. En primer lugar, proponemos una receta genérica para generar nuestro benchmark de ejecución, que puede utilizarse para crear futuras variaciones del mismo. En segundo lugar, evaluamos veinte modelos de código en nuestro benchmark y descubrimos que muchos modelos recientes con puntuaciones altas en HumanEval no muestran las mismas mejoras en nuestro benchmark. En tercer lugar, demostramos que esquemas simples de CoT (Chain of Thought) y fine-tuning pueden mejorar el rendimiento en nuestro benchmark, pero aún están lejos de resolverlo. La mejor configuración, GPT-4 con CoT, alcanza un pass@1 del 75% y 81% en predicción de entrada y salida, respectivamente. En contraste, Code Llama 34B logra un pass@1 del 50% y 46% en predicción de entrada y salida, destacando la brecha entre modelos de código abierto y cerrado. Dado que ningún modelo está cerca de dominar CRUXEval, proporcionamos ejemplos de fallos consistentes de GPT-4 en programas simples como una ventana a sus capacidades de razonamiento de código y áreas de mejora.
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