CodeElo - 阿里 Qwen 团队推出评估 LLM 编程能力的基准测试

发布于 2025-01-05 · CodeElo 是用于评估大型语言模型(LLMs)在编程竞赛级别代码生成能力的基准测试工具。通过与人类程序员的 Elo 评级系统进行比较,来衡量 LLMs 的编程水平。工具从 CodeForces 平台选择题目,按比赛分区、难度级别和算法标签进行分类,确保问题的多样性和代表性。

CodeElo是什么

CodeElo 是用于评估大型语言模型(LLMs)在编程竞赛级别代码生成能力的基准测试工具。它拿人类程序员的 Elo 评级系统做参照,来衡量 LLMs 的编程水平。题目从 CodeForces 平台上选,按比赛分区、难度级别和算法标签分好类,多样性有保证。评估方法比较稳:提交的代码直接在 CodeForces 上跑,靠平台的特殊评估机制判断对错。评分用 Elo 评级系统算,问题难度会算进去,答错也有惩罚。测了多个开源和专有 LLM 之后,OpenAI 的 o1-mini 表现最好,超过了 90% 的人类参与者。CodeElo 想解决的是现有基准测试的局限,给出一个更全面、更准确的评估环境,让研究人员和开发者看清 LLMs 的编程能力。

CodeElo的主要功能

  • 题目选择与分类
    • 来源广泛:题目基本来自 CodeForces,这个在线编程竞赛网站上题目量大,质量也不错。
    • 分类细致:比赛分区、难度级别、算法标签都分好了类,研究人员能按需要挑题,比如只测某种算法或某个难度。
  • 代码提交与测试
    • 直接提交:LLM 生成的代码直接交到 CodeForces 上测,不用另外配环境。
    • 特殊评估机制:CodeForces 有自己的评估机制,输出结果要精确匹配,执行效率也有限制,代码对不对判得比较准。
  • 评级计算与比较
    • Elo 评级系统:评分沿用类似人类棋手的 Elo 系统,问题难度和代码正确性都算进去,模型实际水平反映得公平些。
    • 与人类比较:拿人类程序员的 Elo 分作对照,LLMs 在竞赛里什么水平、跟人差多少,一眼能看出来,改模型也有个参照。
  • 评估结果分析
    • 性能对比:性能对比做得比较细,不同 LLMs 在各类题目上的表现都列出来,谁强在哪、弱在哪,研究人员看得清楚。
    • 错误分析:错的提交也会拆开看,常见的错误类型和原因找出来,调模型时有据可依。
  • 解决现有基准测试局限性
    • 弥补不足:LiveCodeBench、USACO 这些现有基准有短板,私有测试用例没有,特殊裁判机制不支持,执行环境也不统一。CodeElo 把评估环境做得更全、更准、更一致,LLMs 的编程能力评估因此更可靠。

CodeElo的项目地址

CodeElo的测试效果

  • 测了 30 个开源 LLM 和 3 个专有 LLM,OpenAI 的 o1-mini 成绩最好,Elo 评分 1578,超过了 90% 的人类参与者。
  • 开源模型里,QwQ-32B-Preview 以 1261 分排在第一位。
  • 不少模型连简单题都吃力,排名一般落在人类参与者的后 20%。

CodeElo的应用场景

  • 评估模型编程能力:跟人类程序员的 Elo 评分一比,大型语言模型(LLM)在编程竞赛里的能力就有数了。
  • 辅助编程教学:评估工具是标准化的,编程教学和学习都能用。老师能看出学生在哪类题上弱,指导起来更有针对性。
  • 学生自我评估:学生也能拿 CodeElo 给自己打分,看看在竞赛里大概什么水平,目标定在哪儿心里有谱。
  • 模型优化与改进:新做的 LLM 可以放到 CodeElo 上测,竞赛里表现如何一目了然,优化方向也就有了。
  • 代码生成与补全:企业挑模型时可以用 CodeElo 先比一比,再拿来做代码生成、补全这些开发任务,效率和代码质量都有保障。
0

相关文章

0 条评论

后参与评论

暂无评论,来抢沙发。