Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

可「自主进化」的Agent?首个端到端智能体符号化训练框架开源了

图片
AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文主要作者来自波形智能、浙江大学、和北京航空航天大学。共同一作中,周王春澍是波形智能的联合创始人和 CTO,欧翌昕是浙江大学硕士二年级,丁盛为为北京航空航天大学四年级本科生。文章的通讯作者为周王春澍和姜昱辰,姜昱辰是波形智能的联合创始人和 CEO。

随着各类大模型 API 的迭代以及各类 AI Agent 框架的开源,基于大模型的智能体在学术界和工业界收获了广泛的关注、研究、和应用。

尽管基于大模型的智能体 (AI Agent) 在很多场景都取得了不错的效果,并且在一些场景下已经能够实际落地应用,AI Agent 的研究和开发的进展仍然局限于 “expert-centric”,或者说 “engineering-centric” 的范式中。也就是说,现在的 Agent 的创建和调优过程还是几乎完全依赖人类专家 (算法工程师) 的人力和经验来设计智能体的 promtps, tools,和 workflow。这样的过程费时费力,并且注定了无法使用海量数据对智能体的这些符号化元素进行学习和训练。而大部分智能体依赖于闭源的 API 调用,无法对大模型基座本身进行优化,即使使用开源大模型,对模型基座本身的优化也在大部分 AI 智能体的应用场景中受到资源、算力、稳定性等原因而无法实际进行。因此现在的智能体还处于 “专家系统” 的发展阶段。

众所周知,神经网络成为机器学习 / 人工智能的基础范式的重要原因正是因为可以高效地使用海量数据进行训练和优化,而不需要手工设计复杂的结构和学习算法。因此,来自波形智能的研究人员们认为,AI Agent 从以专家经验为核心 (expert-centric) 到以数据为核心 (data-centric) 的转变,将会是基于大模型的智能体的一个重要发展方向。

为了实现这个目标,来自波形智能的研究团队借鉴连接主义训练神经网络 (connectionist learning) 的基本方式,即反向传播和梯度下降,将 AI Agent 和神经网络进行类比,使用文本和大模型建模损失函数、梯度、和优化器,模拟反向传播和梯度下降算法,实现对 Agent 的端到端的符号化训练算法,构建了一套可以对 AI 智能体进行端到端训练的算法框架,代码已经开源在 GitHub。

图片

  • 论文地址:https://arxiv.org/pdf/2406.18532
  • 代码仓库:https://github.com/aiwaves-cn/agents

具体来说,团队首先将基于大模型的智能体解构为三个主要元素,即 prompts, tools, 和 agent pipeline (workflow)。接着,框架中将一个 Agent 系统看作是一个 “符号化” 神经网络,将 Agent workflow 中的每一个 node 看作是网络中的一个 layer,而将每个节点中的 prompts 和 tools 看作是这个 layer 的 weights,智能体的 workflow/pipeline 则可以看作是网络的计算图。这样下来,智能体系统可以看作是一个权重从数字 / 张量空间变成离散符号空间 (文字,代码都是符号化的表示) 的神经网络,而这种网络的训练自然也就可以参考传统神经网络的优化方式,即反向传播和梯度下降

图片

                                 图 1: Agent Symbolic Learning 框架示意图

要使传统的反向传播和梯度下降能够处理符号化的权重空间,agent symbolic learning 框架中通过文本和大模型 + 提示词的方式建模了损失,损失函数,反向传播的流程,梯度,以及基于梯度的优化器。具体来说,前向传播过程中,框架会将每一层的输入、权重、和输出都保存在计算图中。接下来,通过大模型 + 提示词的方式,在提示词中结合当前样本的输入,输出,和整体任务的描述,之后由大语言模型输出对当前样本任务完成情况的评价和总结。得到的文本形式的评价 / 总结,正如神经网络中的 loss 一样,用来衡量任务完成的好坏,研究团队将其称为 “文本形式的损失”,即 language-based loss。

之后,该研究通过大语言模型和精心设计的提示词工程,来生成智能体流程中对最后一个节点的 “反思”。反思中包括模型的输出应该怎样变化才能更符合要求,以及提示词和工具调用应该如何优化才能使输出朝这样的方向发生变化。这一内容和神经网络优化中梯度的作用刚好一致,都是包含了参数应该如何调整才能最小化整个模型的损失的信息,因此研究团队将这样的反思称作 “文本形式的梯度”,即 language-based gradient。

