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

PDF476January 3, 2025