REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS阅读与理解
摘要
虽然大型语言模型(LLMs)在语言理解和交互式决策方面的表现令人印象深刻,但它们的推理能力(如思维链提示)和行动能力(如行动计划生成)主要是作为单独的主题进行研究的。本文中探索了LLMs的使用,以交错的方式生成推理跟踪和任务特定的操作,允许两者之间更大的协同作用:推理跟踪帮助模型诱导、跟踪和更新操作计划以及处理异常,而操作允许它与外部来源(如知识库或环境)交互并收集额外的信息。方法(称为ReAct)应用于各种语言和决策任务,并在最先进的基线上证明了它的有效性,此外还提高了人类的可解释性和可信度。具体来说,在问答(HotpotQA)和事实验证(Fever)上,ReAct通过与简单的Wikipedia API交互,克服了思维链推理中普遍存在的幻觉和错误传播问题,并生成了比没有推理痕迹的基线更可解释的类似人类的任务解决轨迹。
此外,在两个交互式决策基准(ALFWorld和WebShop)上,ReAct在只有一个或两个上下文示例提示的情况下,其绝对成功率分别超过模仿和强化学习方法的34%和10%。
1 简介
人类智能的一个独特特征是能够将任务导向的行为与言语推理(或内部言语,Alderson-Day & Fernyhough, 2015)无缝结合,理论上这在人类认知中发挥着重要作用,以实现自我调节或策略化(Vygotsky, 1987;仅有1965;Fernyhough, 2010)和维持工作记忆(Baddeley, 1992)。“行动”和“推理”之间的紧密协同作用使人类能够快速学习新任务,并执行强有力的决策或推理,即使是在预先看不见或面临信息不确定的情况下。
最近的研究结果暗示了将口头推理与自主系统中的交互式决策相结合的可能性。一方面,适当prompt的大型语言模型(LLMs)已经展示了执行一些获得算术、常识和符号推理任务中问题答案(Wei et al, 2022)的推理踪迹步骤的涌现能力。然而,这种“思维链(chain of thought)”推理是一个静态黑盒,因为模型使用自己的内部表征来产生思想,不以外部世界为基础,这限制了它的反应性推理或更新知识的能力。这可能导致诸如事实幻觉和推理过程中的错误传播等问题(图1 (1b))。另一方面,最近的工作探索了在交互式环境中使用预训练的语言模型进行规划和行动(Ahn等人,2022;Nakano et al ., 2021;Yao等,2020;Huang等人,2022a),重点是通过语言先验预测行为。这些方法通常将多模态观察转换为文本,使用语言模型生成特定于领域的操作或计划,然后使用控制器选择或执行它们。然而,他们没有使用语言模型对高层次目标进行抽象推理,也没有维持工作记忆来支持行动,这阻碍了Huang等人(2022b)通过有限形式的口头推理来重申关于当前状态的空间事实。除了这些简单的具体化任务与几个块交互之外,还没有研究推理和行为如何以协同的方式结合起来解决一般任务,以及与单独推理或行动相比,这种结合是否能带来系统的好处。
本文提出了ReAct,这是一种将推理和行为与语言模型相结合的通用范式,用于解决各种语言推理和决策任务(图1)。ReAct提示LLMs以交错的方式生成口头推理痕迹和与任务相关的动作,这允许模型执行动态推理以创建、维护和调整高级行动计划(行动理由)。同时也与外部环境(如维基百科)互动,将额外的信息纳入推理(从行动到推理)。
本文在四个不同的基准模型上对ReAct和SOTA模型进行了实证评估:问答(HotPotQA, Yang等人,2018),事实验证(Fever, Thorne等人,2018),基于文本的游戏(ALFWorld, Shridhar等人,2020b)和网页导航(WebShop, Yao等人,2022)。**对于HotPotQA和Fever,通过访问模型可以与之交互的维基百科API, ReAct优于普通的动作生成模型,同时与思维链推理(CoT)竞争(Wei et al, 2022)。**总的来说,最好的方法是ReAct和CoT的结合,它允许在推理过程中使用内部知识和外部获得的信息。 **在ALFWorld和WebShop上,两次甚至一次的ReAct提示能够胜过使用 1 0 3 − 1 0 5 10^3 -10^5 103−105个任务实例训练的模仿或强化学习方法,成功率分别提高34%和10%。**本文还展示了稀疏、通用推理在决策制定中的重要性,展示了相对于只有行动的受控基准模型的一致优势。除了一般适用性和性能提升之外,推理和行为的结合还有助于模型的可解释性、可信度和所有领域的可诊断性,因为人类可以很容易地从模型的内部知识和外部环境中区分信息,以及检查推理痕迹以了解模型行为的决策基础。
总而言之,本文主要贡献如下:(1)引入了ReAct,这是一种新的基于提示的范式,用于在语言模型中协同推理和行为,以解决一般任务;(2)在不同的基准测试中进行了广泛的实验,以展示ReAct在几次学习设置中的优势,而不是先前单独执行推理或动作生成的方法;(3)提出了系统的消融和分析,以理解在推理任务中行动的重要性,以及在互动任务中推理的重要性;(4)我们分析了prompt下ReAct的局限性(即对推理和行动表现的有限支持),并进行了初步的微调实验,显示了ReAct在额外训练数据下的改进潜力。扩展ReAct以训练和操作更多的任务,并将其与强化学习等互补范例相结合,可以进一步释放大型语言模型的潜力。
2 .反应:协同推理+交流
考虑一个代理与解决任务的环境交互的一般设置。在时间 t t t, a g e n t agent agent接收到来自环境的观测值 o t ∈ O o_t∈O ot∈O,并根据某个策略 π ( a t ∣ c t ) π(a_t |c_t) π(at∣