智体链:大语言模型协作完成长上下文任务

25年1月来自Penn State U和谷歌云的论文“Chain of Agents: Large Language Models Collaborating on Long-Context Tasks”。

解决有效处理长上下文的挑战已成为大语言模型 (LLM) 的关键问题。出现了两种常见策略:1)减少输入长度,例如通过检索增强生成 (RAG) 检索相关块,以及 2)扩展 LLM 的上下文窗口限制。但是,这两种策略都有缺点:输入减少不能保证覆盖所需信息的部分,而窗口扩展则难以专注于解决任务的相关信息。为了缓解这些限制,提出 Chain-of-Agents (CoA),这是一种新框架,它通过自然语言利用多智体协作,实现跨长上下文任务的各种 LLM 的信息聚合和上下文推理。CoA 由多个工作者智体组成,它们依次通信以处理文本的不同分段部分,然后是一个管理者智体,它将这些贡献合成为连贯的最终输出。 CoA 通过交替阅读和推理来处理整个输入,并通过为每个智体分配一个短上下文来缓解长上下文焦点问题。对 CoA 在问答、总结和代码完成等各种长上下文任务上进行了全面评估,结果表明,与 RAG、全上下文和多智体 LLM 的强大基线相比,CoA 的性能显著提升了 10%。

尽管 LLM 在各种场景中都表现出色,但它们在涉及长上下文的任务上却举步维艰 [8, 63, 57]。许多应用场景都需要极长的上下文,例如问答 [85, 22, 69]、文档和对话摘要 [25, 93, 91, 90, 12] 和代码补全 [20, 43],其中输入包含整本书 [32, 33] 和长篇文章 [16]。

为了应对长上下文任务的挑战,人们探索两个主要方向,如表所示:减少输入和窗口扩展。减少输入会在输入到下游 LLM 之前缩短输入上下文的长度。截断方法 [1, 67] 直接截断输入。检索增强生成 (RAG) [81] 通过嵌入相似性检索最相关的块,扩展了这一方向。然而,由于检索准确度低,LLM 可能会收到不完整的上下文来解决任务,从而影响性能。窗口扩展通过微调扩展 LLM 的上下文窗口以使用整个输入 [13, 44, 48]。例如,Claude-3 [5] 直接允许为每个输入读取 200k 个tokens。然而,当窗口变长时,LLM 很难专注于解决任务所需的信息,从而遭受上下文利用率低下的问题,例如“迷失在中间”问题 [37, 3, 42]。

请添加图片描述

多智体 LLM。多智体 LLM 已成为一个热门话题 [21]。大量研究集中在社会模拟 [52, 53] 和框架 [35] 上。基于它们的成功,一些研究探索游戏设置 [39, 74, 82, 83, 47]、世界大战 [23]、经济市场 [36, 76]、推荐系统 [88] 和流行病 [19]。另一些研究则推进问题解决,重点是通过多智体辩论 [18, 80, 10, 66] 和讨论 [11, 58] 来推理短文本,以解决推理 [18, 66]、力学问题 [49]、论文评审 [84]、知识图谱构建 [86] 和代码智能 [70, 24] 中的不同任务。 LongAgent [92] 利用树结构在长输入上下文中进行多跳 QA,兄弟工作智体之间不进行通信,而 CoA 利用链结构,允许通信单元在工作智体之间流动。

LLM 的长上下文建模。减少输入:RAG 被广泛用于解决基于长上下文查询的任务 [81, 2]。结合强大的检索器 [79, 41, 73],LLM 有望处理开放域中的长上下文问题。先前的研究在预训练 [26, 72]、微调 [34]、推理 [87] 或直接集成 [28, 61] 期间增强 LLM。此外,还提出一些 token 级检索方法 [38]。Longllmlingua [27] 从长提示中删除 token,以将长上下文提示压缩到所需的预算。窗口扩展:由于 GPU 的发展,LLM 的上下文窗口越来越长。例如,上下文窗口从 1024(GPT-2 [56])、2048(GPT-3 [7])增加到 128k(GPT-4 [50])。此外,最新版本的 Claude-3 [5] 支持 200k 上下文窗口。为了节省 LLM 训练的成本,提出一些持续学习或微调方法来扩展预训练 LLM 的上下文窗口 [46, 55, 44, 48]。例如,位置插值 [13] 修改旋转位置编码 [64],并将 LLaMA [68] 的上下文长度扩展到 32k。与上述工作不同,CoA 不会减少输入长度或延长 LLM 的窗口长度,而是利用多智体协作和通信来获得完整的感受野。

