科技资讯网站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%。
此外,本文还评估了使用更强反馈模式影响self-repair性能。这是为了检验一种假设,即如果没有内省或调试自己的能力,那么即使是GPT-4也无法有效地进行self-repair。在这个实验结果(亮蓝线)中,我们看到M_P=GPT-3.5,M_F=GPT-4确实突破了性能障碍,并且比独立同分布采样的基准稍微好一些。这表明反馈阶段至关重要,它可以缓解GPT-3.5 self-repair瓶颂数量。
最后,本文探讨了人参与调试如何影响GPT-4 self-repair成功率。在这个实验中,我们发现,当人类参与者替代GPT-4调试时,全局成功率翻倍以上。此外,我们还发现随着问题难度增加相对差异也会加大,这意味着当任务变得更加困难时,GPT-4产生准确和有用回应能力远不及我们的参与者。
因此,只有通过深入理解人工智能技术以及它如何与人类协作才能真正解决现有的技术挑战。本次研究揭示了一些关键点,如需要强大的AI以支持自动化过程,以及需要多样化初始样本,以便AI能够学习更多不同的解决方案。此外,还需要开发出更好的算法,以帮助AI更好地理解自然语言并根据所需做出决策。