我把科技上交国家GPT-4能自我改进而GPT-3却不行MIT与微软的代码实验新发现

  • 综合资讯
  • 2025年03月08日
  • 机器之心报道 编辑:赵阳 作为最领先的大模型,GPT-4能够自我纠正生成代码的能力,结合人类反馈,自我纠正能力还能进一步提高。 大型语言模型(LLM)已被证明能够从自然语言中生成代码片段,但在应对复杂的编码挑战,如专业竞赛和软件工程专业面试时,仍面临巨大的挑战。最近的研究试图通过利用自修复来提高模型编码性能。自修复是指让模型反思并纠正自己代码中的错误。 下图1显示了基于自修复方法的典型工作流程

我把科技上交国家GPT-4能自我改进而GPT-3却不行MIT与微软的代码实验新发现

机器之心报道

编辑:赵阳

作为最领先的大模型,GPT-4能够自我纠正生成代码的能力,结合人类反馈,自我纠正能力还能进一步提高。

大型语言模型(LLM)已被证明能够从自然语言中生成代码片段,但在应对复杂的编码挑战,如专业竞赛和软件工程专业面试时,仍面临巨大的挑战。最近的研究试图通过利用自修复来提高模型编码性能。自修复是指让模型反思并纠正自己代码中的错误。

下图1显示了基于自修复方法的典型工作流程。首先,给定一个规范,从代码生成模型中对程序进行采样;然后在作为一部分规范提供的一套单元测试上执行程序;如果程序在任一单元测试中失败,则将错误消息和错误程序提供给一个反馈生成模型,该模型输出代码失败原因的简短解释;最后,反馈被传递给修复模型,该模型生成程序的最终固化版本。

从表面上看,这是一个非常有吸引力的想法。这种设计能让系统克服在解码过程中由离群样本引起的错误;在修复阶段,可以轻松地整合来自编译器、静态分析工具和执行引擎等符号系统的反馈,并模仿人类软件工程师编写代码的试错方式。

实验绘制了这两个量的大致估计值。这两种方法都可以降低实验成本,因为它们重用相同数据集计算不同超参数设置下的通过率估计。本文使用APPs数据集评估了这些关于Python编程挑战的问题。

我们发现,对于GPT-3.5而言,无论n_p、n_fr取什么值,其self-repair策略都不如独立同分布采样的基准效率。而对于GPT-4,有几个n_p、n_fr组合其self-repair策略比基准效率更高。在某些情况下,比如当n_p=10且n_fr=3时,其通过率从65%提升到70%,当n_p=25且n_fr=1时,其通过率从65%提升至71%。

此外,我们还发现,当使用一个更强大的单独模式来产生反馈时,即使是GPT-3.5也可以突破其self-repair性能障碍,而这一点尤其明显地体现在与GPT-4相比,更糟糕的情况下。

最后,我们探索了是否存在人工智能参与调试过程会带来的额外益处,以及它如何影响后续性能。此次研究旨在了解人工智能识别出错的地方与人类相比如何,以及这如何影响后续性能,而不是直接比较人工循环或自动调试技术之间的人类参与者所带来的认知负担。

总结来说,当我们用人类参与者的调试替换掉GPT-4自己的调试的时候,全局成功率得到了超过157%以上提升。当任务变得越来越困难,这个差距会随着问题变得更加棘手而增加。这表明即使是世界级的人工智能,它们产生准确且有用的反应能力远不及我们的参与者提供帮助的事实说明了一切。

此外,我们还对人类参与者为何选择伪代号或显式Python语句进行分析,他们几乎所有贡献出的回应都是自然语言,有时候穿插一些数学/代码表达式。但另一方面,GPT-4则更多倾向于提出小范围内改动建议,在32/80的情形下表现出了误差,而只有7/80的情形出现于人类贡献者的回应里。这意味着尽管人工智能可能会很快适应新环境,但是他们往往缺乏足够细致入微地捕捉到潜藏问题的地方,因此需要不断学习以弥补这一不足之处。