Pangu-Agent-程序员宅基地

技术标签: 人工智能  

自 AI 诞生以来,开发能够解决和适应复杂工作的多任务智能体(Agent)一直是个重要的目标。有结构化推理和先验知识,智能体变得更加通用了。华为诺亚的盘古Agent来了,让智能体学会结构化推理

AI 智能体对于许多应用至关重要,研究者通常用强化学习方法通过环境交互来培养智能体的决策技能。基于模型和无模型的深度强化学习方法都已取得了广为人们所知的成就,例如 AlphaZero、改进的排序和乘法算法、无人机竞速以及聚变反应堆中的等离子体控制。这些成功涉及一个标准的强化学习管道,智能体在其中学习我们所说的外在功能 —— 一种直接与外界交互的策略,即响应环境刺激以最大化奖励信号。该函数通常是参数化神经网络,根据环境观察生成动作。

经典的强化学习方法使用单个映射函数来定义策略 π,但在复杂的环境中通常被证明是不够的,这与通用智能体在多个随机环境中交互、适应和学习的目标相矛盾。

在强化学习中引入的先验通常是特定于任务的,并且需要广泛的工程和领域专业知识。为了泛化,最近的研究已转向将大型语言模型(LLM)集成到智能体框架中,如 AutoGen、AutoGPT 和 AgentVerse 等工作。

近日,来自华为诺亚方舟实验室、伦敦大学学院(UCL)、牛津大学等机构的研究者提出了盘古智能体框架(Pangu-Agent)尝试来解决 AI 智能体面临的挑战。该研究作者包括伦敦大学学院计算机系教授汪军。

论文链接:https://arxiv.org/abs/2312.14878

该工作在两个关键方面区别于先前的框架:i)将智能体的内部思维过程形式化为结构化推理的形式;ii)展示了通过监督学习和强化学习来微调智能体的方法。

标准强化学习侧重于直接学习从感知中输出行动的策略。虽然人们习惯于通过深度网络架构参数化策略,但作者认为,当通过基础模型策略跨任务扩展智能体时,标准 RL 管道中缺乏固有推理结构可能会成为一个重大瓶颈,因为梯度无法为所有深度网络提供足够的监督。

盘古 Agent 框架展示了结构化推理如何帮助强化学习克服这些挑战,利用大规模基础模型提供先验知识并实现跨广泛领域的泛化能力。 

据介绍,该工作的主要贡献包括:

  1. 证明了结构化推理在智能体框架中的重要性,盘古 Agent 的通用性足以有效涵盖现有智能体框架的任务范围。作为一个元智能体框架,它可以利用内部函数调用的顺序进行调整或微调,或者将决策委托给底层 LLM。使用者也可以轻松扩展智能体的功能,并组合或重用许多已经实现的方法。

  2. 作者在七个 LLM 和六个不同领域上进行了评估。该评估可用于告知研究人员如何初始化其智能体以及如何收集微调步骤的数据。

  3. 研究证明了框架的监督微调(SFT)和强化学习微调(RLFT)的影响。通过结构化推理,该工作成功实现了基于拒绝采样的 SFT 管道,大幅提高了 LLM 在 ALFWorld 领域的表现,成功率从 27% 增加到 82%。尽管 SFT 的好处已趋于稳定,但通过 RL 可以实现进一步增强,将 BabyAI 任务的成功率提高到 88%,甚至从 28% 提高到 91%。此外,跨领域实验显示通过 RL 管道训练的单个 LLM 能够同时在 ALFWorld (82%) 和 BabyAI(18 项任务中平均 58.7%)领域实现高性能。

这些发现凸显了结构化推理在基于大模型的智能体训练方面存在不小潜力。

表 1:盘古 Agent 与最近一些大模型智能体的比较。

图 2:三个内在函数的可视化,展示了该工作提出的范式在提高代理的模块化和灵活性方面的重要性。用户可以重新定义和重新配置内在函数,例如 µ1 (・) 以 LLM 作为输入来产生想法,或 µ2 (・) 利用工具来帮助改进推理。新智能体还支持嵌套这些内在函数来构建更通用的模块,以完成复杂且具有挑战性的决策任务。

Pangu-Agent 的范式

为了引入结构化推理,我们假设一系列内在函数 µ(・) 作用于并转换智能体的内部记忆。引入这些内在函数可以将典型的强化学习目标重新表述为支持多个「思考」步骤的目标。因此,典型的 RL 目标旨在找到一个以观察 o→ 的历史为条件的策略 π,以最大化回报 R,即 maxπ(・) R (π(・|o→)) 可以使用嵌套集重写(参见图 . 2) 内函数 µ→ (・) 为:

