CRUXEval:代码推理、理解与执行的基准测试
作者
Alex Gu、Baptiste Rozière、Hugh Leather、Armando Solar-Lezama、Gabriel Synnaeve、Sida I. Wang
摘要
本文提出了 CRUXEval(Code Reasoning, Understanding, and eXecution Evaluation),一个由 800 个 Python 函数(3–13 行)组成的基准测试集。每个函数都配有一个输入-输出对,由此衍生出两个自然任务:输入预测 和 输出预测。
论文的主要贡献包括:
- 通用生成方法:提出了一种通用的执行基准生成方案,可用于创建该基准的未来变体。
- 模型评估:在基准上评估了二十个代码模型,发现许多在 HumanEval 上得分较高的近期模型在本基准上并未表现出同样的提升。
- 性能提升方案:展示了简单的思维链(Chain of Thought, CoT)和微调方案可以提升基准性能,但仍远未解决该问题。最佳配置——GPT-4 结合思维链——在输入和输出预测上的 pass@1 分别达到 75% 和 81%。相比之下,Code Llama 34B 的 pass@1 分别为 50% 和 46%,凸显了开源与闭源模型之间的差距。
由于目前没有任何模型接近完美解决 CRUXEval,作者还提供了 GPT-4 在简单程序上持续失败的具体示例,以此剖析其代码推理能力及可改进的方向。
主题/分类
- 主要分类:软件工程(cs.SE)
- 相关分类:人工智能(cs.AI)、机器学习(cs.LG)
其他信息
- 提交日期:2024 年 1 月 5 日
- 页面:71 页,29 幅图
- arXiv 编号:2401.03065
- DOI: 10.48550/arXiv.2401.03065