最近,一些研究采用文本分块算法来划分和处理长文本输入。值得注意的是,RecurrentGPT [95] 采用链式结构以逐块的方式生成长输出,保持故事情节的连续性。WalkMaze [9] 利用集中式树结构,无需同级智体之间的通信,在长输入上下文中进行单跳问答。与这些工作不同,CoA 专注于具有链式结构和同级智体间通信的长输入任务。

复杂任务推理。以前关于复杂推理的工作主要集中在将复杂问题分解为子问题,以逐步解决它们。[54] 用无监督模型分解问题,然后用另一个模型分别回答。分解提示 [30] 利用一些预定义的模块对每个分解后的子问题进行分类,然后根据需要进一步分解。此外,分解还用于人机交互 [77] 和提示器训练 [71]。最近,许多针对 LLM 的研究已经提出,例如思想链 [75]、从最少到最多提示 [94] 和 Pearl [65]。然而,提示的长度不超过单个智体的上下文限制。

受上述挑战的启发,本文提出一个新框架,智体链 Chain-of-Agents (CoA),其灵感来自人类在有限的大脑工作记忆约束下交错阅读和处理长上下文的方式 [15]。CoA 的关键思想是利用多智体通信来实现跨不同 LLM 的信息聚合和上下文推理能力。如图所示,CoA 包含两个阶段。在第 1 阶段,负责不同长上下文块的一系列工作者智体协作并汇总证据以回答给定的查询。为此,工作者智体按顺序读取和处理,每个智体都从前一个工作者智体接收消息,并将有用的更新信息传输到下一个。在第 2 阶段,管理者智体从最后一个工作者智体接收完整证据并生成最终响应。

请添加图片描述

CoA 是一个无需训练、与任务无关且高度可解释的框架,它通过交错读取处理来处理整个“感受野”,并通过为每个智体分配一个短上下文来缓解长上下文聚焦问题。与输入减少不同,LLM 需要从减少的输入开始处理低感受野(“读取然后处理”),CoA 中的工作者智体在读取所有输入之前开始处理每个块(“交错读取处理”),解决了输入减少所面临的问题,例如通用摘要或段落计数 [6]。与上下文扩展不同,CoA 利用通信能力,而不是试图将许多 token 馈入 LLM。对于复杂任务来说,这是一种更自然的解决方案,因为假设每个 LLM 都有其限制,并且总会有超出其限制的复杂上下文任务。与全上下文相比,CoA 还通过将时间复杂度从 n^2 降低到 nk(其中 n 是输入 token,k 是 LLM 的上下文限制)来提高成本效益。

为了制定任务,将长上下文样本表示为 (x, y, q),其中 x 是 n 个 token 的输入,y 是 m 个 token 的输出,q 是可选查询。给定一个具有 k 个 token(通常 k ≪ n)作为上下文窗口限制的 LLM,目标是使用有限的输入上下文窗口生成 y。因此,将每个源文本 x 划分为块 x = {c/1,c/2…c/l},以便每个块可以完全输入到 LLM 智体主干模型中。

第 1 阶段:工作者智体:段理解和链式通信

在第 1 阶段,CoA 包含一系列 l 个工作者智体。每个工作者 W/i 输入源文本 x 中的块 c/i、查询 q、工作者智体的特定任务指令 I/W 以及从前一个智体传递的消息(表示为“通信单元”CU/i−1)的连接。通信是单向的,从工作者智体 i − 1 传递到 i。工作者智体处理它们并输出消息 CU/i 给下一个工作者,表示为:CU/i =LLM/W/i(IW, CU/i−1,c/i,q)。

