BigO(Bench) -- Os LLMs Podem Gerar Código com Complexidade de Tempo e Espaço 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
Resumo
Apresentamos o BigO(Bench), um novo benchmark de codificação projetado para avaliar as capacidades de modelos de linguagem generativa na compreensão e geração de código com complexidades de tempo e espaço especificadas. Este benchmark aborda a lacuna nas avaliações atuais que frequentemente negligenciam a capacidade dos modelos de compreender e produzir código restrito por complexidade computacional. O BigO(Bench) inclui ferramentas para inferir a complexidade algorítmica de qualquer função Python a partir de medições de perfilamento, incluindo soluções geradas por humanos ou LLMs. O BigO(Bench) também inclui um conjunto de 3.105 problemas de codificação e 1.190.250 soluções de Competições de Código anotadas com rótulos de complexidade de tempo e espaço inferidos (sintéticos) a partir do framework de complexidade, bem como valores correspondentes de tempo de execução e uso de memória para um grande conjunto de tamanhos de entrada. Apresentamos os resultados da avaliação de vários modelos de linguagem state-of-the-art neste benchmark, destacando seus pontos fortes e fracos no tratamento de requisitos de complexidade. Em particular, modelos de raciocínio no espaço de tokens são imbatíveis na geração de código, mas não na compreensão de complexidade, sugerindo que eles podem não generalizar bem para tarefas para as quais nenhuma recompensa foi dada durante o treinamento.
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