- 简介仅仅依靠测试通过来评估大型语言模型(LLMs)的代码合成能力可能会导致不公平的评估或者促进具有数据泄露的模型。作为替代方案,我们介绍了CodeMind,这是一个旨在评估LLMs代码推理能力的框架。CodeMind目前支持三种代码推理任务:独立执行推理(IER)、依赖执行推理(DER)和规范推理(SR)。前两个任务评估模型以预测任意代码或模型可以正确合成的代码的执行输出。第三个任务评估LLMs实现指定的预期行为的程度。我们对两种不同编程语言的五个基准测试中的九个LLMs进行了广泛的评估,使用CodeMind显示,LLMs公平地遵循控制流结构,并且通常解释输入如何演变为输出,特别是对于简单程序和它们可以正确合成的程序。然而,对于具有更高复杂性、非平凡逻辑和算术运算符、非基本类型和API调用的代码,它们的性能会下降。此外,我们观察到,虽然相关,规范推理(对于代码合成至关重要)并不意味着执行推理(对于更广泛的编程任务如测试和调试至关重要):基于测试通过排名LLMs的结果可能与基于代码推理排名的结果不同。
-
- 图表
- 解决问题论文旨在解决如何公正地评估大型语言模型(LLMs)在代码合成中的表现,避免测试数据泄露或者不公平的评估结果。
- 关键思路CodeMind框架被提出来,用于评估LLMs的代码推理能力。CodeMind包括三种代码推理任务:独立执行推理(IER),依赖执行推理(DER)和规范推理(SR)。在多个基准测试中,CodeMind评估了九个LLMs在两种编程语言中的表现,发现LLMs在简单程序和能够正确合成的程序中表现良好,但对于复杂代码、非平凡逻辑和算术运算符、非原始类型和API调用等情况,表现下降。
- 其它亮点CodeMind框架可用于公正地评估LLMs的代码推理能力,避免测试数据泄露或不公平的评估结果。实验结果表明,LLMs在简单程序和能够正确合成的程序中表现良好,但对于复杂代码、非平凡逻辑和算术运算符、非原始类型和API调用等情况,表现下降。这个问题值得深入研究。
- 最近的相关研究包括:1.《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》;2.《DeepCode: Feedback generation for text-based programming》;3.《Neural Program Synthesis with Priority Queue Training》。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流