工作者智体生成的 CU 因任务而异。对于问答,CU 包含管理者回答问题的证据。对于总结,CU 包含先前文本的摘要。对于代码完成,CU 包含带有函数/类名称和说明的代码摘要。在不同任务上的有效性证明了 CoA 的灵活性。

CoA 中多步的工作者通信,将模型上下文扩展到完整的接受域,这意味着无论输入有多长,最后一个工作者都可以读取完整的输入。因此,通过调整工作者智体的数量,CoA 可以扩展到不同长度的输入。

上图的左侧强调了工作者之间协作通信的必要性,以有效解决复杂的长上下文推理任务。1) 虽然给定 c/1 时问题无法回答,但 W/1 会生成可用于回答问题的相关证据;2) 利用前一位工作者的部分答案,W/2 进一步推理当前源以完成跨智体的完整推理链并生成解释推理链;3) W/3 在块 3 中未找到相关信息,它直接重写 CU/2,将正确答案作为 CU/3 的第一个token,而不添加任何不相关的信息。这表明,如果工作者是独立的(例如树结构通信),那么当第一步的答案由另一个工作者持有时,不可能回答第二步。

第 2 阶段:管理者智体:信息集成和响应生成

在第 2 阶段,经过工作者智体的多个信息提取和理解步骤,管理者智体产生最终解决方案。当工作者智体在长上下文源中提取相关信息时,管理者智体综合“工作者智体链”末端积累的相关信息以生成最终答案。具体而言,给定管理者的指令 I/M 和查询 q ,管理者智体使用来自上一个工作者 CU/l 的积累知识并生成最终答案Response:Response = LLM/M (I/M , CU/l, q) 。

使用单独的 LLM 作为管理者智体的好处是分解分析长上下文源中的块(“工作者智体”)和生成最终答案(“管理者智体”)的职责,以便每个智体都能最大限度地履行其职责。

如下所示算法伪代码的总结:

请添加图片描述

实验设置如下。

数据集。对三种任务类型的九个长上下文数据集进行了实验:

• 问答。考虑 LongBench [6] 和 SCROLL [60] 中的五个 QA 数据集。HotpotQA [85] 是一个基于 Wikipedia 的多步 QA 数据集。它需要跨多个段落进行推理才能找到答案。MuSiQue [69] 是一个多步 QA 数据集。它比 HotpotQA 困难得多,因为它在一个样本中包含更多跳转、无法回答的问题和更难分散注意力的内容。NarrativeQA [31] 是一个针对整本书或电影脚本的 QA 数据集。答案可以是抽象的或提取的、是/否和无法回答的。Qasper [17] 是一个针对 NLP 论文的问答数据集。它还包含提取、抽象、是/否和无法回答的问题。QuALITY [51] 是一个基于故事和文章的数据集,每个样本都有多项选择题。模型需要在选项中选择正确的答案。

• 总结。从 SCROLLS 中选择两个总结数据集。QMSum [93] 是一个基于查询的总结数据集,由来自学术和工业产品等多个领域的会议记录组成。GovReport [25] 是一个通用总结数据集,包含美国政府问责局发布的长篇报告。还使用一个数据集进行长篇上下文记忆任务。BookSum [33] 是一个用于长篇叙述总结的数据集集合,包括小说、戏剧和故事。用 BookSum 数据集的书籍级别分区进行实验。

• 代码完成。选择从 GitHub 存储库收集的 RepoBench-P [43],模型需要根据长代码库生成下一行代码。
LLM。在所有实验中总共使用六个 LLM 作为 CoA 的主干。PaLM 2 [4] 是一系列模型,具有从左到右的密集解码器专用语言模型,该模型在 7800 亿个token的高质量语料库上进行预训练。用 text-bison@001 和 text-unicorn@001 进行实验,最大上下文窗口为 8k。Gemini 1.0 [67] 是 Google 提出的 LLM 系列。用 gemini-ultra 进行实验。Gemini 的输入限制为 32k 个tokens。Claude 3 [5] 是 Anthropic 开发的大型语言模型系列。该系列包括三个按能力升序排列的模型:claude-3-haiku、claude-3-sonnet 和 claude-3-opus。这些模型能够在上下文窗口中使用 200k 个tokens,为长上下文任务提供了强大的基线。尽管该框架可以灵活地使用不同类型的 LLM 作为工作者和管理者,但如果未指定,对每个 W/i 和 M 使用相同的模型。

