LiveCodeBench 是一个由 加州大学伯克利分校 (UC Berkeley)、麻省理工学院 (MIT) 和 康奈尔大学 (Cornell) 的研究团队联合开发的 大型语言模型 (LLM) 编码能力评估基准。
它的核心理念是解决现有代码评估基准(如 HumanEval、MBPP)面临的数据污染和评估单一性问题,提供一种更动态、多维度且无污染的评估方式。
以下是关于 LiveCodeBench 的详细介绍:
1. 核心背景与动机
- 避免数据污染:随着 LLM 的快速发展,许多开源模型在训练时可能已经“见过”了传统评测基准中的题目(如 HumanEval 中的 164 个题目)。LiveCodeBench 通过持续收集最新发布的竞赛题目,利用时间窗口切分数据(例如仅使用 2023 年 5 月后发布的题目),确保评测集是模型在训练前从未见过的,从而提供更公平的评估。
- 评估维度的扩展:传统基准通常只关注一次性代码生成(即给出描述,生成完整代码)。LiveCodeBench 认为实际编程涉及多个环节,提出了更具实战意义的评估场景。
2. 主要特性与优势
- 动态更新:平台会持续从 LeetCode、AtCoder、Codeforces 等主流编程竞赛网站收集新题目,数据集会随时间扩展,确保评测的时效性和挑战性。
- 多场景评估:除了生成代码,还评估模型的:
- 代码自我修复 (Self-Repair):给出有错误的代码,要求模型调试或修改错误。
- 代码执行:模型需要实际运行代码并给出结果(而非仅返回代码文本)。
- 测试输出预测 (Test Output Prediction):给出代码和测试用例,要求模型预测测试用例的运行结果。
- 丰富的数据规模:目前已收录 400-600+ 道高质量的编码问题,覆盖从 2023 年 5 月到 2024 年 8 月期间发布的题目。
- 透明性:研究人员公开了所有提示(prompts)和模型输出数据集,便于社区进一步分析和复现。
3. 评估流程与指标
LiveCodeBench 通常采用 PASS@k 指标(即模型前 k 次尝试中是否有一次是正确的),但它不仅仅是一个指标,还提供了一个排行榜 (Leaderboard),展示不同模型在多个维度(生成、修复、执行等)下的表现差异。
4. 实际意义
LiveCodeBench 的出现,标志着代码评估从“静态测验”向“动态实战”转变。它不仅能检测模型是否会“作弊”(见过训练数据),还能评估模型在真实编程流程中的辅助能力(如调试代码)。
总结:LiveCodeBench 是一个现代化的代码评估平台,它通过收集新题目和设计多场景任务,提供了一个更客观、更接近真实编程环境的 LLM 评估标准。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!