GPT-4学会反思,写代码能力提升21%,和人类的思考方式一样
GPT-4再度进化!
加上一个简单方法,就能让GPT-4这类大语言模型学会自我反思,性能直接提升30%。
在此之前,大语言模型回答出错,经常是二话不说,直接先道歉,然后emmmmmm,继续乱猜。
(相关资料图)
现在,它不会这样了,有了新方法的加成,GPT-4不仅会反思自己哪里错了,还会给出改进策略。
比如说它会自动分析为什么“陷入循环”:
或者说反思一下自己有缺陷的搜索策略:
这是美国东北大学联合MIT发表的最新论文中的方法:Reflexion。
不仅适用于GPT-4,也适用于其他大语言模型,让它们学会人类特有的反思能力。
目前该论文已经发表在预印平台arxiv上。
这把直接让网友直呼“AI进化的速度已经超过我们适应的能力了,我们要被毁灭了。”
甚至有网友为开发人员发来“饭碗警告”:
用这种方法写代码的时薪是要比普通开发人员便宜的。
利用二元奖励机制实现反思
正如网友所言,Reflexion赋予GPT-4的反思能力和人类的思考过程差不多:
可以简单用两个字来概括:反馈。
在这个反馈过程中,又可以分为三大步:
1、评估:测试当前生成答案的准确性
2、自我反省的产生:错误识别——实现修正
3、执行一个迭代反馈循环
在第一步评估的过程中,首先要经历的是LLM(大语言模型)的自我评估。
也就是说LLM在还没有外部反馈时,首先要自己对答案进行反思。
那如何进行自我反思?
研究团队使用了一个二元奖励机制,为LLM在当前状态下执行的操作赋值:
1代表生成的结果OK,0则表示生成的结果不太行。
而之所以采用二元而非多值或连续输出这类更具描述性的奖励机制,原因和没有外部输入有关。
要在没有外部反馈的条件下进行自我反思,必须将答案限制在二元状态下,只有这样,才能迫使LLM做出有意义的推断。
在自我评估结束之后,如果二元奖励机制输出为1,则不启动自我反思装置,若为0,LLM则会开启反思模式。
在反思的过程中,模型会触发一个启发性函数h(如下),类比人类思考过程,h起到的作用就像是监督一样。
不过,同人类思考一样,LLM在反思的过程中同样也有局限性,这在函数中的Ω和ε中就能体现。
Ω表示重复连续动作的次数,一般会将这个数值设置为3,这表示反思过程中若重复一个步骤三次,会直接跳到下一个步骤。
而ε则表示在反思的过程中允许执行的最大操作数量。
既然有监督,那修正也必须执行,修正过程的函数是这样子的:
其中,自我反思模型是通过“特定领域的失败轨迹和理想反射对”训练而来的,并不允许访问数据集中给定问题的特定领域的解决方案。
这样一来,LLM在反思的过程中便能够迸发出更多有“创新性”的东西。
反思之后性能提升近30%
既然GPT-4这类LLM都能够进行自我反思了,那具体效果究竟如何?
研究团队在ALFWorld和HotpotQA基准上对这种方法进行了评估。
在HotpotQA的100个问答对测试中,使用Reflexion这种方法的LLM显示出了巨大的优势,再经过多轮反思重复提问之后,LLM的性能提升了接近30%。
而没有使用Reflexion,在重复问答之后,性能没有任何变化。
在HotpotQA的134个问答对测试中,可以看出在Reflexion的加持下,LLM经过多轮反思后,准确率一度达到97%。
在另外一篇博客中,团队成员也晒出了他们这种方法在GPT-4上的效果,测试范围是编写代码。
结果也显而易见,用了Reflexion,GPT-4的编程能力直接提升了21%。
关于GPT-4已经会“思考”了,你怎(huang)么(le)看(ma)?
论文地址:https://arxiv.org/abs/2303.11366
参考链接:[1]https://nanothoughts.substack.com/p/reflecting-on-reflexion
[2]https://www.reddit.com/r/MachineLearning/comments/1215dbl/r_reflexion_an_autonomous_agent_with_dynamic/
关键词: