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-33BGPT-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@159.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技术推送
Back to Top