大模型下一站,OpenAI万字长文解读AIAgents

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2023.10.07北京

目录

01

AIAgentSystem是什么

Planning规划

Memory记忆

Tooluse工具使用

Agent学习调用外部API来获取模型权重中缺失的额外信息,通常这些信息在预训练后很难更改,包括当前信息、代码执行能力、对专有信息源的访问等。

图1.LLM驱动的AIAgentsSystem概览

02

组件一:任务规划

思想链Chainofthought

思维树TreeofThoughts

思维树TreeofThoughts(Yaoetal.2023)[2]通过在每一步探索多种推理可能性来扩展CoT。它首先将问题分解为多个思考步骤,并在每个步骤中生成多个思考,从而创建树结构。搜索过程可以是BFS(广度优先搜索)或DFS(深度优先搜索),每个状态由分类器(通过提示)或多数投票进行评估。

在处理任务时,可以通过以下几种方式来实现任务分解:

LLM+P

另一种截然不同的方法是LLM+P(Liuetal.2023)[3],涉及依赖外部经典规划器(Externalclassicalplanner)来进行长期规划。该方法利用规划领域定义语言(PlanningDomainDefinitionLanguage,PDDL)作为描述规划问题的中间接口。

在这个过程中,LLM需要完成以下几个步骤:

本质上,规划步骤被外包给外部工具,假设特定领域的PDDL和合适的规划器可用,这在某些机器人设置中很常见,但在许多其他领域并不常见。

自我反思(Self-reflection)是一个重要的方面,它允许AIAgent通过完善过去的行动决策和纠正以前的错误来迭代改进。在现实世界的任务中,试错(trialanderror)是必不可少的,因而自我反思在其中扮演着至关重要的角色。

ReAct

ReAct提示模板包含了LLM思考的明确步骤,大致格式为:

Thought:...Action:...Observation:......(Repeatedmanytimes)

在知识密集型任务和决策任务的两个实验中,ReAct比删除了Thought:…步骤的仅Act基线效果更好。

Reflexion

Reflexion(Shinn&Labash2023)[5]是一个为AIAgent配备动态记忆和自我反思能力以提高推理技能的框架。Reflexion有一个标准的RL设置,其中奖励模型提供简单的二元奖励,而动作空间遵循ReAct中的设置,其中特定于任务的动作空间通过语言进行增强,以实现复杂的推理步骤。在每个操作at之后,AIAgents会计算一个启发式值ht并根据自我反思的结果来选择是否重置环境以开始新的实验。

ChainofHindsight

ChainofHindsight(CoH;Liuetal.2023)[6]鼓励模型通过明确地呈现一系列过去的输出(每个输出都带有反馈注释)来改进其自身的输出。

其中人类反馈数据是一个集合Dh={(x,yi,ri,zi)n1=1},其中x是提示,每个yi代表一个模型补全,ri是人类对yi的评分,ri、yi、zi是相互对应的关系,zi代表人类对模型输出提供的事后反馈(Hindsightfeedback)。假设反馈元组按奖励排名,较好的输出会得到更高的奖励值,如rn≥rn-1≥...≥r1。该过程将在有监督条件下进行微调,数据格式为tn=(x,zi,yi,zj,...,zn,yn),其中≤i≤j≤n,以便让模型去学习如何根据反馈序列生成更好的输出。

模型经过微调后,将已知的输出序列作为训练数据,令模型能够预测在给定序列前缀(sequenceprefix)条件下的yn,以便在反馈序列(feedbacksequence)的基础上进行自我反思,从而产生更高质量的输出。在测试时,该模型可以选择性地接收带有人类注释者的多轮指令,即人类提供的反馈注释,从而进一步提高模型的性能和准确性。

为了避免过度拟合,CoH添加了正则化项(RegularizationTerm),以最大化预训练数据集的对数可能性。这个正则化项可以帮助模型更好地泛化和适应新的数据,避免过度拟合现有的数据。此外,由于反馈序列中有许多常用词,为了避免模型在训练过程中依赖于这些词,CoH在训练期间随机屏蔽了0%-5%的历史token。

他们实验中的训练数据集是WebGPT比较、人类反馈总结和人类偏好数据集的组合。

图5.使用CoH进行微调后,模型可以按照指令生成具有序列增量改进的输出。

算法蒸馏(AlgorithmDistillation)

CoH的想法是呈现上下文中输出连续改进的历史,并训练模型以适应产生更好输出的趋势。算法蒸馏(AD;Laskin等人,2023)[7]将相同的想法应用于强化学习任务中的跨情节轨迹(cross-episodetrajectories),其中算法被封装在长期历史条件策略中。考虑到AIagent与环境进行多次交互,并且每一次AIagent都会变得更好一些,AD会将此学习历史连接起来并将其输入到模型中。

