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

提问交流