作者强调需要将这些函数与外部函数分开定义、学习和使用,这样用户就可以重新定义任何被认为对其任务有帮助的任意嵌套。我们可以根据方程重写盘古智能体的优化问题。更详细的形式为:

其中 rt 是时间步 t 的奖励,取决于环境观察 ot 和行动 at。此外,γ ∈ [0, 1) 是一个折扣因子,指定奖励随时间折扣的程度。外部函数仍然充当与外界交互的执行器,而那些额外分层的内部函数旨在封装系统架构师认为有益的任何内部推理过程。

有关 Pangu-Agent 的框架结构,内在函数是对代理的内存状态进行操作的一系列函数。内在函数对于塑造智能体的内部状态至关重要,并且可以影响其决策过程。通过利用这些功能,智能体可以根据观察历史和先前的知识调整其记忆状态,从而做出更明智且适合上下文的决策。

外部函数的目的是从语言模型中引发环境交互。与对智能体的内存状态进行操作的内部函数不同,外部函数通过生成要执行的动作来直接与环境交互。

盘古 Agent 公式的灵活性意味着可以分层创建许多复合方法。此外应该指出的是,该工作在盘古 Agent 代码库中提供的这些复合方法的实现并不总是原始算法的忠实再现,因为它们需要特定的任务细节。

受到最近搜索增强的 LLM 研究的启发,盘古 Agent 框架集成了三种树搜索算法 – 广度优先 / 深度优先搜索 (BFS/DFS) 和 蒙特卡洛树搜索(MCTS),以提高 LLM 的生成和决策能力的规划能力。具体来说,该框架利用 LLM 作为策略、模型和价值函数。通过与这个基于 LLM 的模拟环境交互,我们就可以构建一个 rollout 树,该树将使用树搜索算法进一步修剪,以实现更好的操作 / 生成效果。

盘古 Agent 兼容一系列任务,例如 ALFWorld、GSM8K、HotpotQA、WebShop 等。它的交互界面与 OpenAI Gym 类似,是一种开放式设计。

最后,该框架包含一个模板系统来为 LLM 生成输入提示词(Prompt),使用模板增强了提示制作的灵活性。

评估

最后,研究者对 Pangu-Agent 支持的各种方法进行了广泛评估。

首先,他们考虑用一阶嵌套法和复合法来评估 Pangu-Agent 的结构推理能力(图 3);然后,使用监督学习和 RL 在三种不同的环境中评估 Pangu-Agent 的微调能力。结果表明,就 Agent 取得的收益而言,复合方法往往优于一阶嵌套方法。研究者表示,SFT 和 RLFT 可以让 Agent 实现专业化,并进一步提高其在 ALFWorld 和 BabyAI 任务中的收益。在整个评估过程中,研究者使用了多种 LLM,如 GPT、Llama 2、OpenChat、Vicuna 和 Mistral 进行测试。

结构化推理评估

通过对内在函数(Intrinsic Functions)的内置支持,可以评估推理结构中的不同设计选择对 AI 智能体性能的影响。

首先在表 2 中,研究者评估了一阶嵌套,即只通过观察环境和对环境执行的操作来修改智能体记忆的设置。在文献中,这些方法被简单地称为不同的提示方法,例如:少样本提示法 (FS)、少样本思维链 (FS-CoT) 、零样本思维链(ZS-CoT)。这些方法的详细介绍见附录 A.1。

需要注意的是,由于 LLM 文本生成的非确定性,不同的运行所获得的回报可能会有很大差异。为了考虑这些差异,研究者将任务 - 方法 - LLM 的每种组合运行三次,并报告平均标准偏差。但是,一阶嵌套也有局限性,因为它们可能难以充分利用 LLM 的能力。正如此前所述,智能体需要能够处理语言模型的输出、重新查看其答案、更改其记忆,甚至使用工具。这里所说的复合方法是指在决定最终行动之前可能需要多个思考步骤的方法。

表 3 列出了四种复合方法的结果:具有自一致性的 FS-CoT(FS-CoTSC)、具有可选独立思考步骤的 FS-CoT(如 React )、具有映射步骤的 FS-CoT(如 66)、SwiftSage 和 Least-to-Most(另见附录 A.2)。所有这些方法都在每个环境时间步使用了多个固有函数步,缩略语的简要说明可参见表 7。

研究者观察到,结构相似但提示内容不同的方法为智能体带来的收益却大相径庭,这说明了精心设计提示的重要性。同样值得注意的是,不同的方法在某些 LLM 中比在其他 LLM 中效果更好,例如 React 在 OpenChat-3.2 中的平均表现比 FS 差,而 React 和 FS 在 GPT-3.5 中的平均收益表现类似。

