GPT-4 写代码能力提升 21%!MIT 新方法让 LLM 学会反思,网友:和人类的思考方式一样
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)?
Pine 发自 凹非寺
本文源自:“量子位”公众号
卡奥斯开源社区是为开发者提供便捷高效的开发服务和可持续分享、交流的 IT 前沿阵地,包含技术文章、群组、互动问答、在线学习、大赛活动、开发者平台、OpenAPI 平台、低代码平台、开源项目等服务,社区使命是让每一个知识工人成就不凡。
评论