CodeElo: Confronto delle prestazioni di generazione di codice a livello di competizione degli LLM con valutazioni Elo comparabili a quelle umane
CodeElo: Benchmarking Competition-level Code Generation of LLMs with Human-comparable Elo Ratings
January 2, 2025
Autori: 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
Abstract
Con l'aumento delle capacità di ragionamento del codice dei modelli di linguaggio di grandi dimensioni (LLM) esistenti e i progressi nei modelli di ragionamento come OpenAI o1 e o3, c'è una crescente necessità di sviluppare benchmark più sfidanti e completi che testino efficacemente le loro sofisticate capacità di codifica a livello di competizione. I benchmark esistenti, come LiveCodeBench e USACO, sono carenti a causa dell'indisponibilità di casi di test privati, della mancanza di supporto per giudici speciali e di ambienti di esecuzione non allineati. Per colmare questa lacuna, presentiamo CodeElo, un benchmark di generazione di codice a livello di competizione standardizzato che affronta efficacemente tutte queste sfide per la prima volta. Il benchmark CodeElo si basa principalmente sulla piattaforma ufficiale CodeForces e cerca di allinearsi il più possibile con la piattaforma. Compiliamo i problemi delle gare degli ultimi sei mesi su CodeForces con informazioni dettagliate come divisioni delle gare, valutazioni di difficoltà dei problemi e tag di algoritmi dei problemi. Introduciamo un metodo di giudizio unico in cui i problemi vengono inviati direttamente alla piattaforma e sviluppiamo un sistema affidabile di calcolo del punteggio Elo che si allinea con la piattaforma ed è confrontabile con i partecipanti umani ma ha una varianza inferiore. Testando sul nostro CodeElo, forniamo i punteggi Elo di 30 LLM open-source esistenti e 3 proprietari per la prima volta. I risultati mostrano che o1-mini e QwQ-32B-Preview si distinguono significativamente, ottenendo punteggi Elo di 1578 e 1261, rispettivamente, mentre altri modelli faticano anche con i problemi più facili, posizionandosi nel 20 percento più basso tra tutti i partecipanti umani. Sono stati condotti anche esperimenti di analisi dettagliati per fornire approfondimenti sulle prestazioni tra gli algoritmi e confronti tra l'uso di C++ e Python, che possono suggerire direzioni per studi futuri.
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