CodeElo: Avaliação de Referência da Geração de Código de Nível de Competição de LLMs com Classificações Elo Comparáveis às Humanas
CodeElo: Benchmarking Competition-level Code Generation of LLMs with Human-comparable Elo Ratings
January 2, 2025
Autores: Shanghaoran Quan, Jiaxi Yang, Bowen Yu, Bo Zheng, Dayiheng Liu, An Yang, Xuancheng Ren, Bofei Gao, Yibo Miao, Yunlong Feng, Zekun Wang, Jian Yang, Zeyu Cui, Yang Fan, Yichang Zhang, Binyuan Hui, Junyang Lin
cs.AI
Resumo
Com o aumento das capacidades de raciocínio de código dos modelos de linguagem grandes (LLMs) existentes e avanços em modelos de raciocínio como o OpenAI o1 e o3, há uma crescente necessidade de desenvolver benchmarks mais desafiadores e abrangentes que testem efetivamente suas sofisticadas habilidades de codificação em nível de competição. Benchmarks existentes, como LiveCodeBench e USACO, deixam a desejar devido à falta de casos de teste privados, à falta de suporte para juízes especiais e a ambientes de execução desalinhados. Para preencher essa lacuna, apresentamos o CodeElo, um benchmark padronizado de geração de código em nível de competição que aborda efetivamente todos esses desafios pela primeira vez. O benchmark CodeElo é baseado principalmente na plataforma oficial CodeForces e tenta se alinhar com a plataforma o máximo possível. Compilamos os problemas dos últimos seis meses de competições no CodeForces com informações detalhadas, como divisões de competições, classificações de dificuldade dos problemas e tags de algoritmos dos problemas. Introduzimos um método de julgamento único no qual os problemas são enviados diretamente para a plataforma e desenvolvemos um sistema confiável de cálculo de classificação Elo que se alinha com a plataforma e é comparável com participantes humanos, mas com menor variância. Ao testar em nosso CodeElo, fornecemos as classificações Elo de 30 LLMs populares de código aberto e 3 proprietários pela primeira vez. Os resultados mostram que o o1-mini e o QwQ-32B-Preview se destacam significativamente, alcançando classificações Elo de 1578 e 1261, respectivamente, enquanto outros modelos têm dificuldade até mesmo com os problemas mais fáceis, ficando entre os 20% mais baixos entre todos os participantes humanos. Experimentos de análise detalhada também são conduzidos para fornecer insights sobre o desempenho em diferentes algoritmos e comparações entre o uso de C++ e Python, o que pode sugerir direções para estudos futuros.
English
With the increasing code reasoning capabilities of existing large language
models (LLMs) and breakthroughs in reasoning models like OpenAI o1 and o3,
there is a growing need to develop more challenging and comprehensive
benchmarks that effectively test their sophisticated competition-level coding
abilities. Existing benchmarks, like LiveCodeBench and USACO, fall short due to
the unavailability of private test cases, lack of support for special judges,
and misaligned execution environments. To bridge this gap, we introduce
CodeElo, a standardized competition-level code generation benchmark that
effectively addresses all these challenges for the first time. CodeElo
benchmark is mainly based on the official CodeForces platform and tries to
align with the platform as much as possible. We compile the recent six months
of contest problems on CodeForces with detailed information such as contest
divisions, problem difficulty ratings, and problem algorithm tags. We introduce
a unique judging method in which problems are submitted directly to the
platform and develop a reliable Elo rating calculation system that aligns with
the platform and is comparable with human participants but has lower variance.
By testing on our CodeElo, we provide the Elo ratings of 30 existing popular
open-source and 3 proprietary LLMs for the first time. The results show that
o1-mini and QwQ-32B-Preview stand out significantly, achieving Elo ratings of
1578 and 1261, respectively, while other models struggle even with the easiest
problems, placing in the lowest 20 percent among all human participants.
Detailed analysis experiments are also conducted to provide insights into
performance across algorithms and comparisons between using C++ and Python,
which can suggest directions for future studies.Summary
AI-Generated Summary