ChatPaper.aiChatPaper

BigO(Bench) -- Gli LLM possono generare codice con complessità temporale e spaziale controllata?

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

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

Abstract

Introduciamo BigO(Bench), un nuovo benchmark di codifica progettato per valutare le capacità dei modelli linguistici generativi nella comprensione e generazione di codice con specifiche complessità temporali e spaziali. Questo benchmark colma una lacuna nelle valutazioni attuali, che spesso trascurano la capacità dei modelli di comprendere e produrre codice vincolato da complessità computazionali. BigO(Bench) include strumenti per inferire la complessità algoritmica di qualsiasi funzione Python a partire da misurazioni di profilazione, incluse soluzioni generate da esseri umani o da LLM. BigO(Bench) comprende inoltre un insieme di 3.105 problemi di codifica e 1.190.250 soluzioni provenienti da Code Contests, annotate con etichette di complessità temporale e spaziale inferite (sintetiche) dal framework di complessità, nonché valori corrispondenti di tempo di esecuzione e impronta di memoria per un ampio insieme di dimensioni di input. Presentiamo i risultati della valutazione di diversi modelli linguistici all'avanguardia su questo benchmark, evidenziandone punti di forza e debolezze nella gestione dei requisiti di complessità. In particolare, i modelli di ragionamento nello spazio dei token sono ineguagliati nella generazione di codice ma non nella comprensione della complessità, suggerendo che potrebbero non generalizzare bene a compiti per i quali non è stato fornito alcun reward durante l'addestramento.
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.
PDF92March 21, 2025