GPT-4能否自我进化MIT与微软代码实验揭示新发现科技传承的秘密何在
机器之心报道
编辑:赵阳
GPT-4的自我进化能力如何?MIT与微软的代码实验揭示新发现,科技传承的秘密何在?
大型语言模型(LLM)已被证明能够生成代码,但在面对复杂编码挑战时仍遇到巨大难题。最近的研究尝试通过利用自我修复来提高模型编码性能。自我修复是指让模型反思并纠正自己的代码错误。
下图展示了基于自我修复方法的典型工作流程。在这个过程中,首先给定一个规范,从代码生成模型中对程序进行采样;然后在作为规范的一部分提供的一套单元测试上执行程序;如果程序在任一单元测试中失败,则将错误消息和错误程序提供给反馈生成模型,该模型输出代码失败原因的简短解释;最后,反馈被传递给修复模型,该模型生成最终固化版本。
这种设计能让系统克服解码过程中的离群样本引起的错误,并模仿人类软件工程师编写代码时试错方式。
实验绘制了两种量——通过率和树大小——bootstrapped estimates。这降低了实验计算成本,因为可以重用相同初始数据集来计算不同选择估计。
研究者针对以下问题进行了相关实验:
(a)对于具有挑战性编程难题,本文提出的模式是否比不使用模式更有效?
(b)更强大的反馈会提高修复性能吗?
(c)即使是最强大的模式,让人参与提供反馈会带来更好的修复性能吗?
结果显示,对于GPT-3.5,无论n_p、n_fr取多少,其pass@t都低于或等于相应基线,这表明自我修复不是GPT-3.5有效策略。而对于GPT-4,有几个n_p、n_fr值,其self-repair通过率明显优于基线。
此外,本文还评估了使用一个单独,更强的大型语言模型作为反馈源,以及人类参与者的调试影响。
结果总结显示,当使用人类参与者的调试代替GPT-4自己调试时,总体成功率增加1.57倍以上。当任务变得更加困难时,相对差异也会增加,这表明当任务越困难时,GPT-4产生准确有用反馈能力远远落后于人类参与者。
此外,还分析了人类参与者提供与GPT-4提供之间差异的人类自然语言几乎所有输入,而获得的大多数仅包含少量数学/代码表示。