ChatPaper.aiChatPaper

BigO(Bench) – Können LLMs Code mit kontrollierter Zeit- und Raumkomplexität generieren?

BigO(Bench) -- Can LLMs Generate Code with Controlled Time and Space Complexity?

March 19, 2025
Autoren: Pierre Chambon, Baptiste Roziere, Benoit Sagot, Gabriel Synnaeve
cs.AI

Zusammenfassung

Wir stellen BigO(Bench) vor, ein neuartiges Codierungs-Benchmark, das entwickelt wurde, um die Fähigkeiten generativer Sprachmodelle beim Verständnis und der Erstellung von Code mit spezifizierten Zeit- und Speicherkomplexitäten zu bewerten. Dieses Benchmark schließt eine Lücke in aktuellen Bewertungen, die oft die Fähigkeit der Modelle übersehen, Code zu verstehen und zu erzeugen, der durch rechnerische Komplexität eingeschränkt ist. BigO(Bench) umfasst Werkzeuge, um die algorithmische Komplexität jeder Python-Funktion aus Profiling-Messungen abzuleiten, einschließlich menschlicher oder von LLM-generierter Lösungen. BigO(Bench) beinhaltet außerdem eine Sammlung von 3.105 Codierungsproblemen und 1.190.250 Lösungen aus Code-Wettbewerben, die mit abgeleiteten (synthetischen) Zeit- und Speicherkomplexitätslabels aus dem Komplexitätsrahmen versehen sind, sowie entsprechende Laufzeit- und Speicherbedarfswerte für eine große Anzahl von Eingabegrößen. Wir präsentieren Ergebnisse aus der Bewertung mehrerer state-of-the-art Sprachmodelle anhand dieses Benchmarks, die deren Stärken und Schwächen im Umgang mit Komplexitätsanforderungen hervorheben. Insbesondere sind Token-Space-Reasoning-Modelle in der Code-Generierung unübertroffen, jedoch nicht im Verständnis von Komplexität, was darauf hindeutet, dass sie möglicherweise nicht gut auf Aufgaben verallgemeinern, für die während des Trainings keine Belohnung vergeben wurde.
English
We introduce BigO(Bench), a novel coding benchmark designed to evaluate the capabilities of generative language models in understanding and generating code with specified time and space complexities. This benchmark addresses the gap in current evaluations that often overlook the ability of models to comprehend and produce code constrained by computational complexity. BigO(Bench) includes tooling to infer the algorithmic complexity of any Python function from profiling measurements, including human- or LLM-generated solutions. BigO(Bench) also includes of set of 3,105 coding problems and 1,190,250 solutions from Code Contests annotated with inferred (synthetic) time and space complexity labels from the complexity framework, as well as corresponding runtime and memory footprint values for a large set of input sizes. We present results from evaluating multiple state-of-the-art language models on this benchmark, highlighting their strengths and weaknesses in handling complexity requirements. In particular, token-space reasoning models are unrivaled in code generation but not in complexity understanding, hinting that they may not generalize well to tasks for which no reward was given at training time.

Summary

AI-Generated Summary

PDF92March 21, 2025