BigO(Bench) -- Les LLM peuvent-ils générer du code avec une complexité temporelle et spatiale contrôlée ?
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
Résumé
Nous présentons BigO(Bench), un nouveau benchmark de codage conçu pour évaluer les capacités des modèles de langage génératifs à comprendre et à générer du code avec des complexités temporelles et spatiales spécifiées. Ce benchmark comble une lacune dans les évaluations actuelles qui négligent souvent la capacité des modèles à comprendre et à produire du code contraint par des complexités computationnelles. BigO(Bench) inclut des outils pour déduire la complexité algorithmique de toute fonction Python à partir de mesures de profilage, y compris des solutions générées par des humains ou des LLM. BigO(Bench) comprend également un ensemble de 3 105 problèmes de codage et 1 190 250 solutions issues de concours de programmation, annotées avec des étiquettes de complexité temporelle et spatiale inférées (synthétiques) selon le cadre de complexité, ainsi que des valeurs correspondantes de temps d'exécution et d'empreinte mémoire pour un large ensemble de tailles d'entrée. Nous présentons les résultats de l'évaluation de plusieurs modèles de langage de pointe sur ce benchmark, mettant en évidence leurs forces et leurs faiblesses dans la gestion des exigences de complexité. En particulier, les modèles de raisonnement dans l'espace des jetons sont inégalés en génération de code mais pas en compréhension de la complexité, suggérant qu'ils pourraient ne pas bien généraliser à des tâches pour lesquelles aucune récompense n'a été donnée pendant l'entraînement.
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