迈向AI强化通用人工智能:认知语言模型和基础模型在终身学习革命中的作用
走向强化AI通用人工智能:认知语言模型和基础模型在终身学习革命中的重要作用
整合持续学习进展的创新,朝着人工通用智能 (AGI) 的方向前进,包括 VOYAGER、DEPS 和 AutoGPT。
作者: Elahe Aghapour, Salar Rahili
引言:
过去十年,特别是深度学习的成功,关于构建人工通用智能 (AGI) 的可能性已经引发了一系列讨论。AGI 的最终目标是创建一个能够执行人类能力范围内任何任务的智能体。这种智能体所需的核心功能是能够不断学习新技能,并利用已学技能更快地学习更复杂的技能。这些技能必须被分解为子任务,智能体通过与环境的交互,在失败中学习直至成功。学会一项新技能后,智能体应将该技能整合到其已获得技能的存储库中,以供将来使用。大型语言模型 (LLM) 表明它们对世界的理解和完成不同任务的方式是良好的。在过去几年中,已经发表了一系列有趣的文章,旨在使用LLM作为持续学习的核心决策者。这些作品大多选择了类似 Crafter 或 Minecraft 的测试环境,因为它能够模拟AGI的最终目标——生存和繁荣。
为了探索这一领域的最新进展,我们首先概述了促进学习过程的各种构建模块的协同功能。随后,我们深入研究了每个组件的具体情况,并比较了它们在不同研究文章中的实现和功能。
概述:
为了发展学习/完成任务的迭代连续过程,许多推荐的框架采用了一个可识别的过程。具有反馈控制或强化学习背景的人士会注意到类似的结构(参见图1);然而,也有一些值得注意的补充,可以最小化人工手动输入并增强过程自动化。
作为第一步,人类会将一个广义任务分配给智能体,以实现终身学习的主要目标。这个任务通常以一个提示的形式来概述主要目标,例如,“探索环境,并完成尽可能多样的任务”。根据这个广义定义的目标,规划器将目标分解为一系列可执行、可理解的子任务。这种分解需要对智能体操作环境的理解。由于LLMs已经接受了大量数据的训练,它们可能是担任规划者的最佳候选人。此外,任何补充的、明确的或手动的上下文都可以增强它们的性能。
在选择器模块内,规划器提供了一组派生子任务。选择器根据主要目标和评论者的见解确定最合适的下一个子任务,不仅能产生最佳结果,还能满足先决条件。控制器的工作是生成行动以完成当前子任务。为了最小化冗余努力并利用先前获得的任务,一些研究提出将记忆模块纳入其中。该模块用于检索最相似的已学任务,从而将它们整合到正在进行的工作流中。
然后,生成的动作被引入环境中。为了评估最近行动的影响,评论者监控环境状态,并提供反馈,包括识别任何缺陷、失败原因或潜在任务完成。基于LLM的评论者需要文本输入,这由描述器块完成,以描述/转换环境和智能体的状态为文本形式。评论者然后向规划器提供上一次尝试的情况,为下一次尝试提供全面的反馈。
构建模块描述:比较设计和实现在研究中的差异
在本节中,我们将详细探讨每个模块,讨论不同研究者采用的各种方法。
规划模块
该组件在给定环境中组织终身学习任务。最终目标可以像在DEPS中一样手动给出,或者更像是一个指导原则,即鼓励学习多样性行为作为规划模块的一部分,例如在VOYAGER中。
基于LLM的规划模块通过设置与代理的当前状态、技能水平和提示中提供的说明相一致的任务来编排学习过程。这种功能被集成到LLM中,基于这样一个假设:它们在训练过程中已经经历了类似任务分解的过程。然而,这个假设在SPRING中是无效的,因为他们在Crafter环境上进行了实验,该环境是在GPT-3.5和GPT-4模型的数据收集之后发布的。因此,他们提出了一种方法,从环境手册文本中提取所有相关信息,然后将其总结成一个小规模的上下文,将其拼接到后续的提示中。在实际应用中,代理会遇到各种环境,其复杂程度不同,这样直接而高效的方法可以避免需要对新开发的任务进行预训练模型的微调。
VOYAGER使用GPT-4作为自动课程模块,根据探索进展和代理状态提出越来越困难的任务。其提示包括多个组成部分,例如:(1) 在设置约束的同时鼓励探索,(2) 当前代理状态,(3) 先前完成和失败的任务,(4) 来自另一个GPT-3.5自问自答模块的任何额外上下文。然后,它输出一个要由代理完成的任务。
DEPS在不同环境中使用CODEX、GPT-4、ChatGPT和GPT-3作为其LLM规划模块。提示包括:(1) 强大的最终目标(例如在Minecraft环境中获得钻石),(2) 最近生成的计划,(3) 环境的描述和解释。为了提高计划的效率,DEPS还提出了一个状态感知的Selector,根据当前状态从规划器生成的候选目标集选择最近的目标。在复杂的环境中,常常存在多个可行的计划,而其中许多计划在执行中证明效率低下,并且计划中的一些目标可以以任意顺序执行,具有灵活性。优先处理较近的目标可以提高计划的效率。为此,他们训练了一个神经网络,使用离线轨迹来预测和排序在当前状态下完成给定目标所需的时间步骤。规划器与选择器的协作将生成一系列需要完成的任务。
控制模块:
控制器的主要责任是选择下一步行动以完成给定任务。控制器可以是另一个LLM(例如VOYAGER),也可以是一个深度强化学习模型(例如DEPS),它根据状态和给定任务生成行动。在一个互动提示中,VOYAGER利用GPT-4来扮演控制器的角色。VOYAGER、Progprompt和CaP选择将代码作为行动空间,而不是低级运动命令。对于长时间跨度任务来说,这是至关重要的,因为代码可以自然地表示时间延长和组合动作。在VOYAGER中,代码生成的提示包括:(1) 代码生成的动机指南,(2) 可用的控制原始API列表及其描述,(3) 从记忆中检索的相关技能/代码,(4) 上一轮生成的代码、环境反馈、执行错误和评论家的输出,(5) 当前状态,(6) 在生成代码之前进行推理的思路链提示。
另一种控制器的选择是训练一个深度强化学习智能体,根据当前状态和目标生成动作。DEPS使用模仿学习训练这样一个模型。
记忆:
人类使用不同类型的记忆来完成特定任务。主要的记忆功能可以分为以下几类:
1- 短期记忆:存储我们在学习和推理等任务中正在活动使用的信息。据我们所知,所有基于LLM的终身学习方法都使用短期记忆,通过上下文学习来限制LLM的上下文长度。
2- 长期记忆:长时间存储和检索信息。这可以通过使用快速检索的外部向量存储实现。VOYAGER通过从外部向量存储中添加/检索学到的技能来受益。正如我们讨论的那样,技能是由控制器生成的可执行代码,指导完成任务所需的步骤。
当评论家验证代码能够完成任务时,使用GPT-3.5生成代码的描述。然后,将该技能存储在技能库中,其中描述的嵌入作为键,代码作为值(参见图2)。当计划员提出一个新的任务时,GPT-3.5会为完成任务生成一个概括性建议。他们使用建议解决方案的嵌入,加上环境反馈,从技能库中检索出前5个相关的技能(参见图2)。
添加长期记忆可以显著提升性能。图3展示了技能库对于VOYAGER的关键性。这也表明,向Auto-GPT添加技能库可以大大提高其性能。短期记忆和长期记忆与控制器一起工作,生成和优化其策略,以完成目标。
评论家:
评论家或自我验证是基于LLM的模块,对先前执行的计划提供批评,并提供如何改进计划以完成任务的反馈。反思通过动态记忆和自我反思来增强智能体的推理能力。自我反思是一个扮演评论家角色的GPT-4。它利用奖励信号、当前轨迹和持久记忆生成自我改进的口头反馈,用于未来的试验。这种反馈比标量奖励更具信息量,并存储在记忆中供计划员用于改进计划。
VOYAGER和DEPS执行由控制器生成的动作和代码,以获得环境反馈和可能的执行错误。这些信息被纳入评论家提示中,请其充当评论家,确定目标是否完成。此外,如果任务失败,它会提供完成任务的建议。
描述者:
在基于LLM的终身学习中,规划者的输入和输出是文本。一些环境,如Crafter基于文本,而其他环境则返回2D或3D图像的渲染,或者可能是一些状态变量。描述者充当一个桥梁,将这些模态转换为文本,并将它们合并到LLM的提示中。
自主AI代理:
本博客主要讨论将基础模型与持续学习相结合的最新研究,这是实现AGI的重要进展。然而,重要的是要认识到这些方法代表着开发自主代理的更广泛努力中的一个子集。一些著名的倡议很可能成为此处讨论的研究的催化剂。我们将在下一节简要介绍这些倡议。
最近,一些作品,例如AutoGPT和BabyAGI,似乎在使用LLMs作为大脑方面具有启发性,并被设计为解决复杂问题的自主代理。您给他们一个任务。它们以循环方式运行,将任务分解成子任务,提示自己,响应提示,并重复这个过程,直到达到提供的目标。它们还可以访问不同的API,例如互联网访问,这可以极大地扩大它们的用例。
AutoGPT既是一个GPT-3.5,也是一个GPT-4,与一个指导和指示它们做事的伴侣机器人合作。 AutoGPT具有互联网访问权限,并能够与在线和本地的应用程序、软件和服务进行交互。为了实现人类给定的高级目标,AutoGPT使用了一种称为Reason and ACT (ReACT)的提示格式。ReACT使代理能够接收输入,理解它,根据结果行动,对结果进行推理,然后如果需要,重新运行该循环。由于AutoGPT可以自主提示,它可以在完成任务的同时思考和推理,寻找解决方案,舍弃不成功的解决方案,并考虑不同的选择。
BabyAGI是另一个最近推出的自主AI代理。它有三个基于LLM的组件(见图4):1- 有一个任务创建代理,提出任务列表(类似于Planer);2- 一个通过LLM提示来进行任务列表优先排序的优先级代理(类似于Selector);3- 一个执行代理(类似于Controller),执行具有最高优先级的任务。
AutoGPT和BabyAGI都使用一个向量存储器来存储中间结果并从经验中学习。
图4:BabyAGI流程图(图片来源:Yohei Nakajima’s website)
限制和挑战:
1-基于LLM的终身学习在很大程度上依赖于LLMs的可靠性,以准确地理解环境并有效地规划和评述。然而,研究表明,LLMs有时会产生幻觉、虚构事实和分配不存在的任务。值得注意的是,在一些参考文献中,将GPT-4替换为GPT-3.5导致性能显著下降,突出了所采用的LLM模型的关键作用。
2- 当LLMs被用作规划者或批评者时,会出现不准确性。批评者可能会提供错误的反馈或无法准确验证任务的完成情况。同样,规划者可能会陷入重复循环,即使尝试了几次,也无法调整其计划。在这种情况下,添加一个设计精良的、基于事件触发的人工干预流程可以提升这些模型的性能。
3- LLMs中有限的上下文长度限制了短期记忆能力,影响其保持详细的过去经验、结果、详细指令和可用控制原语API的能力。长的上下文长度非常关键,特别是在自我验证中,可以从过去的经验和失败中学习。尽管有持续的研究努力来扩展上下文长度或采用Transformer-XL等方法,在大多数情况下,作者们使用具有最大8,192个标记上下文长度的GPT-4。
4- 除了SPRING,大多数作品都假设LLM在开始实验之前知道启动终身学习所需的所有必要信息。然而,这种假设可能并不总是成立。为智能体提供互联网访问,如AutoGPT所做的,或在SPRING中将文本材料作为输入上下文,可以有助于回答后续问题。
参考资料:
[1] VOYAGER: 王观之等。“Voyager: 具有大型语言模型的开放式具身智能体。”,2023年
[2] DEPS: 王子豪等。“描述、解释、计划和选择: 采用大型语言模型的交互式规划使开放式多任务智能体成为可能。”,2023年
[3] SPRING: 吴越等。“SPRING: GPT-4通过研读论文和推理优于强化学习算法。”,2023年
[4] Reflexion: Shinn等。“Reflexion: 带有语言增强学习的语言智能体。”,2023年
[5] Progprompt: Singh等。“Progprompt: 使用大型语言模型生成具有情境的机器人任务计划。”,2023年
[6] React: 姚顺宇等。“React: 在语言模型中协同推理和行动。”,2022年
[7] CaP: 梁杰基等。“代码作为策略: 面向具身控制的语言模型程序。”,2023年
[8] AutoGPT. https://github.com/Significant-Gravitas/Auto-GPT
[9] babyAGI: https://github.com/yoheinakajima/babyagi
[10] 翁莉莲等。“LLM驱动的自主智能体”,2023年