基线。选择基线的原则,是从减少输入和窗口扩展中找到最强大和最典型的方法。第一个基线是 Vanilla。它直接消耗 token,直到 LLM 的上下文窗口被充分利用,这意味着如果使用 Claude 3,则窗口 LLM 为 200k。另一个是检索增强生成 (RAG)。在此用最先进的检索器 [79]。按照 [81],首先将源文本分割成 300 个单词的块,然后使用检索器对其进行重新排序。然后将前 n 个块输入下游 LLM,直到上下文窗口被充分利用。GovReport 数据集最初不包含查询,本文创建一个伪查询“整个政府报告的摘要是什么?”作为要重新排序的查询。

为了评估 CoA 与可能的多智体方法相比的性能,构建两种方法。与 CoA 类似,也使用类似的指令将每个块 c/i 分配给 W/i 以生成 CU/i。在这些方法中,工作智体是并行且独立的,而 CoA 是顺序的。多智体投票(合并)每个智体根据 c/i 直接生成答案 a/i。对所有答案 a/i 应用多数投票来决定最终答案。多智体分层结构(分层)。受 [9] 的启发,提出一个分层框架,其中通信在工工作者 W/i 和管理者 M 之间形成树结构。对于每个工作者,它首先判断 c/i 是否包含有用信息。如果为真,则生成一个通信单元 CU/i。然后,所有 CU/i 都被发送给管理者 M 以得出最终答案。此外,在每种方法末尾附加一个整数 L,以清楚地提醒 LLM 的窗口大小限制。例如,“CoA(8K)”是指 CoA 中使用的窗口大小为 8K 的基本 LLM。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/70443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java s7接收Byte字节,接收word转16位二进制

