当GPT-4反思自己错了:性能提升近30%,编程能力提升21%
来源:51CTO.COM
时间:2023-04-20 07:57:23 344浏览 收藏
有志者,事竟成!如果你在学习科技周边,那么本文《当GPT-4反思自己错了:性能提升近30%,编程能力提升21%》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
人类在做错事时,会反思自己的行为,避免再次出错,如果让 GPT-4 这类大型语言模型也具备反思能力,性能不知道要提高多少了。
众所周知,大型语言模型 (LLM) 在各种任务上已经表现出前所未有的性能。然而,这些 SOTA 方法通常需要对已定义的状态空间进行模型微调、策略优化等操作。由于缺乏高质量的训练数据、定义良好的状态空间,优化模型实现起来还是比较难的。此外,模型还不具备人类决策过程所固有的某些品质,特别是从错误中学习的能力。
不过现在好了,在最近的一篇论文中,来自美国东北大学、MIT 等机构的研究者提出 Reflexion,该方法赋予智能体动态记忆和自我反思的能力。
为了验证方法的有效性,该研究评估了智能体在 AlfWorld 环境中完成决策任务的能力,以及在 HotPotQA 环境中完成知识密集型、基于搜索问答任务的能力,在这两项任务的成功率分别为 97% 和 51%。
论文地址:https://arxiv.org/pdf/2303.11366.pdf
项目地址:https://github.com/GammaTauAI/reflexion-human-eval
如下图所示,在 AlfWorld 环境中,房间里摆设了各种物品,要求让智能体给出推理计划以拿到某件物体,下图上半部分由于智能体低效的计划而失败。经过反思后,智能体意识到错误,纠正推理轨迹,给出简洁的轨迹方式(如图下半部分)。
模型反思有缺陷的搜索策略:
这篇论文表明,你可以通过要求 GPT-4 反思「你为什么错了?」并为自己生成一个新的提示,将这个错误原因考虑在内,直到结果正确,从而将 GPT-4 的性能提高惊人的 30%。
网友不禁感叹:人工智能的发展速度已经超过了我们的适应能力。
方法介绍
Reflexion 智能体的整体架构如下图 1 所示,其中 Reflexion 利用 ReAct(Yao et al., 2023)。在第一次试验中,智能体从构成初始查询的环境中获得任务,然后智能体执行由 LLM 生成的一系列动作,并从环境中接收观察和奖励。对于提供描述型或持续型奖励的环境,该研究将输出限制为简单的二元成功状态以确保适用性。
在每个动作 a_t 之后,智能体会计算一个启发性函数 h,如下图所示
这个启发性函数旨在检测智能体产生信息幻觉(即虚假或错误的信息)或效率低下,并「告诉」智能体何时需要反思(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。
智能体会迭代地进行上述反思过程。在实验中,该研究设置在智能体内存中存储的反思最多为 3 次,这是为了避免查询超出 LLM 的限制。以下几种情况,运行会终止:
- 超过最大试验次数;
- 未能在两次连续试验之间提高性能;
- 完成任务。
实验及结果
AlfWorld 提供了六种不同的任务和 3000 多个环境,这些任务要求智能体理解目标任务,制定子任务的顺序计划,并在给定环境中执行操作。
该研究在 134 个 AlfWorld 环境中测试智能体,任务包括寻找隐藏物体(例如,在抽屉里找到水果刀)、移动物体(例如,将刀移到砧板上 ),以及用其他对象来操纵另一个对象(例如,在冰箱中冷藏西红柿)。
在没有反思的情况下,智能体的准确率为 63%,之后加入 Reflexion 进行对比。结果显示,智能体在 12 次试验中能够处理好 97% 的环境,在 134 项任务中仅有 4 项没有解决。
接下来的实验是在 HotPotQA 中进行了,它是一个基于维基百科的数据集,包含 113k 个问答对,主要用来挑战智能体解析内容和推理的能力。
在 HotpotQA 的 100 个问答对测试中,该研究将基础智能体和基于 Reflexion 的智能体进行比较,直到它们在连续的试验中无法提高准确性。结果显示基础智能体并没有性能提高,在第一次试验中,基础智能体准确率为 34%,Reflexion 智能体准确率为 32%,但在 7 次试验后,Reflexion 智能体表现大幅改善,性能提升接近 30%,大大优于基础智能体。
类似地,在测试模型编写代码的能力时,加入 Reflexion 的 GPT-4 也显著优于常规的 GPT-4:
到这里,我们也就讲完了《当GPT-4反思自己错了:性能提升近30%,编程能力提升21%》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于GPT-4,AI的知识点!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
241 收藏
-
326 收藏
-
153 收藏
-
492 收藏
-
201 收藏
-
499 收藏
-
491 收藏
-
135 收藏
-
462 收藏
-
385 收藏
-
440 收藏
-
427 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习