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

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.人工智能三大算法机器学习深度学习与强化学习的融合与应用前景人工智能三大算法的概述 人工智能(AI)作为一个多学科交叉领域,其核心在于模拟人类智能行为。随着技术的发展,人们提出了许多不同类型的人工智能方法,其中机器学习、深度学习和强化学习是其中最为重要的三个子集,它们分别代表了从基础到高级别的人工智能技术。 机器学习https://www.xstkmqmgl.cn/zhi-neng/481943.html
2.解析人工智能三大算法机器学习深度学习与强化学习的核心之旅解析人工智能三大算法:机器学习、深度学习与强化学习的核心之旅 人工智能三大算法是现代计算机科学领域中的重要组成部分,它们分别是机器学习、深度学习和强化学习。每种算法都有其独特的特点和应用场景,共同推动了人工智能技术的发展。 机器学习:数据驱动的革命 机器学https://www.fmovhaqkz.com/shou-ji/530948.html
3.多智能体强化学习知乎mob6454cc70863a的技术博客多智能体强化学习知乎 系统简介 基于ROBO-MAS多智能体自主协同高频投影定位系统通过采用ROBO-MAS桌面型群体智能机器人,在小型实验场地内通过高频光电投影定位技术实现机器人位置感知和数据通讯,实现“开放式群体智能研究和多智能体自主协同”的研究目标。 系统为群体智能研究和多机器人任务协同研究搭建基础科研平台,系统完全https://blog.51cto.com/u_16099271/12897860
4.学习笔记在线强化学习与离线强化学习的异同(3)- 离线强化学习:状态是从历史数据集中提取的特征表示,它用于训练智能体以学习最优策略。这些状态可能包括历史数据中的所有相关信息,但不一定是实时环境中的当前状态。 在线强化学习和离线强化学习在奖励获取方式、评估侧重点、动作选择和状态表示上有所不同,这些区别反映了它们在实际应用中的不同需求和挑战。 https://blog.csdn.net/hzlalb/article/details/136797191
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.2020届计算机科学方向毕业设计(论文)阶段性汇报推荐系统与用户进行多步交互的过程可以建模为马尔科夫决策过程并使用强化学习算法训练推荐策略,但在真实的工业界场景中,在线上进行强化学习模型的训练成本极高。本课题希望使用推荐系统与用户交互的历史数据离线训练强化学习算法,并探讨这一模式的问题解决方式。 https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
7.在对齐AI时,为什么在线方法总是优于离线方法?在线算法与离线算法的对比 要公平地比较在线和离线算法并非易事,因为它们存在许多实现和算法方面的差异。举个例子,在线算法所需的计算量往往大于离线算法,因为它需要采样和训练另一个模型。因此,为了比较公平,需要在衡量性能时对不同算法所耗费的预算进行一定的校准。 https://m.thepaper.cn/newsDetail_forward_27434433
8.科学网—[转载]强化学习在资源优化领域的应用基于这种行业趋势,本文针对强化学习算法在资源优化领域的应用展开调研,帮助读者了解该领域最新的进展,学习如何利用数据驱动的方式解决资源优化问题。鉴于资源优化问题场景众多、设定繁杂,划分出3类应用广泛的资源优化问题,即资源平衡问题、资源分配问题、装箱问题,集中进行调研。在每个领域阐述问题的特性,并根据具体的问题特性https://blog.sciencenet.cn/blog-3472670-1312677.html
9.基于深度强化学习的水面无人艇路径跟踪方法4.为此,公开号为cn113625725a的中国专利就公开了《一种水面无人艇路径跟踪控制方法》,包括:设定期望跟踪路径,将期望跟踪路径离散化形成期望路径点阵;判断无人艇距离期望路径点阵的起始点的距离;根据设计参数和无人艇位置确定参考点的位置,根据路径曲率信息求得参考点处的曲率,然后根据制导算法公式求得加速度:计算由加https://www.xjishu.com/zhuanli/54/202210772926.html/
10.屏南县公安局信息化采购项目附件配套人像识别及微卡口系统AI算法识别及分析许可。 路 14 8 分布式数据转发节点 配套感知终端进行分布式设备注册及数据转发,单节点提供HCI超融合节点融合计算。节点提供基于互联网社区、校园等区域标准地址管理、实有单位管理、感知设备实时监测、设备在线率统计、感知数据接入、清洗、上传、人员名单库管理、巡检任务管理、故http://zfcg.czj.ningde.gov.cn/upload/document/20200807/9d142b566de140818484e071d457a4c2.html
11.清华北大等发布SelfPlay强化学习最新综述**自博弈(self-play)指的是智能体通过与自身副本或历史版本进行博弈而进行演化的方法,近年来在强化学习领域受到广泛重视。这篇综述首先梳理了自博弈的基本背景,包括多智能体强化学习框架和博弈论的基础知识。随后,提出了一个统一的自博弈算法框架,并在此框架下对现有的自博弈算法进行了分类和对比。此外,通过展示自博https://zhuanzhi.ai/vip/9dcf45a53259c483e9ab51efb4835006
12.一种用于医学数据的强化学习算法模型构建方法和设备专利在线阅读 下载 引用 收藏 分享 打印 摘要:本发明涉及医学数据技术领域,具体涉及一种用于医学数据的强化学习算法模型构建方法和设备,在本申请中,结合了BCQ和CQL两种算法的优势,减少了离线强化学习中的外推误差,使得强化学习模型生成更合理的动作;并且为强化学习算法模型建立了损失函数,提升了原始动作的评分,降低了生成动https://d.wanfangdata.com.cn/patent/CN202311576836.1
13.基于可变保守程度离线强化学习的机器人运动控制方法为了解决以保守Q学习(Conservative Q-Learning, CQL)为代表的离线强化学习算法保守程度固定不变,导致学习到的策略过于保守的问题,文中提出了一种名为可变保守程度Q学习(Variable Conservativeness Q-Learning, VCQL)的离线强化学习算法。VCQL算法在CQL算法的基础上引入了对于状态动作对偏离数据集的程度衡量,并能够根据偏https://wap.cnki.net/touch/web/Journal/Article/JZDF20240510007.html
14.2020年媒体技术趋势报告:13大领域89项变革全输出总部位于瑞士的Tamedia的记者在本国2018年大选期间尝试采用了生成技术。Tamedia用一个名为“ Tobi”的决策树算法自动生成了文章,详细描述了由私人媒体组织的30家报纸所涵盖的每个城市的投票结果,并同时生成了多种语言、总计39,996个不同版本的选举报道,每篇平均250字,并将其发布到Tamedia的在线平台上。 https://36kr.com/p/5267903