因此,这样就可以实现下一个预测的行动会带来比之前的试验更好的性能。AD的目标是学习强化学习的过程,而不是训练特定于任务的策略本身。通过将算法封装在长期历史条件策略中,AD可以捕获模型与环境交互的历史记录,从而使得模型能够更好地学习和改进自己的决策和行动,从而提高任务完成的效率和质量。

图6.算法蒸馏(AD)工作原理的图示。

In-contextReinforcementLearningwithAlgorithmDistillation该论文假设任何生成一组学习历史的算法都可以通过对动作执行行为克隆来提炼成神经网络。历史数据由一组源策略生成,每个源策略针对特定任务进行训练。在训练阶段,在每次RL运行期间,都会对随机任务进行采样,并使用多集历史的子序列进行训练,从而使学习到的策略与任务无关。

实际上,该模型的上下文窗口长度有限,因此剧集(episodes)应该足够短以构建多剧集历史数据。在强化学习中,通常需要2-4集的多情节上下文来学习接近最佳的上下文强化学习算法,这是因为在上下文中,强化学习的发生往往需要足够长的上下文来提供背景和意义。

论文使用了三个基线进行对比,,包括ED(专家蒸馏,用专家轨迹而不是学习历史进行行为克隆)、源策略(用于生成UCB蒸馏的轨迹[8])、RL2(2017年提出的一种在线强化学习算法,作为上限进行比较)[9]。尽管AD算法仅使用离线强化学习,但其性能仍接近作为上限对比的RL2,并且学习速度比其他基线快得多。此外,在使用源策略的部分训练历史记录的条件下,AD的改进速度也比ED基线快得多。这些结果表明,AD算法在上下文强化学习方面具有很好的性能,并且比其他基线更快地学习和改进。

图7.在需要内存和探索的环境中AD、ED、源策略和RL^2的比较。其中,环境仅分配二元奖励(0/1)。源策略使用A3C算法针对“黑暗”环境进行训练,使用DQN算法针对水迷宫进行训练。Resource:AlgorithmDistillation论文

03

组件二:记忆

图8.人类记忆的分类

参考人类记忆的分类,我们可以有一个粗略的映射:

感觉记忆作为原始输入的学习嵌入表示,包括文本、图像或其他形式;

短期记忆作为情境学习。它是短且有限的,因为它受到Transformer有限上下文窗口长度的限制。

长期记忆作为AIAgents在查询时可以处理的外部向量存储,可通过快速检索进行访问。

外部记忆可以缓解有限注意力(FiniteAttentionSpan)广度的限制。标准做法是将信息的嵌入表示保存到向量存储数据库中,该数据库可以支持快速最大内积搜索(MIPS)。为了优化检索速度,常见的选择是近似最近邻(ANN)算法,返回大约前k个最近邻,以牺牲一点精度来换取巨大的加速,这种方法可以减轻模型处理大量历史信息时的计算负担,提高模型的效率和性能。

几种常见的ANN算法,可用于快速的执行MIPS:

04

组件三:使用工具

工具的使用是人类的一个显着而显着的特征。我们创造、修改和利用外部物体来完成超出我们身体和认知极限的事情。为LLM配备外部工具可以显着扩展模型功能。

MRKL架构

MRKL(Karpasetal.2022)[16]ModularReasoning,KnowledgeandLanguage是“模块化推理、知识和语言”的缩写,是一种用于AIagent的神经符号架构。MRKL系统包含一组“专家”模块,通用LLM作为路由器将查询路由到最合适的专家模块。这些模块可以是神经模块(例如深度学习模型)或符号模块(例如数学计算器、货币转换器、天气API)。

在测试中,MRKL的作者团队对语言模型(7BJurassic1-large模型)进行了微调,使用算术问题作为测试用例来调用计算器。实验结果表明,相比于明确陈述的数学问题,解决口头数学问题更加具有挑战性,因为LLM未能可靠地提取基本算术的正确参数。这些结果强调了外部符号工具可靠工作的重要性,知道何时以及如何使用这些工具取决于LLM的功能。

TALM

TALM(工具增强语言模型;Parisi等人,2022年)[17]和Toolformer(Schick等人,2023年)[18]都对LLM进行微调,以学习调用外部工具API。根据新添加的API调用注释是否可以提高模型输出的质量来扩展数据集。请参阅PromptEngineering的“外部API”部分了解更多详细信息。