接下来要做的就是从后向前,得到每一层的梯度,这对于神经网络的优化至关重要。受到神经网络中基于链式法则的公式的反向传播的启发,波形智能的研究人员通过文本和大模型,用一套精心设计的 prompt 来模拟了传统神经网络优化的链式法则。具体来说,这套 prompts 让大模型基于上一层的梯度信息 (即对上一层执行任务的反思) 以及本层的输入、输出、以及权重 (这些输入和反向传播公式中的参数完全对应),输出对当前节点的 prompt/tool usage 的反思,即当前层的 language-based gradient。这样基于文本的反向传播的方案使得该研究能够得到一个包含多个节点和复杂 workflow 的智能体中每一节点 / 层的参数的梯度,也就可以直接优化每一个 prompt 和 tool 对整个智能体性能的作用,从而实现 end-to-end 的 joint optimization。

最后,得到了每组参数的 language-based gradient 之后,框架中使用基于大模型的 optimizer,使用精心设计的 prompt,以每一层的提示词和工具调用,以及基于文本的梯度作为输入,输出优化过后的 prompts 和 tools,从而实现对智能体参数的更新。

除此之外,框架中还支持了对网络结构,即 agent workflow 的优化。具体来说,框架中将 agent workflow 以特定的编程语言进行表示,这样就将智能体网络的 “计算图” 也处理成了符号化的权重。之后通过一个单独设计的基于大模型的优化器,以当前智能体的工作流和工作流中的各个节点的文本形式的梯度为输入来对智能体的工作流进行更新。这在神经网络中训练中可以类比自动网络结构搜索相关的研究。

图片

                               图 2: Agent Symbolic Learning 算法流程

图片

                                 图 3 大模型评测任务上的实验结果

图片

                                图 4 智能体级别评测任务的实验结果

波形智能的研究人员在大模型和智能体的一系列 benchmark 上对该算法进行了评估,如图 3 和图 4 所示,agent symbolic learning 相比 DSpy 和传统的没有学习能力的智能体框架相比,在各类任务上都有了明显的提升,在一些任务上甚至使用 GPT-3.5 也能和其他智能体框架使用 GPT-4 的表现类似。而简单的对智能体中每一个节点中的提示词使用局部的基于大语言模型的提示词自动优化算法 (AutoPE) 则无法取得很明显的效果。另外,如图 5 所示,该算法在创意写作任务中,从初始的只基于一个提示词进行写作的单节点智能体,自主进化到了支持写作 + 编辑的工作流,并且将写作节点的提示词进行了更新和优化。

图片

                                     图 5 Agent Symbolic Learning 框架学习效果展示 (以创意写作任务为例)

波形智能的研究团队介绍了 Agent Symbolic Learning 的两种应用场景。首先,该框架可以用于开发者或研究人员创建和调优智能体系统中。像神经网络的训练一样,开发者和研究人员可以对指定的任务收集(或者使用框架中提供的自动生成)大量的样本,之后使用该框架在大量数据上完成 “data-centric” 的智能体的训练和优化,在之后像普通智能体的部署一样,在产品生产环境中以静态的方式部署优化过后的智能体。

除此之外,该框架的另一个重要应用场景是支持能够在环境 / 交互中自主进化的 Agent。具体来说,因为该训练框架本身只需要调用大模型的能力而不需要复杂的基于 GPU 的训练和部署,因此一个 Agent 可以将该训练框架作为其自身可以调用的一个工具,通过在环境中探索或者和人类进行交互的过程中,不断收集新的训练样本,定期或者主动调用智能体训练的算法工具,对自身的 prompts, tools, 和 workflow 进行更新。波形智能在 AIWaves Agents 的开源代码库中也支持了这样的部署逻辑,实现了首个可以在被部署到实际产品和生产环境中之后,依然可以不断自主进化、自我迭代的智能体系统。

Agent Symbolic Learning 框架将 AI Agent 视作由复杂 workflow 中的 prompts 和 tools 连接而成的符号化 “神经网络”,通过基于自然语言模拟反向传播和梯度下降,使得基于大模型的智能体可以自主对自身的 “网络参数”,即 prompts 和 tools,以及 “网络结构”,即 agent workflow,进行优化,从而实现了能够高效利用大量数据和经验,进行 “data-centric learning” 的智能体框架,让能够持续自主进化的智能体系统变成了可能。目前,该框架已经在波形智能的多个产品和应用中发挥作用,解决了 Agent 人工优化和评测困难的问题。为了推进 “Data-centric Agent” 和 “Agent Learning” 的发展和研究,波形智能的研究团队也将算法的全部代码开源,期待智能体领域学术界和工业界一起探索更多更有趣的算法和应用。
工程AI Agent波形智能
相关数据
专家系统技术

专家系统(ES)是人工智能最活跃和最广泛的领域之一。专家系统定义为:使用人类专家推理的计算机模型来处理现实世界中需要专家作出解释的复杂问题,并得出与专家相同的结论。简言之,如图1所示,专家系统可视作“知识库(knowledge base)”和“推理机(inference machine)” 的结合。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

链式法则技术

是求复合函数导数的一个法则, 是微积分中最重要的法则之一。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

推荐文章
暂无评论
暂无评论~