热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >论文:基于图的智能体可增强LLM长文本能力

论文:基于图的智能体可增强LLM长文本能力

来源:互联网 更新时间:2026-08-12 17:08

论文:GraphReader: Building Graph-based Agent to Enhance Long-Context Abilities of Large Language Models (https://arxiv.org/pdf/2406.14550)

论文:基于图的智能体可增强LLM长文本能力


### 核心结论:关键发现一览 在深入技术细节之前,我们先亮出核心的结论,这能帮助你快速判断这篇文章的价值: 1. **三种路线的博弈**:目前增强大模型长文本能力主要有三条路:一是改进模型结构(如位置编码微调),二是检索增强生成(RAG),三是本文提出的基于图的智能体。事实证明,第三条路,也就是GraphReader,效果最为显著。 2. **一个系统的诞生**:GraphReader是一个创新的智能体系统,核心思路就是“化整为零,以图治之”。它将长文本结构化成一张信息网络,然后赋予智能体一套预定义的工具(函数)和笔记本(Note),让它自己在这张网里探索、规划、反思,寻找答案。 3. **鲶鱼效应**:最令人印象深刻的成就是,基于4k上下文窗口(这几乎是个“乞丐版”配置)实现的GraphReader,在16k到256k不同长度的测试场景中,其表现足以媲美甚至超越拥有128k上下文窗口的GPT-4。这好比一个普通人靠着精妙的地图和战术,战胜了装备精良的巨人。 4. **全面超越**:在四个难度极高的单跳和多跳问答基准测试中,GraphReader都展现出了卓越的性能。它不仅记住了信息,更理解了信息之间的复杂关联。 5. **潜力无限**:GraphReader通过结构化长文本并让智能体自主探索,有效提升了大模型处理长上下文任务的能力。这证明了“模型能力”和“策略设计”之间,后者往往能带来更大的边际效益。 ### 摘要:一张图一个Agent的精准导航 大语言模型要想处理复杂、冗长的输入,长文本处理能力是关键。虽然业界为此做出了很多努力,但在处理超长输入方面依然困难重重。本文提出的GraphReader,碘伏了传统方法:它先将长文本切分,提取关键信息构建成一张知识图;收到问题后,智能体不是盲目搜索,而是先逐步分析问题,制定一个合理的行动计划,再调用预定义的工具去读取图中的节点内容及其邻居,实现从粗到细的探索。在整个探索过程中,智能体会持续记录新发现并反思当前状态,持续优化进程,直到收集到足够的信息来生成答案。实验证据非常硬核:在LV-Eval数据集上,使用4k上下文窗口的GraphReader,在16k到256k的文本长度范围内,始终以大优势超越GPT-4-128k。此外,它在四个挑战性的单跳和多跳基准测试中也表现更优。 ### 1 引言:大模型的长文本之痛与解法 大语言模型在理解和生成自然语言上取得了巨大进步,但基于Transformer的模型,在处理长文本时却总是捉襟见肘——上下文窗口和显存成了硬伤。目前,解决这个问题的技术主要分两个流派: * **模型级别**:通过改进位置嵌入进行微调,或者设计带修改注意力机制的新Transformer变体。 * **智能体级别**:让大模型自己当“元帅”,指挥一个检索增强的系统或智能体来处理长文本,即便模型本身只有有限的上下文窗口。 然而,模型级别的方法通常需要将模型拿到目标长度的文本上从头训练或微调,这不仅数据和训练成本高得吓人,而且即便训出来了,模型也容易忽略长文本中的关键细节,掉入“中间迷失”的陷阱,处理复杂任务时力不从心。至于智能体级别的方法,现有的方案要么把文本组织成树状,要么分页处理,但都未能很好地捕捉到多跳和长距离的依赖关系,在极长文本上效果不佳,如图1所示。 为了解决这些难题,我们提出了一个名为GraphReader的基于图的智能体。如图2所示,它的工作流很清晰:首先将长文本分割成离散的块,提取关键信息,并压缩成关键元素和原子事实。然后,基于这些信息构建一个图,其中节点代表关键元素及其相关的原子事实。这种图结构天然地捕捉了长文本中的长距离依赖和多跳关系。随后,智能体可以按照预先制定的逐步合理计划,自主地探索这张图。基于给定的问题,智能体会从粗略的关键元素和原子事实,逐步访问到详细的原始文本块,一边做笔记一边反思,直到收集到足够的信息来生成答案。总结一下,我们的核心贡献有三点: * 提出了GraphReader,一个将长文本组织成图结构,并利用预定义函数和笔记本来促进探索过程中的规划与反思的新颖智能体系统。 * 基于4k上下文窗口,GraphReader建立了一种可扩展的长文本能力,在不同上下文长度下展现出与128k上下文窗口的GPT-4相当甚至超越的性能。 * 在四个挑战性基准上的广泛实验证明,GraphReader在处理复杂的单跳和多跳问答任务中取得了优越的性能。 ### 2 相关工作:同行们都在做什么 **长文本大模型**:近期的努力集中在通过位置插值来增强长文本能力。但这些方法需要在全文上训练,成本高昂。像PoSE和SkipAlign这类方法虽然研究了数据跳过策略,但容易忽略长文本中的细节。此外,无论上下文窗口扩展得多宽,它仍然是预定义的固定长度。为此,有人提出了带修改注意力机制的Transformer变体,但这些模型又容易丢失早期信息。 **检索增强生成(RAG)**:RAG的思路是利用外部文档库帮你筛选“相关”信息。比如,可以检索不同的粒度:Token、实体、文本块等;还可以采用不同的检索算法(如BM25、基于学习的方法)。RAG很强,但它面对复杂问题时,因为缺乏强大的决策机制,常常捉襟见肘。而我们用的智能体,通过规划和反思来收集必要信息,能更有效地解决复杂问题。 **检索智能体**:最近的研究越来越多地把大模型当成一个智能体,利用其强大的规划和反思能力去解决复杂问题。这些能力已经被应用到了函数调用、知识图谱问答等任务上。智能体也能检索非结构化信息。例如,WebGPT模拟人类上网搜索答案;MemWalker和PEARL将文档组织成树结构;ReadAgent将文档压缩成要点记忆。但这些方法普遍难以应对多跳问题。KGP虽然也将文档组织成图,但它主要靠智能体生成查询,而没有充分利用智能体自身的规划和反思能力。 ### 3 方法:GraphReader的“三板斧” #### 3.1 预备知识 GraphReader建立在一张有向图 `G = {V, E}` 之上。图里的每个节点 `vi` 包含一个关键元素 `ki` 和一组摘要内容——也就是原子事实 `Ai`。所以,`vi = {ki, Ai}`。每条边 `eij` 则代表了节点 `vi` 和 `vj` 之间的关系。这种图结构让GraphReader在有限的上下文窗口内也能捕捉到输入文档的全局信息,并且可以灵活决策——是详细探索当前节点,还是跳到相邻节点。探索过程中,智能体会收集支持性事实,一旦信息足够就停止探索。整个过程包含三个阶段:图构建、图探索和答案推理。 #### 3.2 图构建 为了在有限的上下文限制内从文档 `D` 中提取节点,我们先把文档分成固定长度 `L` 的块,同时保留段落结构。接着,让大模型把每个块总结成原子事实——这是不可再分的最小事实单元。然后,再让大模型从每个原子事实中提取关键元素,比如基本名词、动词、形容词。处理好所有块后,我们根据已有方法对关键元素进行规范化,消除词汇噪声和粒度问题,形成最终的关键元素集。最后,构造节点 `vi = (ki, Ai)`,其中 `ki` 是关键元素,`Ai` 是对应的原子事实集。如果某个关键元素 `ki` 出现在另一个节点的原子事实 `Aj` 中,或者反过来,我们就将这两个节点 `vi` 和 `vj` 链接起来。 #### 3.3 图形探索 **3.3.1 智能体初始化** 在接收到图 `G` 和问题 `Q` 后,我们的目标是设计一个能自主探索图的智能体。它首先维护一个“笔记本”,用来记录最终推导答案所需的支持性事实。然后进行两个关键初始化: * **合理规划**:解决复杂的多跳问题,预先规划至关重要。智能体会把原始问题一步步拆解,识别出需要哪些关键信息,并形成一个行动计划。 * **初始节点选择**:选择一个好的起点能极大提升搜索效率。智能体会评估所有节点 `V` 的关键元素,并根据问题和行动计划选择 `N` 个初始节点。 **3.3.2 探索** 选好起点后,智能体从每个初始节点出发,先探索原子事实,再探索具体的文本块。接着,它根据问题和规划,进一步探索邻近节点。整个过程,智能体不断更新笔记本里的信息。 * **探索原子事实**:把所有原始文本块塞进上下文窗口不现实。所以,智能体采用“由粗到细”的策略:先读原子事实,再到原始文本。原子事实按所属的块分组并打上ID,提供给智能体。智能体利用问题、规划和现有笔记来反思,判断哪些块可能有价值。同时,它拥有两个函数: 1. `read_chunk`:如果认为某些块值得细读,就调用此函数,把块ID加入队列。 2. `stop_and_read_neighbor`:如果认为当前节点没有值得细读的块,就结束当前节点的探索,转向邻居节点。 * **探索块**:当块队列不为空时,意味着有感兴趣的文本块要读。这一步很关键,因为原子事实只是摘要,具体细节还得从原始文本块中获得。读块时,智能体再次结合问题和规划,思考可以记录到笔记本中的信息。之后,它会从四个函数中选择一个继续: 1. `search_more`:信息不足,继续探索队列中的下一个块。 2. `read_previous_chunk`或`read_subsequent_chunk`:因为截断问题,相邻块可能包含有用信息,智能体可以手动把它们加入队列。 3. `terminate`:已收集到足够信息,结束探索。 * **探索邻居**:当当前节点的原子事实和块都处理完,说明这个节点被彻底探索过了。智能体需要访问下一个节点。它会检查所有邻居节点的关键元素,并执行以下两个函数之一: 1. `read_neighbor_node`:选一个可能有助回答问题的邻居节点,然后重新进入“探索原子事实-探索块”的循环。 2. `terminate`:所有邻居节点都不相关,结束探索。 #### 3.4 答案推理 在 `N` 个智能体独立完成探索并停止后,我们把所有智能体的笔记汇总起来,进行推理并生成最终答案。通过思维链,大模型会分析每份笔记,同时考虑其他记忆的补充信息,并采用多数投票策略来解决不一致的地方。最终,综合所有可用信息,生成一个高质量的答案。 ### 4 实验:用数据说话 #### 4.1 实验设置 * **评估基准**:我们在两类长上下文问答基准上进行了实验:多跳的HotpotQA、2WikiMultihopQA、MuSiQue,和单跳的NarrativeQA(来自LongBench)。另外,还使用了LV-Eval中的HotpotWikiQA-mixup,这是一个涵盖16k、32k、64k、128k和256k五个文本长度级别的多跳基准。 * **评估指标**:我们采用了F1分数、精确匹配(EM)分数,以及LV-Eval引入的优化F1*分数。此外,还使用两种大模型评估指标(LLM-Rating)来评估答案正确性。 * **基线方法**:我们与检索增强生成、长上下文大模型、基于智能体的方法三类方法进行了对比。 * **实现细节**:所有方法都使用GPT-4-128k作为基座,温度设为0.2。GraphReader的输入窗口大小配置为4k令牌,最大块大小限制为2k令牌,从5个初始节点开始搜索,每个搜索路径设置10个函数调用限制。 #### 4.2 主要结果 表2和表3的结果清晰显示了几点: * **RAG性能垫底**:基于BM25和Ada002的RAG方法表现最差,因为文本检索很难完整回忆出所有需要的支持性事实。 * **长上下文大模型表现不错但有瓶颈**:GPT-4-128k直接读全文,表现优于RAG,甚至在某些基准上超过了ReadAgent。但由于“中间迷失”效应,其性能会随着上下文长度增加而下降。 * **基于智能体的方法全面领先**:我们的GraphReader在四个长上下文基准上始终优于所有基线。它利用图结构高效识别关键信息,显著增强了多跳推理和长距离依赖捕捉能力。值得注意的是,采用128k上下文窗口的ReadAgent,性能居然不如使用4k上下文窗口的GraphReader,甚至不如GPT-4-128k全文阅读。这说明了ReadAgent过度压缩的策略限制了智能体对细节的把握。而我们的方法,性能已经非常接近直接提供支持性事实(Golden)的上限。 * **极长上下文下的鲁棒性**:在16k到256k的极长文本场景中,GraphReader不仅全面领先,还展现出对上下文长度扩展的鲁棒性。例如,在16k长度下,它相对GPT-4-128k全文阅读有10.53%的提升;而到了128k长度,这个提升幅度更是达到了75.00%。这有力地证明了“中间迷失”效应在超长文本中是多么致命,而我们的方法正好能有效对抗它。相比之下,ReadAgent在处理极长文本时,由于缺乏页面内容的详细信息,页面选择变得极为困难。 #### 4.3 消融研究 * **合理规划的效果**:移除规划后,性能显著下降,证明了规划对指导节点选择和探索方向至关重要。 * **节点选择的效果**:随机选择初始节点和邻居节点,性能平均下降了18%。这说明GraphReader深思熟虑的节点选择策略是有效的。 * **初始节点数量的影响**:当初始节点为5个时性能最佳。超过这个阈值后,性能反而下降,尤其是在单跳场景下,因为太多初始节点引入了噪声。 * **块大小的影响**:当块大小 `L` 为2k时性能最佳。块太大会导致模型忽略细节,块太小则会导致语义截断。 #### 4.4 进一步分析 * **成本分析**:GraphReader的推理成本仅比ReadAgent增加了大约8%,但性能提升却超过一倍,性价比超高。而且,在第一轮文档预处理后,后续探索的算力消耗显著减少。 * **召回率分析**:无论输入长度如何,GraphReader在关键信息召回方面始终优于其他基线。在256k上下文长度下,仍能保持约60%的召回率,而ReadAgent的召回率则大幅下降。此外,最终笔记的召回率略高于原子事实的召回率,这表明智能体在探索过程中能够从文本块中提取更多有效信息,具备智能性。 ### 5 结论 本文介绍的GraphReader,是一个基于图的智能体,能够有效增强大模型处理长文本的能力。它通过将长文本结构化为图,并让自主智能体去探索这张图,成功地在相对较小的4k上下文窗口内建立了长距离依赖。实验证明,在多种长上下文问答基准上,它的性能甚至超越了拥有128k输入长度的GPT-4。 ### 6 局限性 当然,GraphReader也有其局限性。首先,它是基于现成的GPT-4 API搭建的,属于闭源系统,存在QPS限制、地区限制等潜在风险。因此,未来的工作将是收集数据、训练模型并开源,为社区做贡献。其次,智能体的效率完全取决于其规划和推理能力。未来的研究也将探索如何增强这些特性,以进一步提升我们方法的有效性。
关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc