引言
在知识密集型场景中,让智能系统生成与事实一致的响应一直以来都是研究人员的目标。尽管现在大语言模型(LLMs)在其参数记忆中内化了大量的世界知识,但仍然受限于虚构事实。引入非参数(即基于检索的)知识可以显著增强LLM回复的事实性。但是当前的参数知识增强框架面临着三个主要战:1)复杂的查询意图:指令语义和形式的多样性导致对知识查询意图的混淆。2)检索知识中的干扰:知识检索不可避免地会引入文档和句子两种不同粒度的干扰,不相关的文档和多余的跨度会干扰响应,导致更严重的幻觉。3)知识利用度不足:LLM 往往更多地依赖于其内隐知识(参数记忆)。现有方法并没有综合考虑这种多阶段的挑战,因为这通常需要执行一系列长轨迹处理操作。
因此,本文首先提出了⼀种用于知识密集的多智能体框架-SMART,以整合不同的动作,应对上述挑战,其中每个智能体都执行特定的行动。SMART包括:意图重建器(从各种指令中澄清知识意图)、知识检索器(访问外部知识)、事实定位器(评估检索到的知识,并从相关文档中识别事实片段)、响应生成器(忠实地利用事实,并在有事实的情况下进行引用)。
然而,一个主要关注点在于如何为每个智能体配备执行相应操作所需的能力,同时最大限度地减少智能体工作流过程中的错误,从而提高整体知识密集型性能。这是改进多智能体框架的一个长期挑战,尤其是大多数多智能体框架都是以非训练方式运行的。一方面,模块化方法将独立学习模块串联,使每个模块专注于特定智能体,从而简化处理流程,但可能导致错误在系统中累积和传播。另一方面,让 LLM 变体直接模仿整个轨迹虽能缓解模块化方法的碎片化问题,减少错误传播,却难以保证每个智能体的细粒度表征。因此,应在确保协同效应的同时,优化个体智能体的贡献。
为了应对这⼀挑战,本文提出了一种多智能体协同训练的方法,即长短轨迹学习。该方法包括两个阶段,短轨迹首先激活框架中的每个特定智能体,从而学习关于子轨迹中输入输出信号的理解。随后,长轨迹学习通过轨迹骨架学习确保多智能体之间的协同作用。。在五项知识密集的下游任务上的实验结果证明了所提框架的有效性和先进性。

论⽂地址:https://arxiv.org/abs/2407.09893
项目地址:https://github.com/yueshengbin/SMART
轨迹数据:https://huggingface.co/datasets/ShengbinYue/Long-short-Trajectory
本文的主要作者来自复旦大学、南加州大学、华中科技大学。本文的第一作者为复旦大学博士生岳圣斌,主要研究方向为生大语言模型和智能体。本文的通讯作者为复旦大学自然语言团队的魏忠钰副教授。
方法介绍

1. 多智能体框架-SMART
SMART包含四个关键智能体,每个智能体负责一个特定的子轨迹,通过协同这些智能体以获得最终的响应。
意图重构器。澄清不同类型指令的知识查询意图。例如,处理模糊问题(如“ A 和 B 谁出生得早?”)时,将其分解为子问题(如分别获取 A 和 B 的出生日期)。
知识检索器。基于重构的意图访问外部知识库,并检索相关知识。由现成的检索模型驱动,为每个知识意图从知识库中获取 top-k 个相关文档。
事实定位器。评估知识文档与指令的相关性,并提取支持证据的事实跨度。其主要作用包括:(1) 相关性判断,减少无关文档干扰,使响应更加聚焦。(2) 通过明确学习查找事实,增强知识应用的可解释性,提高用户信任度。
响应生成器。生成最终响应。若提供事实,则调整知识偏好以符合事实;否则,依赖自身知识作答。
2. 长短轨迹数据集构造
为优化多智能体框架的长短轨迹学习,本文构建了轨迹数据集。该数据集从12个知识密集型任务中收集样本,涵盖多种语义和格式指令,如事实验证、对话、开放领域问答和常识推理等。轨迹数据集遵循两种不同的原则,划分为长轨迹子集和短轨迹子集。

