科学技术部揭秘GPT-4能自我进步GPT-3却无能为力MIT与微软代码实验新发现了什么

  • 学术交流
  • 2025年03月08日
  • 机器之心报道 编辑:赵阳 作为最先进的大型语言模型,GPT-4 能够自我纠正生成代码,并结合人类反馈进一步提高其性能。 大型语言模型(LLM)已经能够从自然语言中生成代码,但在面对复杂编码挑战时仍然存在巨大的困难。最近的研究尝试通过利用自修复来提升模型的编码能力。自修复指的是让模型反思并修正自己代码中的错误。 下图展示了基于自修复方法的典型工作流程。在这个过程中,首先给定一个规范

科学技术部揭秘GPT-4能自我进步GPT-3却无能为力MIT与微软代码实验新发现了什么

机器之心报道

编辑:赵阳

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

大型语言模型(LLM)已经能够从自然语言中生成代码,但在面对复杂编码挑战时仍然存在巨大的困难。最近的研究尝试通过利用自修复来提升模型的编码能力。自修复指的是让模型反思并修正自己代码中的错误。

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

这种设计能让系统克服解码过程中的离群样本引起的错误,并且可以轻松地整合来自编译器、静态分析工具和执行引擎等符号系统的反馈,模仿人类软件工程师编写代码时的试错方式。

实验绘制了两个量——通过率与 token 数量之间关系,以及树大小与通过率之间关系,以评估不同超参数选择下的性能。这两种度量都使用了 bootstrapped estimates 方法来降低计算成本。

研究者针对以下问题进行了相关实验:

(a)对于具有挑战性编程难题的情境下,本文提出的方法是否比不使用自修复更有效?

(b)更强大的反馈会提高或降低预测性能?

(c)即使是最强大的人类参与也能带来更好的预测效果?

本文使用 APPS 数据集评估了这些关于 Python 编程挑战的问题。

结果显示,对于 GPT-3.5 模型,无论 n_p 和 n_f 的取值如何,都无法超过相应基线,这说明 GPT-3.5 不适合采用自我纠正策略。而对于 GPT-4,有几个 n_p 和 n_f 值,其自我纠正在某些情况下显著优于基准线。

GPT-4 的改进还体现在它为其他弱点提供了一种解决方案,即它可以以一种更加有用的方式识别和处理潜在的问题,从而减少需要由人类专家介入的情况。

猜你喜欢