BigO(Bench) -- Kunnen LLM's Code Genereren met Gecontroleerde Tijd- en Ruimtecomplexiteit?
BigO(Bench) -- Can LLMs Generate Code with Controlled Time and Space Complexity?
March 19, 2025
Auteurs: Pierre Chambon, Baptiste Roziere, Benoit Sagot, Gabriel Synnaeve
cs.AI
Samenvatting
We introduceren BigO(Bench), een nieuw codeerbenchmark ontworpen om de
capaciteiten van generatieve taalmodelen te evalueren in het begrijpen en
genereren van code met gespecificeerde tijd- en ruimtecomplexiteiten. Dit
benchmark adresseert de leemte in huidige evaluaties die vaak de vaardigheid van
modellen om code te begrijpen en te produceren die beperkt is door
computationale complexiteit over het hoofd zien. BigO(Bench) omvat tools om de
algoritmische complexiteit van elke Python-functie af te leiden uit
profileringsmetingen, inclusief door mensen of LLM's gegenereerde oplossingen.
BigO(Bench) bevat ook een set van 3.105 codeerproblemen en 1.190.250
oplossingen van Code Contests, geannoteerd met afgeleide (synthetische) tijd-
en ruimtecomplexiteitslabels vanuit het complexiteitsraamwerk, evenals
bijbehorende runtime- en geheugenvoetafdrukwaarden voor een grote set
invoergroottes. We presenteren resultaten van de evaluatie van meerdere
state-of-the-art taalmodelen op dit benchmark, waarbij hun sterktes en
zwaktes in het omgaan met complexiteitseisen worden belicht. In het bijzonder
blijken token-space redeneermodelen onovertroffen in codegeneratie maar niet in
complexiteitsbegrip, wat suggereert dat ze mogelijk niet goed generaliseren naar
taken waarvoor tijdens de training geen beloning werd gegeven.
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