ChatPaper.aiChatPaper

CRUXEval: Ein Benchmark für Code-Verständnis, -Analyse und -Ausführung

CRUXEval: A Benchmark for Code Reasoning, Understanding and Execution

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

Zusammenfassung

Wir stellen CRUXEval (Code Reasoning, Understanding, and eXecution Evaluation) vor, einen Benchmark, der aus 800 Python-Funktionen (3-13 Zeilen) besteht. Jede Funktion wird mit einem Eingabe-Ausgabe-Paar geliefert, was zu zwei natürlichen Aufgaben führt: Eingabevorhersage und Ausgabevorhersage. Zuerst schlagen wir ein generisches Rezept zur Erstellung unseres Ausführungs-Benchmarks vor, das zur Erstellung zukünftiger Variationen des Benchmarks verwendet werden kann. Zweitens evaluieren wir zwanzig Code-Modelle anhand unseres Benchmarks und stellen fest, dass viele kürzlich auf HumanEval hoch bewertete Modelle nicht die gleichen Verbesserungen auf unserem Benchmark zeigen. Drittens zeigen wir, dass einfache Chain-of-Thought (CoT) und Fine-Tuning-Schemata die Leistung auf unserem Benchmark verbessern können, aber weit davon entfernt sind, ihn zu lösen. Das beste Setup, GPT-4 mit Chain of Thought (CoT), erreicht ein pass@1 von 75 % bzw. 81 % bei der Eingabe- und Ausgabevorhersage. Im Gegensatz dazu erreicht Code Llama 34B ein pass@1 von 50 % bzw. 46 % bei der Eingabe- und Ausgabevorhersage, was die Lücke zwischen Open-Source- und Closed-Source-Modellen verdeutlicht. Da kein Modell nahe daran ist, CRUXEval zu meistern, liefern wir Beispiele für konsistente GPT-4-Fehler bei einfachen Programmen als Einblick in seine Code-Reasoning-Fähigkeiten und Bereiche für Verbesserungen.
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