标题:Is Self-Repair a Silver Bullet for Code Generation?
作者:Theo X. Olausson, Jeevana Priya Inala, Chenglong Wang, Jianfeng Gao, Armando Solar-Lezama
提交/修订日期:2023年6月16日提交,2024年2月2日最后修订 (v5)
摘要:
大型语言模型在代码生成方面表现出色,但在处理复杂任务时仍存在困难。自我修复(即模型调试并修复自身生成的代码)已成为提升模型在这些场景下性能的一种流行方法。然而,尽管其日益普及,现有关于自我修复的研究范围有限;在许多情况下,其有效性仍未被充分理解。在本文中,我们分析了 Code Llama、GPT-3.5 和 GPT-4 在 HumanEval 和 APPS 数据集上的自我修复能力。我们发现,当考虑到执行修复的成本时,性能提升通常有限,在不同数据子集间差异很大,有时甚至完全没有提升。我们假设这是因为自我修复受限于模型为自身代码提供反馈的能力;通过使用更强的模型人为提升反馈质量,我们观察到显著更大的性能提升。同样,一项小规模研究显示,即使为 GPT-4 提供来自人类参与者的反馈,其自我修复能力也远不及人类级别的调试所能达到的效果。
主题/分类:
- 主要类别:计算与语言 (cs.CL)
- 其他类别:人工智能 (cs.AI);编程语言 (cs.PL);软件工程 (cs.SE)
备注:本文已被 ICLR 2024 接收。增加了额外的 Code Llama 实验,并修正了一个影响 Code Llama 在 HumanEval 上报告的自我修复性能的数据处理错误。