LiveCodeBench:全面的 LLM 代码评测基准基准
LiveCodeBench 由加州大学伯克利分校、麻省理工学院和康奈尔大学的研究人员开发,是一个先进的评测基准套件,专门用于严格评估大语言模型 (LLMs) 在代码处理方面的能力,并解决现有基准测试的局限性。通过引入实时更新的问题集和多维度评估方法,LiveCodeBench 确保对 LLM 进行公平、全面和稳健的评估。本文主要详细介绍LiveCodeBench的评测信息。
关于大模型在LiveCodeBench上的详细评测结果,可以参考DataLearnerAI的大模型评测LiveCodeBench排行榜:https://www.datalearner.com/ai-models/llm-benchmark-tests/40
该基准面向学术研究和工业应用,提供标准化的方法来比较 LLM 在不同编码任务中的表现。其数据集、评测方法和框架均为开放资源,以促进 AI 代码生成技术的持续进步。
目前,LLMs 在代码生成及相关应用方面取得了重大突破。然而,现有的评测基准(如 HumanEval 和 MBPP)存在诸多局限性,例如数据污染风险、评测范围过于狭窄,仅关注自然语言到代码的转换。LiveCodeBench 旨在弥补这些不足,提供一个全面且无污染的评测框架。该基准从 LeetCode、AtCoder 和 CodeForces 等竞赛平台动态收集真实世界的代码问题,以防止数据泄漏对评测结果产生影响。
主要特点
1. 无污染的评测机制
LiveCodeBench 仅评测 LLM 训练截止日期之后发布的问题,以确保模型不会因训练数据包含相关测试案例而受益,从而保证评测的公平性。
2. 多维度代码能力评估
与传统仅关注代码生成的基准不同,LiveCodeBench 评估 LLM 在多种代码相关能力上的表现,包括:
- 代码生成: 根据问题描述生成正确的代码。
- 代码自修复: 通过执行反馈调试错误代码。
- 代码执行: 理解并执行给定的代码片段。
- 测试输出预测: 依据问题描述生成期望的测试案例输出。
3. 高质量、多样化的问题集
LiveCodeBench 的问题来自编程竞赛平台,确保难度平衡和评测的严谨性。每个问题平均包含 17 个测试用例,以提供全面的评测。
数据集构成
LiveCodeBench 包含 511 道编程题目,收集时间范围为 2023 年 5 月至 2024 年 5 月,并根据难度和来源进行分类。
平台 | 总题目数 | 简单 | 中等 | 困难 | 平均测试数 |
---|---|---|---|---|---|
LiveCodeBench (2024 年 5 月) | 511 | 182 | 206 | 123 | 17.0 |
LiveCodeBench (2023 年 9 月 - 2024 年 5 月) | 349 | 125 | 136 | 88 | 18.0 |
AtCoder | 267 | 99 | 91 | 77 | 15.6 |
LeetCode | 235 | 79 | 113 | 43 | 19.0 |
CodeForces | 9 | 4 | 2 | 3 | 11.1 |
模型性能分析
LiveCodeBench 评测 52 种模型,包括 18 个基础模型和 34 个指令微调模型。基准测试显示了开源和闭源 API 模型之间的性能差异。
模型类型 | 代表模型 | 代码生成 (Pass@1) | 自修复 | 代码执行 | 测试输出预测 |
---|---|---|---|---|---|
闭源 API | GPT-4-Turbo, Claude-3-Opus | 最佳 | 最佳 | 最佳 | 最佳 |
开源 (大型) | L3-Ins-70B, Mixtral, DS-Ins-33B | 接近 API 模型 | 高 | 高 | 高 |
开源 (中型) | CodeLLaMa, StarCoder2 | 中等 | 中等 | 中等 | 中等 |
开源 (小型) | DS-Ins-1.3B, MagiCoder | 低 | 低 | 低 | 低 |

LiveCodeBench论文中的一些关键结论
代码评测中的数据污染问题
在 LLM 评测中,数据污染是一个难以忽视的问题。研究团队发现,一些模型(如 DeepSeek-Ins-33B 和 GPT-4-O)在 LiveCodeBench 早期收录的问题上表现良好,但在测试其训练截止日期之后的新问题时,性能明显下降。这一现象表明,许多现有的评测基准可能已经成为训练数据的一部分,从而导致测试结果偏高。因此,LiveCodeBench 采用动态更新的方式,确保评测的公平性。
在 DeepSeek-Ins-33B 和 GPT-4-O 等模型上测试训练截止日期之后发布的问题时,其性能明显下降,证实了旧数据集可能存在污染问题。
为什么需要更全面的评测?
传统的代码评测基准往往只关注代码生成任务,而忽略了更广泛的编程能力。在 LiveCodeBench 的测试中,Claude-3-Opus 在测试输出预测任务上甚至超过了 GPT-4-Turbo,说明不同模型在不同类型的任务上可能表现不同。这进一步验证了 LiveCodeBench 采用多维度评测方法的必要性,以便全面衡量 LLM 的真实能力。
不同任务的排名存在变化。例如,Claude-3-Opus 在测试输出预测任务上的表现优于 GPT-4-Turbo,表明代码评测需要涵盖更广的能力。
HumanEval 是否导致 LLM 过拟合?
许多模型在 HumanEval+ 上表现优异,但在 LiveCodeBench 上的表现却大幅下降。例如,DS-Ins-1.3B 在 HumanEval+ 上的 Pass@1 评分达到 59.8%,但在 LiveCodeBench-Easy 任务上仅为 26.3%。这表明 HumanEval 可能已经被某些模型过度学习,无法真正反映其对新问题的泛化能力。LiveCodeBench 通过不断引入新问题,帮助研究人员更准确地评估 LLM 的实际编程能力。
部分在 HumanEval+ 上表现优秀的模型,在 LiveCodeBench 任务上的表现却明显较差。例如,DS-Ins-1.3B 在 HumanEval+ 的 Pass@1 为 59.8%,但在 LiveCodeBench-Easy 仅为 26.3%。
开源模型是否能赶超闭源模型?
目前来看,闭源 API 模型(如 GPT-4-Turbo 和 Claude-3-Opus)依然领先于大多数开源模型,但差距正在逐渐缩小。例如,L3-Ins-70B、Mixtral 和 DS-Ins-33B 等大规模开源模型在 LiveCodeBench 的多个测试场景中表现出色,接近甚至超越了一些闭源模型。这说明,只要有足够的数据和优化,开源 LLM 仍然有可能在代码生成领域取得突破。
闭源 API 模型 (GPT-4-Turbo、Claude-3-Opus) 的表现整体优于开源模型,但 L3-Ins-70B、Mixtral、DS-Ins-33B 等大规模指令微调模型正在缩小差距。
总结
LiveCodeBench 通过解决数据污染问题、扩展评测维度、确保问题难度平衡,树立了 LLM 代码评测的新标准。随着 LLM 技术的不断发展,该基准测试将持续更新,以确保对 AI 代码生成技术进行公正、严谨的评估。
更多详情以及关于大模型在LiveCodeBench上的详细评测结果,可以参考DataLearnerAI的大模型评测LiveCodeBench排行榜:https://www.datalearner.com/ai-models/llm-benchmark-tests/40
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