ChatGPT插件和OpenAIAPI函数调用是LLM在实践中通过工具使用能力增强的很好的例子。工具API的集合可以由其他开发者提供(如在插件中)或自定义(如在函数调用中)。

HuggingGPT

该系统包括4个阶段:

1)任务规划Taskplanning

LLM作为大脑,将用户请求解析为多个任务。每个任务有四个关联的属性:任务类型、ID、依赖项和参数。他们使用少量的例子来指导LLM进行任务解析和规划。

Instruction指令如下:

3)任务执行Taskexecution

专家模型执行特定任务并记录结果。

Withtheinputandtheinferenceresults,theAIassistantneedstodescribetheprocessandresults.有了输入和推理结果,AI助手需要描述过程和结果。Thepreviousstagescanbeformedas-UserInput:{{UserInput}},TaskPlanning:{{Tasks}},ModelSelection:{{ModelAssignment}},TaskExecution:{{Predictions}}.前面的阶段可以形成为-用户输入:{{用户输入}},任务规划:{{任务}},模型选择:{{模型分配}},任务执行:{{预测}}。Youmustfirstanswertheuser'srequestinastraightforwardmanner.您必须首先以直截了当的方式回答用户的请求。Thendescribethetaskprocessandshowyouranalysisandmodelinferenceresultstotheuserinthefirstperson.然后描述任务流程,并以第一人称的方式向用户展示你的分析和模型推理结果。Ifinferenceresultscontainafilepath,musttelltheuserthecompletefilepath.如果推理结果包含文件路径,必须告诉用户完整的文件路径。4)响应生成Responsegeneration:

LLM接收执行结果并向用户提供汇总结果。

为了将HuggingGPT投入到现实世界中,需要解决几个挑战:

API-Bank

API-Bank(Lietal.2023)[20]是评估工具增强LLM性能的基准。它包含53个常用的API工具、完整的工具增强的LLM工作流程以及涉及568个API调用的264个带注释的对话。

API的选择相当多样化,包括搜索引擎、计算器、日历查询、智能家居控制、日程管理、健康数据管理、账户认证工作流程等等。由于API数量较多,LLM首先要访问API搜索引擎找到合适的API进行调用,然后使用相应的文档进行调用。

在API-Bank工作流程中,LLM需要做出几个决定,在每一步我们都可以评估该决定的准确性。决定包括:

该基准测试从三个层面评估代理的工具使用能力:

Level-1评估调用API的能力。给定API的描述,模型需要确定是否调用给定的API、正确调用它并正确响应API返回。

Level-2检查检索API的能力。模型需要搜索可能解决用户需求的API,并通过阅读文档来学习如何使用它们。

Level-3评估除了检索和调用之外规划API的能力。考虑到不明确的用户请求(例如安排小组会议、预订旅行的航班/酒店/餐厅),模型可能必须进行多个API调用来解决它。

05

AIAgents实践

科学研究领域的应用

LLM提供了工具名称列表、其实用程序的描述以及有关预期输入/输出的详细信息。

然后,系统会指示它在必要时使用提供的工具来回答用户给出的提示。该指令建议模型遵循ReAct格式-Thought,Action,ActionInput,Observation。

一个有趣的观察结果是,虽然基于LLM的评估得出的结论是GPT-4和ChemCrow的表现几乎相当,但专家针对解决方案的完成度和化学正确性进行的人工评估表明,ChemCrow的性能大幅优于GPT-4。这表明使用LLM来评估其自身在需要深厚专业知识的领域的表现存在潜在问题。专业知识的缺乏可能会导致LLM不知道其缺陷,从而无法很好地判断任务结果的正确性。

Boikoetal.(2023)[23]还研究了LLM科学发现的AIAgents,以处理复杂科学实验的自主设计、规划和执行。该Agents可以使用工具浏览互联网、阅读文档、执行代码、调用机器人实验API并利用其他LLM。

例如,当请求'developanovelanticancerdrug'时,模型提出以下推理步骤:

他们还讨论了风险,特别是非法药物和生物武器的风险。他们开发了一套测试装置,其中包含一系列已知的化学武器制剂,并要求该制剂合成它们。11项请求中有4项(36%)被接受以获得合成解决方案,并且AIAgents尝试查阅文档来执行该程序。11件中有7件被拒绝,这7件被拒绝的案例中,有5件是在网络搜索后发生的,2件是仅根据提示被拒绝的。

生成式代理GenerativeAgents

