Agent Tuning | 长短轨迹学习结合的多智能体联调框架
“
引言
在知识密集型场景中,让智能系统生成与事实一致的响应一直以来都是研究人员的目标。尽管大语言模型(LLMs)在其参数记忆中内化了大量的世界知识,但仍然受限于虚构事实。引入非参数(即基于检索的)记忆知识可以显著增强LLM回复的事实性。但是当前的参数知识增强框架面临着三个主要挑战:(1) 复杂的查询意图。指令的多样性(例如,多项选择题、多轮对话和复杂问题)导致了对知识意图的混淆。(2) 知识检索不可避免地会引入不同粒度(文档和句子)的噪音,不相关的文档和多余的跨度会分散响应的注意力,导致更严重的幻觉。(3)知识利用度不足。LLM通常倾向于依赖其自身编码的参数知识,而不是提供的外部事实 。对于这种复杂的知识密集型任务中一系列挑战,通常需要执行一系列长轨迹操作来完成,例如重建知识意图、访问外部知识、区分相关知识文档、识别事实片段,最终构建有依据的响应。
因此,本文首先提出了⼀种多智能体框架-SMART,将这些动作整合到复杂的知识密集型任务中,其中每个智能体执行一个特定的子任务。SMART包括:意图重建器(从各种指令中澄清知识意图)、知识检索器(访问外部知识)、事实定位器(评估检索到的知识,并从干扰项中识别事实片段)、响应生成器(忠实地利用事实,并在有事实的情况下进行引用)。
然而,目前大多数多智能体框架都是以非训练方式运作,引导多个智能体在复杂的轨迹上进行协作是一个长期存在的挑战:一方面,模块化操作,即将各个独立的学习模块串联起来,每个模块专注于一个特定的智能体,可以简化处理过程。但是,这种方法可能导致错误积累,因为早期模块中的错误会在整个流程中传播。另一方面,让LLM变体模仿整个轨迹,虽然可以缓解模块化系统中的碎片化和错误传播,但这种长期和全局的监督不能保证每个智能体的细粒度表征。总体而言,应该保证协同效应的同时,确保每一个智能体的贡献。
为了应对这⼀挑战,本文提出了一种多智能体协同训练的方法,即长短轨迹学习。该方法包括两个阶段,短轨迹首先学习激活框架中的每个特定智能体,长轨迹学习通过轨迹令牌骨架学习确保智能体间的协同效应。为了在这两个阶段建立共同的监督信号,同时实现各自不同的训练目标,使用特殊的令牌(轨迹令牌)让每个智能体在训练过程中识别归属轨迹,同时学习智能体间的交互信号。在五项知识密集的下游任务上的实验结果证明了所提框架的有效性和先进性。
本文框架是一个通用范例,它可以从知识密集型任务扩展到更复杂的场景,使任何多智能体框架都能内化量身定制的轨迹。
图1:知识密集型场景的长轨迹示例(上图)和多智能体协调框架比较(下图)
论⽂地址:
https://arxiv.org/abs/2407.09893
项目地址:
https://github.com/yueshengbin/SMART
“
方法介绍
图2:多智能体框架
01
多智能体框架-SMART
为了应对知识密集型场景中的复杂挑战,SMART包含四个关键智能体,每个智能体负责一个特定的子轨迹,通过协同这些智能体以获得最终的响应。
意图重构器。该智能体旨在从不同的用户指令中澄清知识查询意图。它拥有四种主要能力:整合上下文线索、过滤噪声、统一表述和意图分解。例如图2中,在处理模糊问题时,比如 “A 和 B 谁出生得早?”需要把它们分解成多个子问题,例如每个人的出生日期。 知识检索器。该智能体旨在访问外部知识库(如维基百科),并根据重建的意图获取相关知识。具体而言,它由一个现成的检索模型驱动,针对每个知识意图从知识库中获取top-k个知识文档。 事实定位器。该智能体旨在评估每个知识文档与给定指令的相关性,以确定相关文档。然后,从相关文档中找出事实跨度作为支持证据。事实定位器有两个主要作用:(1) 相关性判断以尽量减少无关文档跨度的干扰,并使响应阶段更加专注于事实证据。(2) 通过明确学习查找事实,它可以增强知识应用过程的可解释性,提高用户的可信度。 响应生成器。该智能体旨在最终生成对用户指令的响应。当提供了事实,它就会调整自己的知识偏好以符合这些事实。否则,响应生成器依靠其自身知识来响应。
02
长短轨迹数据集构造
为了长短轨迹学习以优化我们的多智能体框架,本文构建了轨迹数据集。轨迹数据集从12 个知识密集型任务中收集样本,以确保覆盖各种语义和格式指令,例如事实验证、对话,开放领域问答, 常识推理等. 详细统计数据见论文附录A.1的表5。轨迹数据集遵循两个不同的原则包含两个部分:长轨迹子集和短轨迹子集。
表1:四种轨迹Tokens。x、q、d、r、f 和 y分别表示指令、意图、知识文档、相关性标签、事实证据和回应。
长轨迹子集
特点:该子集旨在精确模拟多智能体框架推理过程,强调智能体间的协同和逻辑交互。
大小:140K
构造方法:
给定原始数据输入-输出对 (x, y),在检索模型和批判模型的指导下创建监督数据。 1、根据指令类型,利用批判模型澄清 x 中的知识意图 。
2、检索模型会根据每条知识意图检索出top-k篇知识文档。
3、对于每个文档,批判模型会根据 (x, y)进一步评估该段落是否相关。如果段落是相关的,会进一步定位并提取事实跨度。
4、如表2所示,为每个轨迹插入轨迹头和轨迹尾令牌插入,然后合并数据。
短轨迹子集
特点:旨在增强单个智能体对专属轨迹的细粒度理解,强调每个智能的独特性。
大小:360K
构造方法:
短轨迹子集的特点使得能够通过一些简单的处理,直接从大量现有的知识密集型任务中获取数据。因此,我们从现有的 NLP 和 SFT 数据集中采样,附加必要的轨迹头和尾标记。需要注意的是,现有的 NLP 数据集无法满足我们的意图重构要求,因此我们采用了长轨迹子集收集中相同的方法来收集意图重构的数据。表2展示了每个智能体负责的每个短轨迹的输入和输出。
03
长短轨迹学习
短轨迹学习
长轨迹学习
“
实验部分
01
实验设定
评测任务。我们在一系列知识密集型下游任务中对我们的框架进行了评估。包括:(1)事实验证:PubHealth;(2)多项选择推理:ARC-Challenge 。(3) 开放域问题解答:PopQA 和SQuAD 1.1 。(4) 含糊问题解答:ASQA。
基准模型。我们将我们的框架与两类基准方法进行了比较。
(1) 知识内化方法:ChatGPT 、Mistral-Instruct-v0.2-7B 、Llama-2-Chat-7B/13B 、Vicuna-v1.5-13B 和 Aplca2-7B。
(2)知识增强方法:REPLUG-7 , VANILLA-7B , INTERACT-7B , RAIT-7B, SelfRAG-7B, MMAgent-3*7B。
02
对比实验结果
与知识内化方法比较
SMART在所有任务中都显示出比同等大小LLM 更强的性能优势。与拥有更多内化知识的大型 LLM(Vicuna-v1.5-13B 和 Llama-2-Chat-13B)相比,我们的 SMART 框架在所有指标中也表现出卓越的性能。此外,我们的框架在 PopQA(长尾知识评估)、Squad1 和 ASQA 的所有评估指标中都超越了 ChatGPT。
实验结果表明,与需要对大量私有数据进行微调和训练的知识内化方法相比,我们的方法更有效地处理长尾知识,提供更准确的响应。
与知识增强方法的比较
考虑到公平性和说服力,SMART 比较了基于与我们相同规模的知识增强方法。与MMAgent(四个独立智能体直接耦合) 相比,SMART 在所有指标上都优于它,这表明SMART显著提示了多智能体协作,从而产生了更准确的响应。
总体而言,我们的 SMART 在各种知识密集型任务中都表现出色。
03
消融实验结果
不同智能体的贡献
训练消融:在这个设置中,使用来自长轨迹子集的 60k个样本实施长轨迹学习训练四个不同的框架,以评估不同智能体缺失场景下框架的性能。如表的上半部分所示,事实定位器和意图重构器的缺失显著降低了框架的性能。
推理消融:在这个设置中,使用完整的数据经过短长轨迹学习的框架,在推理阶段忽略不同智能体的轨迹。如表3底部所示,每个代理在协作框架中都扮演着重要的角色。我们的长短轨迹学习可以在保持性能的前提下灵活地插入代理组合,这是目前端到端训练系统所无法企及的。
长短轨迹学习的影响
长短轨迹学习通过两阶段学习优化多智能体框架。我们通过在原始模型 Llama-2-7B上进行训练,逐步证明其有效性。如表所示,短轨迹学习和长轨迹学习使框架在所有任务上的性能得到巨大提升。长短轨迹学习的组合方法可产生最佳性能。短轨迹学习通过优化每个智能体的基本能力来增强系统,尽管其影响不如长轨迹学习那么大,但是复杂的长轨迹数据构建带来了挑战。
长轨迹学习训练数据大小的影响
为了研究长轨迹训练数据对长短轨迹学习的影响,我们从最初的 140k 个训练实例中随机选择了 8k、20k、60k 和 121k 个实例子集,并在这些子集上微调了四个 SMART 变体。随后,我们将模型在 ARC-C、PopQA 和 ASQA 上的性能与我们的 SelfRAG 和 MMagent 模型进行了比较。如图 所示,数据大小的增加通常会导致所有数据集的性能提高。值得注意的是,通过利用 60k 个数据实例,SMART 在ASQA表现优于使用 120k 个样本的 SelfRAG。这证明了这种长短轨迹学习策略可以在减少成本的同时,显着提高多智能体框架的性能。
“
总结
在本文中,作者尝试使用多智能体框架解决知识密集型任务,并提出了一种结合长短轨迹的多智能体框架微调方法。实验证实了该多智能体系统设置的框架的有效性和优越性。同时,提出的长轨迹和短轨迹学习可以扩展到其他多智能体场景,使任意多智能体框架能够内化定制的轨迹。
复旦大学数据智能与社会计算实验室
Fudan DISC
联系方式:disclab@fudan.edu.cn
地址:复旦大学邯郸校区计算中心
点击“阅读原文”跳转至Github