机器之心编辑部
GPT-4 等大型语言模型(LLM)在许多推理任务上表现出色,然而,大部分现有研究仅关注静态环境下的任务,如回答问题或解数学题。那么,LLM 能否在真实世界中完成复杂的交互式任务呢?例如,如果我们想制作一个智能体(agent),让它在物理世界里完成一些实验,比如测试一个物体是否导电,我们可以使用 LLM 吗?这类复杂交互式任务(complex interactive tasks)具有很大的挑战性,因为它要求 LLM 不仅能理解动态变化的真实场景,还需要具备诸如长期规划(long-horion planning)、任务分解(task 的 composition)、记忆储存(memorization)、常识推理(commonsense reasoning)、异常处理(exception handling)等高阶认知和推理能力。
面对这种情况,如何充分发挥 LLM 的规划和推理能力,同时降低计算成本呢?认知心理学名著《思考,快与慢》(Thinking, Fast and Slow)中介绍的双过程理论(dual propcess theory)带来了很多启示。该理论认为,人类认知过程需要两个密不可分的系统,其中 System 1 负责快速直觉式思考,而 System 2 则负责慢速分析式思考。
基于此,AI2 (Allen Institute for AI) 的研究人员提出了 SwiftSage 智能体框架。他们通过模仿学习得到一个小型模型,然后将其与 LLM 进行融合。这样,便可以利用大量数据对小型模型进行微调,使其具备环境和任务相关的知识,并仅在需要时调用大型模型进行高阶推理。在 30 个任务上的评估中,SwiftSage 的表现超过了之前的 SayCan、ReAct 和 Relfexion 等方法近 2 倍,并且大幅降低了 LLM 部分的计算成本。
研究背景
以往的研究主要探索了三种方法来解决复杂的交互推理任务,传统的一些智能体训练方法包括
1)强化学习(Reinforcement Learning)
将交互式推理任务建模为部分可观察的马尔可夫决策过程(Partial Observable Markov Decision Process, POMDP),智能体通过反复尝试和学习最佳行动策略。常见的方法有 DRRN, KG-A2C,CALM 等。
2)模仿学习(Imitation Learning)
将交互式推理任务建模为序列到序列(Seq2Seq)任务,将过去的行动和当前的环境观察作为输入,当前的行动作为输出,智能体被训练以模仿人类或专家的行为。Text Decision Transformer 是这个方向的基准方法。
3)利用大型语言模型(Large Language Model,简称 LLM)提示
随着 LLM 的快速发展,尤其是 GPT-4 的出现,将 LLM 应用于复杂的交互式推理任务取得了显著的成果。除了通过传统方法直接让 LLM 根据过往行动和当前环境观察生成行动外,有研究通过直接调用 LLM 生成 action 候选池再结合环境重排序(SayCan),也有研究引入虚拟的 "think" 行动来生成子目标以实现更高效的行动(ReAct),以及在任务失败后利用 LLM 总结原因并生成反思以提高下一次尝试的成功概率(Reflection)等多种方式。
虽然传统方法在相对简单的任务中表现优异,但它们在更复杂和具有挑战性的任务中的泛化能力受限。无论是基于强化学习的方法还是行为克隆(Behavior Cloning),在将大目标分解为多个子任务、实现长期记忆和处理环境中的未知异常(比如在导电性测试中找不到可以使用的灯泡)方面都面临诸多挑战。
相较之下,利用 LLM 进行提示的方法展示出了在复杂任务中生成合理计划和根据人类反馈进行调整的能力,但同样存在一些问题和局限性。其中一个主要挑战是每次预测行动都需要调用 LLM,导致整体推理效率低下且成本较高。此外,ReAct 和 Reflection 两种方法还需要针对每种未知任务类型进行适当的子目标人工标注,否则在现实世界情境中的推广可能会比较困难。而如何将 LLM 生成的计划转化为真实
SwiftSage:融合模仿学习与大模型规划的全新框架
研究者受到人脑思维双系统模型理论(Dual Process Theory)的启发,提出一种全新的结合模仿学习和语言模型(LLM)方法的框架 ——SwiftSage。这一框架为真实世界中的复杂任务带来了的突破性解决方案。
在认知心理学领域,人脑思维双系统模型被用于解释人类思维和决策过程中的两种独特方式。根据该理论,人类的认知过程可分为两个相互关联但独立运作的系统:直觉型思维系统(系统 1)和反思型思维系统(系统 2)。
直觉型思维(系统 1)是一种快速、直观且自动的思考方式,主要依赖于个体的经验、情感和直觉。这种方式对于解决简单问题和日常决策具有较高的效率,但在面临复杂问题和重大决策时可能导致偏差和错误。
反思型思维(系统 2),与此相反,则是一种深思熟虑、有意识且理性的思考方式。该方式通过运用逻辑推理、规则和分析,为决策和问题解决提供了更加准确和合理的结果。然而,这种思维方式需要较多的认知资源和时间。
双系统模型理论的核心观点在于,人类思维和决策过程并非单一系统所驱动,而是两个系统之间相互作用、互补和竞争的结果。在许多情况下,直觉型思维系统在决策中发挥主导作用;而在需要深入思考和理性判断的场合,反思型思维系统的作用则变得更为重要。
AI2 团队提出的 SwiftSage 框架正是基于人脑思维双系统模型理论,将模仿学习和 LLM 方法的优势相互结合,以解决现实世界中的复杂数字任务,展现出了巨大的潜力和前景。
双模块推理系统:迅速决策的 Swift + 深思熟虑的 Sage
SwiftSage 是一个由两个主要模块组成的框架:迅速决策(Swift)模块和深思熟虑(Sage)模块。
Swift 模块是一个基于 encoder-decoder 的小型语言模型,它能编码短期记忆内容,例如先前的动作、当前观察结果、已访问的位置以及当前环境状态,并解码出下一步的行动。该模块模拟了系统 1 中快速、直观的思维特点。它的优势来自于大量的离线数据,通过在模仿学习中采用 behavior cloning 方法,Swift 模块可以充分了解目标环境中的设定以及更好地掌握任务的定义。
Sage 模块代表了系统 2 中深思熟虑的思维过程,它利用 LLM(例如 GPT-4)来更好地进行规划。Sage 模块包含两个 LLM Prompting 阶段,分别称为规划(planning)和融合(grounding)。
在规划阶段,主要目标是引导 LLM 定位所需物品、规划和追踪子目标以及检测和修正潜在的异常和错误。通过五个主要问题来实现这一目标,使得智能体能够更敏锐地捕捉游戏过程中的异常,进而更有可能纠正自身行为。
在融合阶段,主要目标是利用规划阶段五个问题的答案和详细的动作模板,将规划阶段输出的计划转化为一系列实际可执行的动作,这可以称为动作缓存(action buffer)。与之前的方法不同,Sage 不仅生成下一个即时动作,还包括长期的行动规划。LLM 收到包含子目标(在规划阶段生成)和支持的行动类型的提示(prompt),使它们能够生成一系列旨在实现当前子目标的动作(而不是像之前的方法那样一次生成一个动作)。这样一来,SwiftSage 进一步降低了动作预测的成本。
为了协调 Swift 和 Sage 模块,研究者们提出了一种启发式算法,用于确定何时激活或停用 Sage 模块以及如何有效地将输出与动作缓存机制相结合。默认情况下,智能体通常会采用 Swift 模块。当 Swift 模块遇到困难时(例如,出现如下图的四种情况),智能体会改为执行 Sage 模块产生的动作缓存。
实验结果:效率、性能和开销的全方位优秀表现
经过对 ScienceWorld 中的 30 种任务类型进行全面评估之后,SwiftSage 在性能上显著优于其他方法,取得了领先水平的平均分数 84.7。相较而言,SayCan 的得分仅为 33.8,ReAct 获得了 36.4 分,而 Reflexion 则达到了 45.3 分。
得益于其独特的双系统设计,SwiftSage 在 LLM 推理中所需的每个行动的令牌数量大幅减少,因此在成本效益和效率方面,它比单纯依靠 Prompting LLM 方法表现得更为出色。平均来看,为了产生一个行动,Saycan 和 ReAct 需要近 2000 个 token,Reflexion 需要接近 3000 个 token,而 SwiftSage 仅需约 750 个 token。
此外,SwiftSage 在交互式任务中的效率同样更高。如下图所示,SwiftSage 能够在较少的行动数内达到相同的分数。
在展示出卓越表现后,研究者们认为受益于人类认知双过程理论灵感的 SwiftSage 研究成果具有创新性及领先优势,无论是在性能、效率还是成本方面。这一独特框架采用了将较小的语言模型与模仿学习相结合,再辅以 LLM(大型语言模型)的规划能力,成为解决复杂交互推理任务以及构建通用人工智能的关键步骤。SwiftSage 所取得的突破使我们距离充分发挥 LLM 潜力更近一步,从而更有效地解决现实世界中的复杂问题。
结语
AI2 提出的 SwiftSage 成果再次展示了较小的 LM(语言模型)与 LLM(大型语言模型)协作框架的巨大潜力。通过利用较小的 LM 进行任务与环境特定模式的识别,实现了分布内泛化的高效性。同时,尽管 LLM 的零样本泛化能力和深度思考展现出显著优势,但将其输出应用于现实世界场景仍具有一定挑战性。研究者认为,采用双过程智能体,发挥这两种方法的优点,对解决复杂的交互式推理任务以及构建跨领域的通用智能体具有重要意义。进一步地,我们还可以将 SwiftSage 等模型视为一种利用 LLM 作为控制器或规划器,用于分解复杂任务并调用 API 工具。