「成熟」大模型才能涌现?MIT:GPT-4能自我纠错代
MIT、微软的研究发现,GPT-4能够自我纠正错误代码,GPT-3.5却不行。无独有偶,其他研究也表明,似乎只有「成熟」的大模型才具备涌现能力。背后的原因竟是因为……
我们都知道,大语言模型在生成代码方面,表现出了非凡的能力。天选然而,在具有挑战性的编程任务(比如竞赛和软件工程师的面试)中,它们却完成得并不好。
好在,很多模型会通过一种自修复工作流来「自省」,来自我纠正代码中的错误。
研究者很希望知道,这些模型在多大程度上能提供正确的反馈,并且说明自己生成的代码为什么是错误的。
近日,MIT和微软的学者发现, 在对GPT-4和GPT-3.5,只有GPT-4表现出了有效的自修复。并且,GPT-4甚至还能对GPT-3.5生成的程序提供反馈。
爱丁堡大学博士生符尧表示,自己的团队也发现了类似结果——只有GPT-4能够自我改进,而较弱的模型则不能。
也就是说,只有当模型足够「成熟」(规模大且对齐良好)时,可能存在一种新的「涌现能力」(即在自然语言反馈的基础上改进)。
只有足够「成熟」的模型才能听取并在自然语言反馈的基础上进行改进;较弱的模型要么无法理解反馈,要么无法对其进行改进。
我倾向于相信这种「涌现能力」(通过语言反馈自我改进)将对LLM的发展产生非常重大的影响,因为这意味着AI可以在很少的人工监督下持续不断地进行自主改进。
俄勒冈州立大学杰出教授Thomas G. Dietterich认为,这可能是LLM包含了多个子模型,这些子模型之间可能存在不一致性,而这种情况在更大的模型中更为常见。
「自我改进」是去除这些不一致性的过程。他的预测是,一旦这些不一致性被消除,自我改进将停止。
对此,符尧非常同意:「在上下文学习中使用自我改进,可能会一定程度上推动模型,但进展不会很大;而强化学习可能会推进得更远。之后,模型需要与世界进行交互,通过接受基于实际情境的反馈来进一步改进。」
不过,俄亥俄州立大学工程系杰出助理教授Yu Su则认为,这可能只是因为在指令微调的数据上存在一些无意的差异而已。
对此符尧表示,他在Claude模型上也发现了类似的行为——Claude-instant无法很好地响应语言反馈(因为它很难理解和遵循指令),但Claude可以。
大语言模型怎样通过自我修复提高性能?这个过程是靠模型的自省,自我纠正代码中的错误。
首先,我们会给定一个规范,从一个代码生成模型中给一个程序采样,然后在规范中的一组单元测试上执行这个程序。
如果程序在测试中失败,错误消息会被传送到反馈生成模型,输出一个代码失败原因的解释,然后把反馈传给修复模型。
从表面上看,这个工作流似乎非常完美。它让系统克服了在解码过程中不良样本引起的错误,还模仿了人类软件工程师写代码的试错方法。
然而,工作流有一个问题:自修复需要对模型进行更多的调用,从而增加了计算成本。
而且,研究者们发现了一个很有意思的现象:大模型自修复的有效性不仅取决于模型生成代码的能力,还取决于它对于代码如何在任务中犯错的识别能力。
目前还没有任何工作对此进行详细调查,因此,作者们研究了GPT-3.5和GPT-4在解决竞赛级代码生成任务时的自修复有效性。
他们提出了一种pass@t的新评估策略,在这个策略中,根据从模型中采样的token总数来衡量任务的通过率。
因为使用的是pass@t,而不是传统的pass@k(根据实验数量衡量通过率),这样就能与纯粹基于采样的方法进行公平的比较。
1. GPT-4才能实现自我修复带来的性能提升;对于GPT-3.5,在所有预算下,修复后的通过率要低于或等于基准的无修复方法。
2. 即使对于GPT-4模型,性能提升也最多只能算是适度的(在预算为7000个token的情况下,通过率从66%提高到71%,约等于45个独立同分布的GPT-4样本的成本),并且取决于初始程序的多样性足够丰富。
3. 使用GPT-4生成的反馈替换GPT-3.5对错误的解释,可以获得更好的自修复性能,甚至超过基准的无修复GPT-3.5方法(在7000个token下,从50%提高到54%)。
4. 使用人类程序员提供的解释替换GPT-4自己的解释,可以显著改善修复效果,修复并通过测试的程序数量增加了57%。
1. 对于更加有挑战的编程任务中,这些模型的自我修复是否比不进行修复的i.i.d.有更好的采样?
3. 如果让人类参与功能最强模型的自我修复循环,提供人工反馈,是否可以解锁更好的修复性能?
这个数据集中的任务包括从入门级到大学竞赛级的编程任务,可以用来评估人类程序员解决问题和代码能力。
研究人员选取了300个任务,包括60个入门级别的任务和60个竞赛级别的任务。
研究人员选取了GPT-3.5和GPT-4作为模型,使用模板字符串连接和单次提示词来进行自我修复。
在右边的图中,我们沿轴显示了具有两个超参数的热图,其中每个单元格中的值表示平均通过率,当给定相同的token预算(即t的相同值pass@t)时,自我修复由基线的平均通过率归一化。
从图中可以看到,对于GPT-3.5模型,pass@t在所有设置下都低于或等于相应的基线(黑),清楚地表明自我修复对GPT-3.5并不是一种有效的策略。
在最后一项实验中,想要研究在用更强的模型(GPT-4)进行修复时,加入专家人类程序员的反馈的影响。
研究目的是了解模型识别代码中错误的能力与人类的能力相比如何,以及这如何影响自修复的下游性能。
研究人员研究人员招募了16名参与者,包括15名研究生和1名专业机器学习工程师。
研究人员发现,当我们用人类参与者的调试替换GPT-4自己的调试时,总体成功率提高了1.57×以上。
实验表明,在AlphaGo Zero模式下,在定义明确的规则下,通过迭代AI反馈的持续比赛,某些模型确实可以得到改善。
比HuggingFace快24倍,伯克利神级LLM推理系统开源,碾压SOTA,让GPU砍半
「成熟」大模型才能涌现?MIT:GPT-4能自我纠错代码,GPT-3.5却不行
OpenAI放大招,将推出史上最强「模型商店」,打通所有ChatGPT应用
OpenAI放大招,将推出史上最强「模型商店」,打通所有ChatGPT应用天选团队
相关文章:
相关推荐:
网友评论: