BigO(Bench) -- ¿Pueden los LLM generar código con complejidad temporal y espacial controlada?
BigO(Bench) -- Can LLMs Generate Code with Controlled Time and Space Complexity?
March 19, 2025
Autores: Pierre Chambon, Baptiste Roziere, Benoit Sagot, Gabriel Synnaeve
cs.AI
Resumen
Presentamos BigO(Bench), un nuevo punto de referencia de codificación diseñado para evaluar las capacidades de los modelos de lenguaje generativo en la comprensión y generación de código con complejidades temporales y espaciales especificadas. Este punto de referencia aborda la brecha en las evaluaciones actuales que a menudo pasan por alto la capacidad de los modelos para comprender y producir código restringido por la complejidad computacional. BigO(Bench) incluye herramientas para inferir la complejidad algorítmica de cualquier función en Python a partir de mediciones de perfilado, incluyendo soluciones generadas por humanos o modelos de lenguaje. BigO(Bench) también incluye un conjunto de 3,105 problemas de codificación y 1,190,250 soluciones de concursos de programación anotadas con etiquetas de complejidad temporal y espacial inferidas (sintéticas) del marco de complejidad, así como valores correspondientes de tiempo de ejecución y uso de memoria para un amplio conjunto de tamaños de entrada. Presentamos los resultados de la evaluación de múltiples modelos de lenguaje de última generación en este punto de referencia, destacando sus fortalezas y debilidades en el manejo de los requisitos de complejidad. En particular, los modelos de razonamiento en el espacio de tokens son insuperables en la generación de código, pero no en la comprensión de la complejidad, lo que sugiere que podrían no generalizar bien a tareas para las cuales no se otorgó recompensa durante el entrenamiento.
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