值得注意的是,在所有 LLM 中,FS 在 GSM8K 中的性能比 Direct 差很多。这并不奇怪,因为 FS 只向 LLM 提供最终答案。因此,LLM 的目的是回答问题,而不需要生成中间步骤。然而,在 Direct 中,即使没有明确要求,LLM 也会生成中间步骤,因为互联网上类似的小学水平问题就是这样呈现的,而这些问题很可能就包含在这些 LLM 的训练集中。在将 ZS-CoT 与 FS 进行比较时,也能得出类似的结论。

这一点在较小的 LLM 中尤为明显,研究者推测,如果在提示中添加「逐步思考」(think step-by-step)的引语,模型就更有可能生成能够正确解决当前问题的推理步骤。

在 HumanEval 任务中,研究者观察到 GPT-3.5 与其他模型的收益率差距明显大于其他任务。这可能是由于 HumanEval 是一项编码任务,需要 LLM 提供结构良好的响应。然而,较小的开源 LLM 更容易出现这些结构性错误,从而导致任务失败并得到 0 的返回值。

妨碍 LLM 性能的另一个因素是有限的上下文长度。在 WebShop 等涉及相对较大观测值的任务中,提示的长度需要截断,以保持在允许的上下文长度范围内。因此,LLM 在这项任务中的表现会受到很大影响,特别是在 Reflect 等方法中,提示中还会包含额外的信息。这也解释了为什么 Reflect 方法在 WebShop 中的表现往往不如其他方法。

在某些情况下,FS-CoT-SC 可以提高 LLM 的收益,尤其是在 GSM8K 中。但是,这需要付出额外的代价,即需要多次提示 LLM(本实验中为 5 次)以执行 SC 操作选择。在 HumanEval 等任务中,答案包含较长的文本答案,可能会有多个答案产生正确的结果,研究者发现无法应用 SC。这是因为 LLM 不会生成与之前相同的答案,而 SC 操作选择器无法选择最常见的答案。

外在函数评估:微调

上述结果表明,虽然 LLM 在实现各种任务的回报率方面表现出色,但在实现 100% 成功率方面仍有很大的改进空间。随后,研究者探讨了 SFT 和 RLFT 如何帮助 Pangu-Agent 提高成功率。

他们提出了两种不同的流程:一种是由 multi-turn 轨迹生成和 SFT 组成的 Bootstrap SFT (BSFT),另一种是由轨迹生成、SFT 和 RLFT 组成的三步流程。在执行 SFT 时,专家轨迹演示始终使用 OpenChat-3.5 LLM 收集,该 LLM 配备了 Pangu-Agent 框架的结构化推理能力。研究者使用 OpenChat-3.5 LLM 执行 BSFT,而 SFT-RLFT 管道则应用于 Llama 2-7B LLM,并考虑了两种不同的评估范式:为每个任务微调不同的 LLM,以及在多个任务中微调一个 LLM(例如多任务微调)。     whaosoft aiot http://143ai.com

One Model per Domain

BSFT:第一个实验展示了 Pangu-Agent 框架提供的固有函数和微调函数的结合。首先从一系列不同的提示方法中收集数据,特别是 ZS-CoT、FS-CoT、FS-CoT-React 和 FS-CoT-Reflect。收集完数据后,运行一个拒绝采样步骤,丢弃失败的轨迹,只保留在折扣回报方面表现最好的轨迹。然后可以在该数据集上执行 SFT 步骤,以进一步提高该方法的性能。表 4 中 「1-step SFT」一栏列出了经过单一 SFT 步骤训练后的模型结果。

如表 4 ,经过一轮拒绝采样后,可以在 ALFWorld 中取得很好的性能,同时保持模型在行动前产生想法的能力。

SFT-RLFT: 尽管如此,对这些固有函数生成的完整轨迹进行微调的计算成本很高,而且很快就会达到收益递减的地步。研究者建议使用 RL 在各种任务中实现更高的性能。

如表 5 ,研究者首先对成功演示进行 SFT 微调,然后再进行 RL 微调,成功率的提高幅度最大。对于像 ALFWorld 这样的复杂领域,用于轨迹生成的 SFT 步骤和固有函数(FS-CoT)至关重要。这说明了 Pangu-Agent 框架的重要性,在该框架中,可以从固有函数和微调中获益。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_29788741/article/details/135220097

智能推荐

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

心脏滴血漏洞HeartBleed CVE-2014-0160深入代码层面的分析_heartbleed代码分析-程序员宅基地

