2025-03-09 手机 0
机器之心报道
编辑:赵阳
GPT-4的自我进化能力如何?MIT与微软的代码实验揭示了芯片技术的新秘密,GPT-3却无能为力。
大型语言模型(LLM)已被证明能够生成代码,但在面对复杂编码挑战时仍然有很大的局限性。最近的一项研究尝试通过利用自我纠正来提高模型编码性能。这一方法是指让模型反思并修正自己代码中的错误。
下图展示了基于自我纠正方法的典型工作流程。首先,给定一个规范,从代码生成模型中对程序进行采样;然后在作为一部分规范提供的一套单元测试上执行程序;如果程序在任一单元测试中失败,则将错误消息和错误程序提供给一个反馈生成模型,该模型输出代码失败原因的简短解释;最后,反馈被传递给修复模型,该模型生成程序的最终固化版本。
从表面上看,这是一个非常吸引人的想法。这种设计可以让系统克服在解码过程中由离群样本引起的错误;在修复阶段,可以轻松地整合来自编译器、静态分析工具和执行引擎等符号系统的反馈,并模仿人类软件工程师编写代码的试错方式。
实验绘制了这些量的大量随机抽样的估计。为了获得这些数值,本文首先为每个任务规范生成一个非常大的修复树,其中:有 N_p≥n_p 个初始程序样本;每个错误程序有 N_f≥n_f 个反馈字符串;并且每个反馈串有 N_r≥n_r 个修复候选。给定(n_p,n_f,n_r)的设置,然后从这个冻结数据集中对 N_t 个不同的修复树进行子采样(带替换)。最后,本文计算了这 N_t 棵树上通过率和树大小的样本均值和标准差。
本文使用 APPS 数据集评估了这些关于 Python 编程挑战的问题。
实验结果显示,对于 GPT-3.5 模型,pass@t 在所有 n_p 和 n_fr 选值中,都低于或等于相应基线,这清楚地表明自我纠正不是 GPT-3.5 的有效策略。而对于 GPT-4,有几个 n_p 和 n_fr 值,其自我纠正通过率明显优于基线。
GPT-4 的强大功能包括其更好的理解能力,使其能够更准确地识别出需要修改的地方。此外,与依赖人类参与者调试相比,在某些情况下,即使是最强大的自动化工具也可能无法完全替代人类参与者的直觉和创造力。
然而,这项研究也发现了一些限制。当问题变得越来越困难时,即使是最强大的 AI 也可能会出现偏差。这意味着即便是像 GPT-4 这样的高级语言处理技术,也不能保证总能解决所有类型的问题。在未来,我们希望继续探索如何进一步提升 AI 的性能,以便它们能够处理更加广泛范围内的问题,并且与人类合作以共同推动科技发展。