问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

清华:构建代码LLM高难度评估基准

创作时间:
作者:
@小白创作中心

清华:构建代码LLM高难度评估基准

引用
CSDN
1.
https://blog.csdn.net/weixin_46739757/article/details/144989549

摘要

我们引入了自调用代码生成,这是一项旨在评估LLM的渐进推理和解决问题能力的新任务。在这个任务中,模型包含一个基本问题和一个相关的、更复杂的问题。他们必须解决基本问题,然后利用其解决方案来解决更复杂的问题。这项工作有三个关键贡献,详见https://github.com/CodeEval-Pro/CodeEval-Pro。

  1. 首先,我们提出了一个生成更具挑战性的现有基准测试版本的通用配方,从而产生了三个新的基准测试:HumanEval Pro、MBPP Pro和BigCodeBench Lite Pro,专门用于评估LLM在自调用代码生成方面的表现。

  2. 其次,根据对我们基准测试中20多个LLM的实验结果的分析,我们有两个重要的观察结果:

  • 大多数LLM在传统的代码生成基准测试中表现出色,如HumanEval和MBPP,但它们在自启动任务中的性能下降。例如,o1-mini达到了96.2%pass@1在HumanEval上,只有76.2%的人使用HumanEval Pro。
  • 在自调用代码生成任务中,与基本模型相比,指令调优模型仅显示出微小的改进。
  1. 第三,我们揭示了评估结果中存在的故障模式类型。所有这些结果都强调了进一步推进自调用代码生成任务的必要性,并为未来增强LLM代码推理能力的研究提供了新的方向。

研究背景与意义

如何有效评估大语言模型(LLM)在生成并调用自身生成的代码以解决更复杂问题时的能力?这是当前人工智能领域面临的一个重要挑战。传统的代码生成基准测试主要关注模型生成单个函数的能力,而忽略了模型在处理更复杂任务时的推理和解决问题的能力。因此,研究者们提出了自调用代码生成这一新任务,要求模型不仅能够生成代码,还要能够调用自身生成的代码来解决更复杂的问题。

主要贡献

论文提出了HumanEval Pro、MBPP Pro和BigCodeBench-Lite Pro三个新的基准测试,用于评估LLM在自调用代码生成任务中的表现,填补了现有基准测试在复杂代码生成任务评估上的不足。

基准测试构建方法

研究团队扩展了传统的HumanEval和MBPP基准测试,创建了HumanEval Pro和MBPP Pro,要求模型不仅生成代码,还要调用自身生成的代码来解决更复杂的问题。通过增加问题的复杂性和语义相关性,生成自调用问题,确保这些问题既保留了原始问题的核心功能,又引入了额外的编程挑战。

实验结果与分析

研究团队评估了超过20个LLM在自调用代码生成任务中的表现,比较了基础模型和指令调优模型的表现,并分析了不同提示策略(如CoT)对模型性能的影响。实验表明,尽管LLM在传统代码生成任务中表现出色,但在自调用代码生成任务中表现显著下降,表明这一任务的复杂性更高。

指令调优模型在自调用代码生成任务中的改进有限,甚至有时表现不如基础模型,表明当前的指令调优方法在这一复杂任务中效果不佳。使用CoT提示可以显著提高模型在自调用代码生成任务中的准确性,特别是在减少AssertionError和NameError方面。

主要错误类型从多到少分别是AssertionError、NameError、TypeError和ValueError,表明LLM在生成自调用代码时在测试用例通过率、变量定义和类型处理方面存在不足。

结论

这项研究通过引入自调用代码生成任务,为评估LLM的代码推理能力提供了一个新的视角。研究结果表明,当前的LLM在处理复杂代码生成任务时仍面临诸多挑战,这为未来的研究提供了新的方向。同时,研究团队开发的三个新基准测试也为评估LLM的代码生成能力提供了一个更全面的框架。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号