GenerativeAgents(Park等人,2023)[24]是一个超级有趣的实验,其中25个虚拟角色,每个角色都由LLM支持的Agents控制,在沙盒环境中生活和交互,其灵感来自《模拟人生》。生成式Agents为交互式应用程序创建可信的人类行为模拟。

生成式代理的设计将LLM与记忆、规划和反射机制相结合,使代理能够根据过去的经验进行行为,并与其他代理进行交互。

记忆流Memorystream::是一个长期记忆模块(外部数据库),用自然语言记录智能体经验的完整列表。

规划和反应Planning&Reacting:将反思和环境信息转化为行动

这种有趣的模拟会导致新兴的社交行为,例如信息传播、关系记忆(例如两个代理继续对话主题)和社交活动的协调(例如举办聚会并邀请许多其他人)。

06

AIAgent概念验证示例

AutoGPT

以下是AutoGPT使用的系统消息,其中{{...}}是用户输入:

GPT-Engineer[27]是另一个项目,用于根据自然语言指定的任务创建整个代码存储库。为了实现这个目标,GPT工程师需要考虑构建哪些较小的组件,并在必要时与用户进行交互以澄清问题或获取更多信息。也就是说,将最接近真实意图的自然语言任务转化为可执行的代码,以确保任务需求得到正确理解和实现。

以下是发送到GPT-Engineer使用的OpenAIChatCompletion端点的用于说明任务的示例对话。用户输入包含在{{userinputtext}}中。

随后,一旦GPT工程师与用户澄清了任务需求,AIAgents会进入代码编写模式,并使用不同的系统消息来执行编写代码的任务,系统消息如下:

THE END
1.离线强化学习算法集锦BCQ是一种离线行为克隆算法,从离线数据中学习策略,并通过Q值校正来改进性能。 2、BEAR (Bootstrapping Error Accumulation Reduction) BEAR是一种离线强化学习算法,通过利用离线数据进行训练,并使用自举方法来减少误差积累。 3、TD3-BC (Twin Delayed Deep Deterministic Policy Gradient with Behavior Cloning) https://blog.csdn.net/weixin_45616285/article/details/136629915
2.强化学习离线模型离线模型和在线模型强化学习离线模型 离线模型和在线模型 在推荐算法领域,时常会出现模型离线评测效果好,比如AUC、准召等指标大涨,但上线后业务指标效果不佳,甚至下降的情况,比如线上CTR或CVR下跌。 本文尝试列举一些常见的原因,为大家排查问题提供一点思路。 1. 离线、在线特征不一致https://blog.51cto.com/u_14499/11815202
3.离线强化学习(OfflineRL)总结(原理数据集算法复杂性分析离线强化学习(Offline RL)作为深度强化学习的子领域,其不需要与模拟环境进行交互就可以直接从数据中学习一套策略来完成相关任务,被认为是强化学习落地的重要技术之一。本文详细的阐述了强化学习到离线强化学习的发展过程,并就一些经典的问题进行了解释和说明。 https://cloud.tencent.com/developer/article/2119884
4.人工智能团队研究成果在TKDE发表:样本高效的离线转在线强化学习算法实验室人工智能团队在D4RL基准测试上进行了大量实验来说明本研究中提出的算法的优越性。实验结果表明,本研究提出的算法在样本效率方面显著优于最先进的离线转在线强化学习算法。 相关的研究成果近期发表在TKDE上,文章第一作者为吉林大学未来科学国际合作联合实验室博士生郭思源,通讯作者为吉林大学陈贺昌教授和常毅教授。http://icfs.jlu.edu.cn/info/1007/3101.htm
5.离线强化学习因此,离线强化学习(offline reinforcement learning)的目标是,在智能体不和环境交互的情况下,仅从已经收集好的确定的数据集中,通过强化学习算法得到比较好的策略。离线强化学习和在线策略算法、离线策略算法的区别如图 18-1 所示。图18-1 离线强化学习和在线策略算法、离线策略算法的区别https://hrl.boyuai.com/chapter/3/%E7%A6%BB%E7%BA%BF%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/
6.在对齐AI时,为什么在线方法总是优于离线方法?澎湃号·湃客AI 对齐是否必需在线强化学习? 对于这个问题,人们希望既知道其理论上的答案,也希望明晰实验给出的解答。 从实证角度看,相比于大家常用的在线 RLHF(由偏好建模和从模型采样组成),离线算法实现起来要简单得多,成本也低得多。因此,收集有关离线算法的充分性的证据可让 AI 对齐变得更加简单。另一方面,如果能明晰常用在https://www.thepaper.cn/newsDetail_forward_27434433
7.科学网—[转载]强化学习在资源优化领域的应用基于这种行业趋势,本文针对强化学习算法在资源优化领域的应用展开调研,帮助读者了解该领域最新的进展,学习如何利用数据驱动的方式解决资源优化问题。鉴于资源优化问题场景众多、设定繁杂,划分出3类应用广泛的资源优化问题,即资源平衡问题、资源分配问题、装箱问题,集中进行调研。在每个领域阐述问题的特性,并根据具体的问题特性https://blog.sciencenet.cn/blog-3472670-1312677.html
8.强化学习的基本概念在线学习和离线学习针对的是在强化学习模型在训练过程中交互数据的使用方式。在线学习的强化学习模型,会在一个交互之后,立即用本次交互得到的经验进行训练。而离线学习的强化学习模型,往往是先将多个交互的经验存储起来,然后在学习的时候,从存储的经验中取出一批交互经验来学习。 https://www.jianshu.com/p/28625d3a60e6
9.一种用于医学数据的强化学习算法模型构建方法和设备专利在线阅读 下载 引用 收藏 分享 打印 摘要:本发明涉及医学数据技术领域,具体涉及一种用于医学数据的强化学习算法模型构建方法和设备,在本申请中,结合了BCQ和CQL两种算法的优势,减少了离线强化学习中的外推误差,使得强化学习模型生成更合理的动作;并且为强化学习算法模型建立了损失函数,提升了原始动作的评分,降低了生成动https://d.wanfangdata.com.cn/patent/CN202311576836.1
10.NeurIPS2022赋能产业界的人工智能研究新趋势图1:自动强化学习算法框架(上);搜索过程可视化图(下) 自提升离线强化学习 论文链接:https://www.microsoft.com/en-us/research/publication/bootstrapped-transformer-for-offline-reinforcement-learning/ 项目主页:https://seqml.github.io/bootorl/ 随着强化学习在真实世界场景中的需求逐渐增大,作为一种新的强化学习https://www.msra.cn/zh-cn/news/features/neurips-2022-industry-ai
11.基于深度强化学习的水面无人艇路径跟踪方法4.为此,公开号为cn113625725a的中国专利就公开了《一种水面无人艇路径跟踪控制方法》,包括:设定期望跟踪路径,将期望跟踪路径离散化形成期望路径点阵;判断无人艇距离期望路径点阵的起始点的距离;根据设计参数和无人艇位置确定参考点的位置,根据路径曲率信息求得参考点处的曲率,然后根据制导算法公式求得加速度:计算由加https://www.xjishu.com/zhuanli/54/202210772926.html/
12.万字长文总结如何解决"稀疏奖励(SparseReward)"下的强化学习本文是对强化学习中行为克隆(Behavioral Cloning,BC)方法的改进,最新接收于 ICLR2020。本文使用了一个简单、稳定的奖励:将与示范状态下的示范动作相匹配的动作奖励 + 1,而其它动作奖励为 0,引入 Soft-Q-Learning 算法,提出了适用于高维、连续、动态环境的模仿学习算法。 https://www.zhuanzhi.ai/document/7f6d15f412639a573254a0f80300779a
13.一种基于深度强化学习的三维装箱方法.pdf想预览更多内容,点击免费在线预览全文 免费在线预览全文 本发明涉及一种基于深度强化学习的三维装箱方法,属于物流及物品装箱技术领域。该方法包括训练和使用两个阶段,在训练阶段通过DoubleDQN算法使用训练数据训练模型,从历史经验中学习;在使用阶段利用训练好的模型作为动作评判标准进行决策,产生具体的装箱方案。该方法将大https://max.book118.com/html/2023/0830/6152000235005221.shtm
14.仙启POLIXIR REVIVE SDK是一款数据驱动的强化学习(RL)工具包,它集成了南栖仙策的通用智能决策算法,专注于解决离线强化学习问题。该工具包利用历史数据来学习最优策略, 而无需与真实环境进行额外交互,从而实现决策过程的自动化并率先实现真实业务的落地。 商业版 https://revive.cn/sdk
15.基于可变保守程度离线强化学习的机器人运动控制方法为了解决以保守Q学习(Conservative Q-Learning, CQL)为代表的离线强化学习算法保守程度固定不变,导致学习到的策略过于保守的问题,文中提出了一种名为可变保守程度Q学习(Variable Conservativeness Q-Learning, VCQL)的离线强化学习算法。VCQL算法在CQL算法的基础上引入了对于状态动作对偏离数据集的程度衡量,并能够根据偏https://wap.cnki.net/touch/web/Journal/Article/JZDF20240510007.html