论文见解:REACT:在语言模型中协同推理和行动

摘要

我阅读了普林斯顿大学和谷歌大脑研究人员的《REACT:在语言模型中协同推理和行动》。该论文发表在 ICLR 2023 上,讨论了一种 LLM 提示方法,该方法帮助 LLM 在需要推理和行动的复杂环境中表现良好。

人类可以轻松地将以任务为导向的行动与口头推理结合起来。行动和推理之间的这种协同作用使人类能够快速学习新任务,并针对看不见的情况做出稳健的决策。

一、目前存在的问题:

诸如"思维链"之类的提示方法是黑匣子,这意味着模型使用内部表示来生成思想,而不是使用外部世界。这可能导致幻觉,正如本文后面所见。

预训练模型以前曾用于在交互式环境中进行规划和行动。他们将多模态观察结果转换为文本,并使用语言模型生成作(WebGPT、作为零样本规划器的语言模型、保持冷静和探索)。确实会出现一些问题。这些预训练模型尚未利用语言模型来执行抽象推理。他们缺乏工作记忆,这对于长期任务很重要。最后,他们缺乏对复杂环境的探索。

二、提出的解决方案:ReAcT(推理 + 行动)

ReAcT 提示 LLM 生成与任务相关的口头推理跟踪和作,以便模型显示高级推理。ReAcT 为行动(行动的理由)以及与环境交互以检索推理的附加信息(行动到理由)创建高级计划。该论文对以下内容进行了测试:

• 问答(HotputQA 数据集)

• 事实验证(FEVER数据集)

• 基于文本的游戏(ALFWorld)

• 网页导航(Webshop)

三、技术实现:

在每个时间步长 t 上,代理都会收到一个 O o_t ∈观察。代理执行 B a_t ∈作,其中 B = A ∪ L。

• A:与外部环境相互作用的行动空间。

• L:用于推理思想的语言空间。

代理根据策略行事( π(a_t | c_t) ):

• c_t = (o_1, a_1, ... , o_t-1, a_t-1) 是时间 t 的上下文。

• a_t要么是推理,要么是行动。

该策略使用冻结的 LLM(论文中的 PaLM)来实现。LLM 会提示一些人工注释的上下文演示。然后模型将生成下一个自回归的标记,无论是想法还是行动。

行动a_t∈A 会在上下文中引起新的 o_t+1,而思想 (a_t∈L) 则不会。

优势:

• 直观且易于设计的 ReAcT 提示。

• 通用和灵活

• 健壮,可以很好地推广到新任务。

四、实验设计与结果

1、在 ReAcT 上测试的任务:知识密集型推理任务:

• 使用HotPotQA和FEVER数据集。

作者设计了一个具有 3 个功能的维基百科 API:

• search[unity]:返回前 5 个 wiki 页面或 5 个类似的 wiki 页面。

• lookup[string]:返回包含字符串的页面中的下一个句子。

• finish[answer]:使用答案完成当前任务。

• 目的是模拟人类如何与维基百科互动。

对于少量学习,他们从 HotPotQA 中获取了 6 个示例,从 FEVER 中获取了 3 个示例,每个示例包含多个动作观察步骤。

消融部分:

用于通过删除某些组件来针对 ReAcT 进行计算的基线模型。

• 标准提示:基本提示(无思想、无行动、无观察)。

• 思维链:删除动作和观察,只保留推理。CoT-SC:生成 21 种不同的推理路径并进行多数投票,这有利于减少幻觉。

• 仅行动提示 (ACT):在删除想法的同时保留行动和观察。

当 ReAcT 未能在给定步骤内返回时,使用 CoT-SC。如果来自 n 个 CoT-SC 样品的大多数答案出现少于 n/2 次,则再次使用 ReAcT,这表明存在一定的不确定性。

结果:

• ReAcT 的表现始终优于 ACT。

• 幻觉是 CoT 的一个问题。

• 通过搜索检索知识对于 ReAcT 来说很重要。

• ReAcT + CoT-SC 在微调方面表现最佳。

2 在 ReAcT 上测试的任务:决策任务:

用于决策任务的数据集:ALFWorld 和 Webshop。

ALFWorld:模拟基于文本的家务。

• 一个任务实例最多可以有 50 个不同的家庭位置,这会导致 50 个步骤。

• 作者从训练数据中随机选择了 3 个任务,并包括稀疏的思想(关键推理步骤)来指导智能体。他们通过要求智能体分解目标、跟踪子目标完成情况、确定下一个子目标和常识性推理来做到这一点。

• 3 个随机任务作为少量示例,以便代理可以推广到新情况。

结果:

• 使用 ReAcT 提示的最佳跟踪导致 71% 的成功率,最差的跟踪导致 48% 的成功率。

• ReAcT 的表现优于 ACT(47%)和 BUTLER(37%)

• ACT 无法分解复杂的目标,而 ReAcT 则使用思考和推理。

相关推荐
来酱何人3 小时前
低资源NLP数据处理:少样本/零样本场景下数据增强与迁移学习结合方案
人工智能·深度学习·分类·nlp·bert
ChinaRainbowSea3 小时前
11. Spring AI + ELT
java·人工智能·后端·spring·ai编程
一枚前端小能手3 小时前
🚫 请求取消还在用flag?AbortController让你的异步操作更优雅
前端·javascript
玄月三初3 小时前
超算互联网平台配置老一点的mmsegmentation环境
人工智能·计算机视觉·语义分割
AI新兵3 小时前
AI大事记12:Transformer 架构——重塑 NLP 的革命性技术(下)
人工智能·架构·transformer
鸿蒙小白龙3 小时前
OpenHarmony平台大语言模型本地推理:llama深度适配与部署技术详解
人工智能·语言模型·harmonyos·鸿蒙·鸿蒙系统·llama·open harmony
古茗前端团队3 小时前
小程序 Galacean Effect实践
react.js
code_YuJun3 小时前
前端脚手架开发流程
前端
jerryinwuhan4 小时前
对图片进行解释的大语言模型
人工智能·语言模型·自然语言处理