LiveCodeBench 排行榜:无污染的代码 LLM 评估

Hugging Face 已推出 LiveCodeBench 排行榜,这是一个由加州大学伯克利分校、麻省理工学院和康奈尔大学的研究人员开发的新评估框架。该基准旨在通过使用从竞争性编程平台随时间收集的问题,提供对大型语言模型(LLM)编码能力的整体且无污染的衡量。

通过时间评估防止基准污染

LiveCodeBench 通过为每个编码问题标注发布日期,解决了基准污染这一关键问题——即模型在其后评估的测试数据上进行训练。这样,研究人员可以实施“随时间滚动”的策略:对于训练截止日期为 D 的模型,基准仅使用 D 日期之后发布的问题来计算分数。这确保模型在真正未见过的问题上进行评估,从而提供更准确的泛化度量,而非记忆能力。

整体评估场景

与仅关注代码生成的传统基准不同,LiveCodeBench 使用从 LeetCode、AtCoder 和 CodeForces 精选的问题,评估四种不同的编码场景。所有场景均使用 Pass@1 指标进行评估,该指标计算正确答案与总尝试次数的比例。

代码生成

模型会收到自然语言的问题描述和示例测试。目标是生成正确的解决方案,然后使用一组隐藏测试用例根据功能正确性进行评估。

自我修复

该场景测试模型对自身代码进行迭代的能力。如果模型生成了错误的程序,会提供错误反馈——例如异常信息或失败的测试用例——模型必须生成修复以实现功能正确性。

代码执行

模型的任务是预测给定测试输入时特定程序片段(函数)的输出。正确性取决于模型预测的输出是否与使用该输入执行函数的实际结果相匹配。

测试输出预测

在此场景中,模型会收到问题描述和测试用例输入。它们必须在未看到函数实现的情况下生成该输入的预期输出。此过程使用精确匹配检查器进行评估。

关键发现与模型表现

初步评估显示,模型排名会因具体编码场景而异,这表明不同模型在推理和执行方面拥有不同的优势。

  • GPT-4-Turbo: 该模型在大多数场景中表现最佳。在自我修复任务中表现出特别强的优势,表明其在利用编译器反馈方面具有很高的能力。
  • Claude-3-Opus: 该模型在测试输出预测场景中优于 GPT-4-Turbo,显示出更强的自然语言推理能力。
  • Mistral-Large: 该模型在自然语言推理任务上表现显著更好,包括代码执行和测试输出预测。

提交与贡献

LiveCodeBench 框架是开源的,数据集和代码可在 Hugging Face 和 GitHub 上获取。开发者可以使用 lcb_runner 模块评估其模型,并通过官方表单提交结果,以便纳入排行榜.

Sources