1图: 2.图: try {List list getNameList();//接收base64S7Connector s7Connector S7ConnectorFactory.buildTCPConnector().withHost("192.168.46.52").withPort(102).withTimeout(1000) //连接超时时间.withRack(0).withSlot(3).build()…

机器学习在癌症分子亚型分类中的应用

学习笔记:机器学习在癌症分子亚型分类中的应用——Cancer Cell 研究解析 1. 文章基本信息 标题:Classification of non-TCGA cancer samples to TCGA molecular subtypes using machine learning发表期刊:Cancer Cell发表时间:20…

Redis --- 使用HyperLogLog实现UV(访客量)

UV 和 PV 是网站或应用数据分析中的常用指标,用于衡量用户活跃度和页面访问量。 UV (Unique Visitor 独立访客): 指的是在一定时间内访问过网站或应用的独立用户数量。通常根据用户的 IP 地址、Cookies 或用户 ID 等来唯一标识一个用户。示例&#xff1…

大学资产管理系统中的下载功能设计与实现

大学资产管理系统是高校信息化建设的重要组成部分,它负责记录和管理学校内所有固定资产的信息。随着信息技术的发展,下载功能成为提高资产管理效率的关键环节之一。 系统架构的设计是实现下载功能的基础。一个良好的系统架构能够确保数据的高效传输和存储…

Vue 3 中的 el-tooltip 详解:语法、示例及与其他框架对比

目录 前言1. 基本知识2. 实战Demo 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 1. 基本知识 el-tooltip 是 Element Plus(Vue 3 组件库)中的一个用于提示的组件,它可以在…

Day 31 卡玛笔记

这是基于代码随想录的每日打卡 491. 非递减子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等&#xff0…

docker /var/lib/docker/overlay2目录把磁盘空间占满问题

1、查看服务器磁盘空间 df -h果然100%了,docker系统文件把磁盘空间占满了。 2、进入overlay2目录,查找那个容器工作目录占用最高 cd /var/lib/docker/overlay2du -h --max-depth1详见下图 好家伙占用110G!复制目录名称2c3c48ccac533c5d4a366d45a19bb9…

02vue3实战-----项目目录详解

02vue3实战-----项目目录详解 1.目录完整结构2.extensions.json文件3.node_modules文件夹4.public文件夹5.src文件夹6.文件.gitignore7.文件env.d.ts8.文件index.html9.文件package-lock.json和文件package.json10.文件README.md11.文件vite.config.ts12.文件tsconfig.json和文…

【蓝桥杯嵌入式】4_key:单击+长按+双击

全部代码网盘自取 链接:https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取码:3ii2 1、电路图 将4个按键的引脚设置为input,并将初始状态设置为Pull-up(上拉输入) 为解决按键抖动的问题,我们…

qt部分核心机制

作业 1> 手动将登录项目实现,不要使用拖拽编程 并且,当点击登录按钮时,后台会判断账号和密码是否相等,如果相等给出登录成功的提示,并且关闭当前界面,发射一个跳转信号,如果登录失败&#…

Spring Boot启动内嵌tocmat原理

要研究Spring Boot启动内嵌tomcat的原理,就需要先了解一下Spring Boot自动配置的过程,首先简要的梳理一下springboot自动配置的步骤。 一、SpringBoot自动配置 当SpringBoot应用启动时,EnableAutoConfiguration注解被激活,该注解…

【论文阅读】Comment on the Security of “VOSA“

Comment on the Security of Verifiable and Oblivious Secure Aggregation for Privacy-Preserving Federated Learning -- 关于隐私保护联邦中可验证与遗忘的安全聚合的安全性 论文来源摘要Introduction回顾 VOSA 方案对VOSA不可伪造性的攻击对于类型 I 的攻击对于类型 II 的…

idea隐藏无关文件

idea隐藏无关文件 如果你想隐藏某些特定类型的文件(例如 .log 文件或 .tmp 文件),可以通过以下步骤设置: 打开设置 在菜单栏中选择 File > Settings(Windows/Linux)或 IntelliJ IDEA > Preference…

x64、aarch64、arm与RISC-V64:详解四种处理器架构

x64、aarch64、arm与RISC-V64:详解四种处理器架构 x64架构aarch64架构ARM架构RISC-V64架构总结与展望在计算机科学领域,处理器架构是构建计算机系统的基石,它决定了计算机如何执行指令、管理内存和处理数据。x64、aarch64、arm与RISC-V64是当前主流的四种处理器架构,它们在…

区块链技术:Facebook 重塑社交媒体信任的新篇章

在这个信息爆炸的时代,社交媒体已经成为我们生活中不可或缺的一部分。然而,随着社交平台的快速发展,隐私泄露、数据滥用和虚假信息等问题也日益凸显。这些问题的核心在于传统社交媒体依赖于中心化服务器存储和管理用户数据,这种模…

Redis数据库篇 -- Pipeline

一. 什么是Pipeline 在传统的请求-响应模式中,客户端与服务器之间的通信流程如下: 客户端发送一个命令到服务器。服务器接收命令并执行。服务器将执行结果返回给客户端。客户端接收结果后,发送下一个命令 在这种传统的模式下,…

[权限提升] Linux 提权 维持 — 系统错误配置提权 - 计划任务提权

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:Linux 计划任务提权原理 Linux 计划任务提权是由于管理员配置不当,导致以 Root 权限运行的计划任务文件可以被低权限用户修改,从而被攻击者利用&#…

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览: 国家标准|GB/T 43698-2024 相关标准: &a…

记一次golang环境的变化

前两天编译打包了了个文件,把env的 goos 搞坏了 导致运行项目一直报错 先是这样 go: unsupported GOOS/GOARCH pair windows/amd64再是这样 /amd64supported GOOS/GOARCH pair linux咱就说,咱也是知道环境配置的有问题 ( go env GOOS &…

QT笔记——多语言翻译

文章目录 1、概要2、多语言切换2.1、结果展示2.2、创建项目2.2、绘制UI2.2、生成“.st”文件2.4、生成“.qm”文件2.5、工程demo 1、概要 借助QT自带的翻译功能,实现实际应用用进行 “多语言切换” 2、多语言切换 2.1、结果展示 多语言切换 2.2、创建项目 1、文件…