2.1 长轨迹子集
特点:该子集旨在精确模拟多智能体框架完整推理过程,强调智能体间的逻辑交互。
构造方法。
给定原始数据输入-输出对
a. 根据指令类型,利用批判模型澄清
b. 检索模型基于每条知识意图检索 top-k 篇知识文档。
c. 对于每个文档,批判模型会根据
d. 如表 2 所示,为每个轨迹插入轨迹头尾令牌,并合并数据。
2.2 短轨迹子集
特点:旨在增强单个智能体对专属轨迹的细粒度理解。
构造方法:
短轨迹子集的特点使其能够通过简单处理,直接从大量现有的知识密集型任务中获取数据。因此,本文从现有的 NLP 和 SFT 数据集中采样,并附加必要的轨迹头尾标记。表 2 展示了每个智能体负责的短轨迹的输入和输出。
3. 长短轨迹学习

有效微调由多个智能体组成的轨迹系统是一项复杂任务,而构建多个智能体的轨迹数据成本高昂,极大地阻碍了此类系统的开发。为此,本文提出长短轨迹学习(Long Short-Trajectory Learning)方法,包括短轨迹学习和长轨迹学习两个阶段。如图 3 所示,这可以理解为先在广泛的轨迹框架内激活每个掌握短轨迹的智能体,然后探索这些智能体之间的相互联系以导航整个长轨迹。
短轨迹学习
如图3所示,给定输入
具体地,给定短轨迹子集
长轨迹学习
经过上述阶段,长轨迹学习(Long Trajectory Learning)使其能够以端到端的方式在智能体之间建立关联。与短轨迹学习不同,该阶段既要学习预测每条短轨迹的目标输出,也要学习从上一条轨迹终点
其中,R、I 和 G 分别表示 意图重构器、事实定位器和 响应生成器。
实验部分
实验设定
评测任务。在一系列知识密集型下游任务中对框架进行了评估。包括:(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 和 Alpaca2-7B。(2)知识增强方法: REPLUG-7 , VANILLA-7B , INTERACT-7B , RAIT-7B, SelfRAG-7B, MMAgent-3*7B。
对比实验结果

与知识内化方法比较。SMART在所有任务中都显示出比同等大小LLM 更强的性能优势。此外,SMART在 PopQA(长尾知识评估)、Squad1 和 ASQA 的所有评估指标中都超越了 ChatGPT。实验结果表明,与需要对大量私有数据进行微调和训练的知识内化方法相比,SMART更有效地处理长尾知识,提供更准确的响应。
与知识增强方法的比较。考虑到公平性,SMART 比较了基于与我们相同规模的知识增强方法。与MMAgent(四个独立智能体直接耦合) 相比,SMART 在所有指标上都优于它,这表明SMART显著提示了多智能体协作,从而产生了更准确的响应。
消融实验结果

不同智能体的贡献
训练消融:在该设置中,使用长轨迹子集的 60k 个样本进行长轨迹学习,训练四种不同的框架,以评估智能体缺失对框架性能的影响。如表 3 上半部分所示,移除事实定位器或意图重构器都会显著降低框架性能。
推理消融:在该设置中,使用完整数据训练的短长轨迹学习框架,在推理阶段忽略不同智能体的轨迹。如表 3 底部所示,每个智能体在协作框架中均发挥关键作用。尽管存在智能体缺失,SMART 仍能保持性能并展现出较强的灵活性,而不会导致性能崩溃。
长短轨迹学习的影响
本文通过在基线模型上进行训练,逐步证明了长短轨迹学习的有效性。如表所示,短轨迹学习和长轨迹学习可以带来巨大的性能提升,总体而言,长短轨迹学习的组合方法可产生最佳性能,凸显了协作和独特性的重要性。
长轨迹学习训练数据大小的影响
为了研究长轨迹训练数据对长短轨迹学习的影响,本文从原始的 140k 训练实例中随机抽取 8k、20k、60k 和 121k 个子集,并在这些子集上微调了四个 SMART 变体。结果表明,数据规模的增加通常会提升所有数据集的性能。值得注意的是,在 ASQA 上,SMART 仅使用 60k 数据实例便超越了基于 120k 样本训练的 SelfRAG。这一结果证明,长短轨迹学习策略不仅能降低成本,还能显著提升多智能体框架的性能。
总结
在本文中,作者尝试使用多智能体框架解决知识密集型任务,并提出了一种结合长短轨迹的多智能体框架微调方法。实验证实了该多智能体系统设置的框架的有效性和优越性。同时,提出的长轨迹和短轨迹学习可以扩展到其他多智能体场景,使任意多智能体框架能够内化定制的轨迹。
备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群
id:DLNLPer,记得备注呦