当GPT-4反思自己错了:性能提升近30%,编程能力提升21%

关注并星标

从此不迷路

计算机视觉研究院

a6c8c1b61d399c891b03b59db8f61c2e.gif

f3687b9e80af21c409f90ebca1ecc6b5.gif

公众号IDComputerVisionGzq

学习群扫码在主页获取加入方式

计算机视觉研究院专栏

作者:Edison_G

GPT-4 的思考方式,越来越像人了。

转自《机器之心》

扫描二维码关注公众号,回复: 14871238 查看本文章

人类在做错事时,会反思自己的行为,避免再次出错,如果让 GPT-4 这类大型语言模型也具备反思能力,性能不知道要提高多少了。

众所周知,大型语言模型 (LLM) 在各种任务上已经表现出前所未有的性能。然而,这些 SOTA 方法通常需要对已定义的状态空间进行模型微调、策略优化等操作。由于缺乏高质量的训练数据、定义良好的状态空间,优化模型实现起来还是比较难的。此外,模型还不具备人类决策过程所固有的某些品质,特别是从错误中学习的能力。

不过现在好了,在最近的一篇论文中,来自美国东北大学、MIT 等机构的研究者提出 Reflexion,该方法赋予智能体动态记忆和自我反思的能力。

为了验证方法的有效性,该研究评估了智能体在 AlfWorld 环境中完成决策任务的能力,以及在 HotPotQA 环境中完成知识密集型、基于搜索问答任务的能力,在这两项任务的成功率分别为 97% 和 51%。

3c9d8280abab7aeeae5b0ccbae416cd8.png

论文地址:https://arxiv.org/pdf/2303.11366.pdf

项目地址:https://github.com/GammaTauAI/reflexion-human-eval

如下图所示,在 AlfWorld 环境中,房间里摆设了各种物品,要求让智能体给出推理计划以拿到某件物体,下图上半部分由于智能体低效的计划而失败。经过反思后,智能体意识到错误,纠正推理轨迹,给出简洁的轨迹方式(如图下半部分)。

40abc9b73dd11016478af6e45c7a25a4.png

模型反思有缺陷的搜索策略:

9a4f572e345187299c8322c4fbdff1da.png

这篇论文表明,你可以通过要求 GPT-4 反思「你为什么错了?」并为自己生成一个新的提示,将这个错误原因考虑在内,直到结果正确,从而将 GPT-4 的性能提高惊人的 30%。

0bb4f0519879c063e1c653d4c13a6697.png

网友不禁感叹:人工智能的发展速度已经超过了我们的适应能力。

ab83441979c5920fda57ad65156c04fe.png

方法介绍

Reflexion 智能体的整体架构如下图 1 所示,其中 Reflexion 利用 ReAct(Yao et al., 2023)。在第一次试验中,智能体从构成初始查询的环境中获得任务,然后智能体执行由 LLM 生成的一系列动作,并从环境中接收观察和奖励。对于提供描述型或持续型奖励的环境,该研究将输出限制为简单的二元成功状态以确保适用性。

2d62aca2ef9230213443849675b7f7ac.png

在每个动作 a_t 之后,智能体会计算一个启发性函数 h,如下图所示

2c45baf598d66c66d924828d6a2112f4.png

这个启发性函数旨在检测智能体产生信息幻觉(即虚假或错误的信息)或效率低下,并「告诉」智能体何时需要反思(reflexion),其中 t 是 time step,s_t 是当前状态,Ω 表示重复动作循环的次数,ε 表示执行动作的最大总数,[a_o, o_0 . . . , a_(t−1), o_(t−1)] 代表轨迹历史。repeat 是一个简单的函数,用于确定产生相同结果的重复动作循环的次数。

如果函数 h 告诉智能体需要反思,那么智能体会查询 LLM 以反映其当前任务、轨迹历史和上次奖励,然后智能体在后续试验中会重置环境再重试。如果函数 h 没有告诉智能体需要反思,那么智能体会将 a_t 和 o_t 添加到其轨迹历史记录中,并向 LLM 查询下一个动作。

如果如果启发式 h 建议在 time step t 时进行反思,则智能体会根据其当前状态 s_t、最后的奖励 r_t、先前的动作和观察 [a_0, o_0, . . . , a_t, o_t],以及智能体现有的工作存储 mem,启动一个反思过程。

反思的目的是通过反复试验帮助智能体纠正「幻觉」和低效率问题。用于反思的模型是一个使用特定的失败轨迹和理想的反思示例来 prompt 的 LLM。

90007481b36173b531cea5dc656830df.png

智能体会迭代地进行上述反思过程。在实验中,该研究设置在智能体内存中存储的反思最多为 3 次,这是为了避免查询超出 LLM 的限制。以下几种情况,运行会终止:

  • 超过最大试验次数;

  • 未能在两次连续试验之间提高性能;

  • 完成任务。

实验及结果

AlfWorld 提供了六种不同的任务和 3000 多个环境,这些任务要求智能体理解目标任务,制定子任务的顺序计划,并在给定环境中执行操作。

该研究在 134 个 AlfWorld 环境中测试智能体,任务包括寻找隐藏物体(例如,在抽屉里找到水果刀)、移动物体(例如,将刀移到砧板上 ),以及用其他对象来操纵另一个对象(例如,在冰箱中冷藏西红柿)。 

在没有反思的情况下,智能体的准确率为 63%,之后加入 Reflexion 进行对比。结果显示,智能体在 12 次试验中能够处理好 97% 的环境,在 134 项任务中仅有 4 项没有解决。

17394d9f86ae3f44c14bf3602918d90d.png

接下来的实验是在 HotPotQA 中进行了,它是一个基于维基百科的数据集,包含 113k 个问答对,主要用来挑战智能体解析内容和推理的能力。

在 HotpotQA 的 100 个问答对测试中,该研究将基础智能体和基于 Reflexion 的智能体进行比较,直到它们在连续的试验中无法提高准确性。结果显示基础智能体并没有性能提高,在第一次试验中,基础智能体准确率为 34%,Reflexion 智能体准确率为 32%,但在 7 次试验后,Reflexion 智能体表现大幅改善,性能提升接近 30%,大大优于基础智能体。

00c495491881388057b317344c799095.png

类似地,在测试模型编写代码的能力时,加入 Reflexion 的 GPT-4 也显著优于常规的 GPT-4:

cf601304cccee5ddd5c5bcc97f39366b.png

参考链接:

https://nanothoughts.substack.com/p/reflecting-on-reflexion

https://twitter.com/blader/status/1639728920261201921

© The Ending

转载请联系本公众号获得授权

0c07f3e382848dffdcf0e9c4aaf625fb.gif

计算机视觉研究院学习群等你加入!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

c81c4513215a8abc2fdbee947a06940f.jpeg

扫码关注

计算机视觉研究院

公众号IDComputerVisionGzq

学习群扫码在主页获取加入方式

猜你喜欢

转载自blog.csdn.net/gzq0723/article/details/129828136