文章浏览阅读1.7k次。心脏滴血漏洞HeartBleed CVE-2014-0160 是由heartbeat功能引入的,本文从深入码层面的分析该漏洞产生的原因_heartbleed代码分析

java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)-程序员宅基地

文章浏览阅读1.4k次。前言ofd是国家文档标准,其对标的文档格式是pdf。ofd文档是容器格式文件,ofd其实就是压缩包。将ofd文件后缀改为.zip,解压后可看到文件包含的内容。ofd文件分析工具下载:点我下载。ofd文件解压后,可以看到如下内容: 对于xml文件,可以用文本工具查看。但是对于印章文件(Seal.esl)、签名文件(SignedValue.dat)就无法查看其内容了。本人开发一款ofd内容查看器,..._signedvalue.dat

基于FPGA的数据采集系统(一)_基于fpga的信息采集-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏313次。整体系统设计本设计主要是对ADC和DAC的使用,主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。其整体系统框图如下:图1:FPGA数据采集系统框图从图中可以看出,该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、D.._基于fpga的信息采集

微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL-程序员宅基地

文章浏览阅读2.5w次。1.背景错误信息:-- [http-nio-9904-exec-5] o.s.c.n.z.filters.post.SendErrorFilter : Error during filteringcom.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud..._com.netflix.zuul.exception.zuulexception

邻接矩阵-建立图-程序员宅基地

文章浏览阅读358次。1.介绍图的相关概念  图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为:  G=(V,E)其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有穷集合1.1 无向图:图中任意两个顶点构成的边是没有方向的1.2 有向图:图中..._给定一个邻接矩阵未必能够造出一个图

随便推点

MDT2012部署系列之11 WDS安装与配置-程序员宅基地

文章浏览阅读321次。(十二)、WDS服务器安装通过前面的测试我们会发现,每次安装的时候需要加域光盘映像,这是一个比较麻烦的事情,试想一个上万个的公司,你天天带着一个光盘与光驱去给别人装系统,这将是一个多么痛苦的事情啊,有什么方法可以解决这个问题了?答案是肯定的,下面我们就来简单说一下。WDS服务器,它是Windows自带的一个免费的基于系统本身角色的一个功能,它主要提供一种简单、安全的通过网络快速、远程将Window..._doc server2012上通过wds+mdt无人值守部署win11系统.doc

python--xlrd/xlwt/xlutils_xlutils模块可以读xlsx吗-程序员宅基地

文章浏览阅读219次。python–xlrd/xlwt/xlutilsxlrd只能读取,不能改,支持 xlsx和xls 格式xlwt只能改,不能读xlwt只能保存为.xls格式xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改xlrd打开文件import xlrdexcel=xlrd.open_workbook('E:/test.xlsx') 返回值为xlrd.book.Book对象,不能修改获取sheett_xlutils模块可以读xlsx吗

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_unresolved attribute reference 'find_element_by_id-程序员宅基地

文章浏览阅读8.2w次,点赞267次,收藏656次。运行Selenium出现'WebDriver' object has no attribute 'find_element_by_id'或AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'等定位元素代码错误,是因为selenium更新到了新的版本,以前的一些语法经过改动。..............._unresolved attribute reference 'find_element_by_id' for class 'webdriver

DOM对象转换成jQuery对象转换与子页面获取父页面DOM对象-程序员宅基地

文章浏览阅读198次。一:模态窗口//父页面JSwindow.showModalDialog(ifrmehref, window, 'dialogWidth:550px;dialogHeight:150px;help:no;resizable:no;status:no');//子页面获取父页面DOM对象//window.showModalDialog的DOM对象var v=parentWin..._jquery获取父window下的dom对象

什么是算法?-程序员宅基地

文章浏览阅读1.7w次,点赞15次,收藏129次。算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 简单来说,算法就是解决一个问题的具体方法和步骤。算法是程序的灵 魂。二、算法的特征1.可行性 算法中执行的任何计算步骤都可以分解为基本可执行的操作步,即每个计算步都可以在有限时间里完成(也称之为有效性) 算法的每一步都要有确切的意义,不能有二义性。例如“增加x的值”,并没有说增加多少,计算机就无法执行明确的运算。 _算法

【网络安全】网络安全的标准和规范_网络安全标准规范-程序员宅基地

文章浏览阅读1.5k次,点赞18次,收藏26次。网络安全的标准和规范是网络安全领域的重要组成部分。它们为网络安全提供了技术依据,规定了网络安全的技术要求和操作方式,帮助我们构建安全的网络环境。下面,我们将详细介绍一些主要的网络安全标准和规范,以及它们在实际操作中的应用。_网络安全标准规范