当前位置:   article > 正文

微软RAG实践 从局部到全局:一种图 RAG 方法用于查询焦点摘要_from local to global: a graph rag approach to quer

from local to global: a graph rag approach to query-focused summarization

从局部到全局:一种图 RAG 方法用于查询焦点摘要


论文名称:From Local to Global: A Graph RAG Approach to Query-Focused Summarization

官方网址:https://aka.ms/graphrag

论文链接:https://arxiv.org/pdf/2404.16130

摘要

利用检索增强生成(RAG)从外部知识源中检索相关信息,使得大型语言模型(LLMs)能够回答关于私人和/或以前未见过的文档集合的问题。然而,RAG 在针对整个文本语料库的全局问题上失败,比如“数据集中的主题是什么?”,因为这本质上是一个查询焦点摘要(QFS)任务,而不是一个明确的检索任务。与此同时,先前的 QFS 方法无法扩展到 typic al RAG 系统索引的文本数量。为了结合这些对立方法的优势,我们提出了一种图 RAG 方法,用于在私人文本语料库上回答问题,该方法可以随着用户问题的普遍性和源文本的数量进行扩展索引。我们的方法使用一个 LLM 来构建基于图的文本索引,分为两个阶段:首先从源文档中导出实体知识图,然后为所有密切相关实体组的社区预生成摘要。给定一个问题,每个社区摘要用于生成部分回答,然后再将所有部分回答总结为最终回答呈现给用户。针对包含 100 万令牌范围数据集的一类全局问题,我们展示了图 RAG 相对于朴素 RAG 基线在生成答案的全面性和多样性方面取得了显著改进。即将推出基于 Python 的开源实现,涵盖全局和局部图 RAG 方法,网址为 https://aka*.*ms/graphrag

引言

跨越各个领域的人类努力依赖于我们阅读和推理大量文档的能力,通常得出的结论超出了源文本本身所陈述的内容。随着大型语言模型(LLMs)的出现,我们已经看到尝试在复杂领域如科学发现(Microsoft, 2023)和情报分析(Ranade 和 Joshi, 2023)中自动化类似于人类的理解的努力,其中理解被定义为“一种有动机的、持续的努力,以理解连接(可以是人、地点和事件之间的联系),以便预测它们的轨迹并有效地行动”(Klein 等人,2006a)。然而,支持整个文本语料库上的人类主导的理解需要一种让人们能够应用和完善其对数据的心智模型的方式(Klein 等人,2006b),通过提出全局性质的问题。

图 1:使用基于 LLM 派生的文档文本图索引的图 RAG 流水线。该索引涵盖节点(例如实体)、边缘(例如关系)和协变量(例如声明),这些节点、边缘和协变量已被 LLM 提示检测、提取和总结,这些提示专门针对数据集的领域。社区检测(例如 Leiden,Traag 等人,2019)用于将图索引分区为紧密相关节点(节点、边缘、协变量)的组,LLM 可以在索引时间和查询时间并行总结。对于给定查询的“全局答案”,使用最终的查询焦点摘要生成所有与该查询相关的社区摘要。

检索增强生成(RAG,Lewis 等人,2020)是回答整个数据集上用户问题的一种成熟方法,但它设计用于这些答案局部包含在提供足够基础的文本区域内的情况。相反,更合适的任务框架是查询焦点摘要(QFS,Dang,2006),特别是查询焦点抽象摘要,生成自然语言摘要而不仅仅是串联摘录(Baumel 等人,2018;Laskar 等人,2020;Yao 等人,2017)。然而,近年来,这些摘要任务之间的区别,如抽象与抽取、通用与查询焦点、单文档与多文档,变得不那么相关。虽然变压器架构的早期应用在所有这些摘要任务的最新技术上都取得了显著进展(Goodwin 等人,2020;Laskar 等人,2022;Liu 和 Lapata,2019),但现代 LLM,包括 GPT(Achiam 等人,2023;Brown 等人,2020)、Llama(Touvron 等人,2023)和 Gemini(Anil 等人,2023)系列,现在可以利用上下文学习来总结其上下文窗口中提供的任何内容。

然而,挑战仍然存在于整个语料库上的查询焦点抽象摘要。这样的文本量可能远远超出 LLM 上下文窗口的限制,扩展这样的窗口可能不足够,因为信息可能“丢失在较长上下文的中间”(Kuratov 等人,2024;Liu 等人,2023)。此外,尽管朴素 RAG 中直接检索文本块可能不足以支持 QFS 任务,但可能存在一种替代形式的预索引,可以支持专门针对全局摘要的新 RAG 方法。

在本文中,我们提出了一种基于全局总结的图 RAG 方法,该方法基于 LLM 派生的知识图(图 1)。与利用图索引的结构化检索和遍历优势的相关工作不同(第 4.2 小节),我们专注于图在这一背景下的一个以前未探索的特性:它们固有的模块化(Newman,2006)以及社区检测算法将图分区为紧密相关节点的模块化社区的能力(例如 Louvain,Blondel 等人,2008;Leiden,Traag 等人,2019)。LLM 生成的这些社区描述的摘要提供了对底层图索引和它所代表的输入文档的完整覆盖。然后,使用一种映射-减少方法,可以实现对整个语料库的查询焦点摘要:首先使用每个社区摘要独立并并行地回答查询,然后将所有相关的部分答案总结为最终的全局答案。

图 2:使用 HotPotQA 数据集(Yang 等人,2018)中检测到的实体引用如何随块大小和我们的通用实体提取提示与 gpt-4-turbo 的收集变化。

为了评估这种方法,我们使用一个 LLM 从两个代表性的真实世界数据集的简短描述中生成了一组多样化的以活动为中心的理解问题。对于广泛问题和主题的理解的目标质量,我们探讨了使用不同层次的社区摘要来回答查询的影响,以及与朴素 RAG 和源文本的全局映射-减少摘要进行比较。我们展示了所有全局方法在全面性和多样性方面都优于朴素 RAG,并且图 RAG 在这些相同指标上的中低级社区摘要表现优于源文本摘要,且成本更低。

图 RAG 方法与流水线

我们现在解开图 RAG 方法(图 1)和流水线的高级数据流,描述了每个步骤的关键设计参数、技术和实现细节。

源文档 文本块

一个基本的设计决策是应该将从源文档中提取的输入文本以怎样的粒度分割为文本块进行处理。在下一步中,每个这些块将被传递给一组设计用于提取图索引各种元素的 LLM 提示。更长的文本块需要更少的 LLM 调用来进行提取,但受到更长的 LLM 上下文窗口的召回降级的影响(Kuratov 等人,2024;Liu 等人,2023)。这种行为可以在图 2 中观察到,在单次提取回合的情况下(即零次收集):在一个样本数据集(HotPotQA,Yang 等人,2018)上,使用 600 令牌大小的块提取的实体引用几乎是使用 2400 令牌大小块的两倍。虽然更多的引用通常更好,但任何提取过程都需要在召回和精度之间取得平衡以实现目标活动。

文本块 元素实例

这一步的基本要求是从每个源文本块中识别和提取图节点和边的实例。我们使用一个多部分的 LLM 提示来完成这一步,首先识别文本中的所有实体,包括它们的名称、类型和描述,然后识别所有明确相关实体之间的关系,包括源实体和目标实体以及它们关系的描述。这两种元素实例都以一个包含有界元组的列表输出。

定制此提示以适应文档语料库领域的主要机会在于为 LLM 提供上下文学习提供的 few-shot 示例的选择(Brown 等人,2020)。例如,虽然我们默认的提示提取“命名实体”等广泛类别通常适用,但具有专业知识的领域(例如科学、医学、法律)将受益于专门针对这些领域的专业示例。我们还支持用于我们希望与提取的节点实例关联的任何额外协变量的次要提取提示。我们默认的协变量提示旨在提取与检测到的实体相关的声明,包括主题、对象、类型、描述、源文本跨度以及开始和结束日期。
为了平衡效率和质量的需求,我们使用多轮“搜集”(gleanings),最多达到指定的最大次数,以鼓励LLM检测可能在先前提取轮次中遗漏的任何额外实体。这是一个多阶段的过程,首先我们要求LLM评估是否提取了所有实体,使用一个逻辑偏差值为100来强制进行是/否决定。如果LLM回应说有实体被遗漏了,那么继续指示“在上次提取中遗漏了许多实体”会鼓励LLM搜集这些遗漏的实体。这种方法使我们能够使用更大的块大小而不降低质量(见图2),也不会强制引入噪音。

元素实例 元素摘要

使用LLM来“提取”源文本中表示的实体、关系和声明的描述已经是一种抽象摘要的形式,依赖LLM来独立地生成概念的有意义摘要,这些概念可能是暗示但未在文本本身中陈述的(例如,暗示关系的存在)。要将所有这种实例级摘要转换为每个图元素(即实体节点、关系边和声明协变量)的单个描述文本块,需要进一步对匹配的实例组进行LLM摘要。

在这个阶段的一个潜在问题是,LLM可能无法一致地以相同的文本格式提取对同一实体的引用,导致重复的实体元素和因此在实体图中重复的节点。然而,由于在接下来的步骤中将检测并总结所有密切相关的实体“社区”,并且考虑到LLM可以理解多个名称变体背后的共同实体,只要所有变体都与一组密切相关的实体有足够的连接性,我们的整体方法对这种变化是有韧性的。

总的来说,我们在一个潜在嘈杂的图结构中为同质节点使用丰富的描述性文本,这与LLM的能力和全局、查询重点摘要的需求是一致的。这些特点也使我们的图索引与依赖简洁一致的知识三元组(主语、谓语、宾语)进行下游推理任务的 typic 知识图有所区别。

元素摘要 图社区

在上一步创建的索引可以被建模为一个同质无向加权图,其中实体节点通过关系边连接,边的权重表示检测到的关系实例的归一化计数。在这样的图中,可以使用各种社区检测算法将图划分为彼此之间连接更紧密的节点的社区(例如,参见Fortunato, 2010和Jin等人, 2021的调查)。在我们的流程中,我们使用Leiden(Traag等人, 2019)是因为它能够有效地恢复大规模图的分层社区结构(见图3)。这个层次结构的每个级别提供了一个社区划分,以一种互斥的、集体穷尽的方式覆盖图的节点,从而实现了分而治之的全局摘要。

图社区 社区摘要

接下来的步骤是使用一种设计用于大规模数据集的方法创建Leiden层次结构中每个社区的类似报告的摘要。这些摘要本身在理解数据集的整体结构和语义方面是独立有用的,也可以用来在没有问题的情况下理解语料库。例如,用户可以在一个级别的社区摘要中寻找感兴趣的一般主题,然后跟随链接到提供每个子主题更多细节的较低级别报告。然而,在这里,我们将重点放在它们作为用于回答全局查询的基于图的索引的实用性上。

社区摘要是通过以下方式生成的:

图3:使用Leiden算法(Traag等人, 2019)在MultiHop-RAG(Tang和Yang, 2024)数据集上检测到的图社区。圆圈代表实体节点,大小与它们的度成比例。节点布局是通过OpenORD(Martin等人, 2011)和Force Atlas 2(Jacomy等人, 2014)执行的。节点颜色表示实体社区,显示了两个层次的层次聚类:(a)级别0,对应具有最大模块度的分层划分,以及(b)级别1,揭示了这些根级社区内部结构。

  • 叶级社区。叶级社区(节点、边、协变量)的元素摘要被优先考虑,然后被迭代地添加到LLM上下文窗口,直到达到标记限制。优先顺序如下:对于每个社区边,按照组合源节点和目标节点度(即总体突出度)递减的顺序,添加源节点、目标节点、链接的协变量和边本身的描述。

  • 更高级别的社区。如果所有元素摘要都适合于上下文窗口的标记限制,那么继续进行叶级社区的步骤,并总结社区内的所有元素摘要。否则,按照元素摘要标记数量递减的顺序对子社区进行排名,并迭代地用子社区摘要(较短)替换其关联的元素摘要(较长),直到在上下文窗口内达到适合为止。

社区摘要 社区答案 全局答案

给定用户查询,前一步生成的社区摘要可以用于在一个多阶段的过程中生成最终答案。社区结构的分层性质也意味着可以使用来自不同级别的社区摘要回答问题,这引发了一个问题,即在分层社区结构中的特定级别是否提供了最佳的摘要细节和范围以回答一般的理解问题(在第3节中评估)。

对于给定的社区级别,对任何用户查询的全局答案生成如下:

  • 准备社区摘要。社区摘要被随机洗牌并分成预先指定的标记大小的块。这确保相关信息分布在各个块中,而不是集中(并可能丢失)在一个单一的上下文窗口中。

  • 映射社区答案。并行生成中间答案,每个块一个。还要求LLM生成一个介于0-100之间的分数,指示生成的答案对回答目标问题的帮助程度。得分为0的答案将被过滤掉。

  • 缩减为全局答案。中间社区答案按帮助程度分数降序排序,并迭代地添加到一个新的上下文窗口中,直到达到标记限制。这个最终上下文用于生成返回给用户的全局答案。

数据集示例活动框架和全局理解问题的生成
Podcast 转录用户: 一位科技记者寻找科技行业的见解和趋势 任务: 了解科技领袖如何看待政策和监管的角色 问题: 哪些集数主要涉及科技政策和政府监管?嘉宾如何看待隐私法对技术发展的影响?有嘉宾讨论创新和道德考虑之间的平衡吗?嘉宾提到的当前政策变化建议有哪些?科技公司和政府之间的合作是否有讨论,如何讨论?
新闻文章用户: 教育工作者将时事纳入课程 任务: 教授健康和福祉 问题: 健康领域的哪些当前话题可以融入健康教育课程?新闻文章如何涉及预防医学和健康概念?有健康文章互相矛盾的例子吗,如果有,为什么?基于新闻报道,可以得出关于公共卫生优先事项的什么见解?教育工作者如何利用数据集突出健康素养的重要性?

表1:基于目标数据集的简短描述,LLM生成的潜在用户、任务和问题示例。问题针对全局理解而非具体细节。

评估

数据集

我们选择了两个在一百万标记范围内的数据集,每个数据集相当于约10本小说的文本,并代表了用户在其现实世界活动中可能遇到的语料库类型:

  • Podcast 转录。由Kevin Scott,微软首席技术官,与其他技术领袖之间的播客对话编制的转录(Behind the Tech,Scott,2024)。大小:1669 × 600标记文本块,块之间有100标记的重叠(约1百万标记)。

  • 新闻文章。基准数据集,包括从2013年9月到2023年12月发布的各种类别的新闻文章,包括娱乐、商业、体育、技术、健康和科学(MultiHop-RAG;Tang和Yang,2024)。大小:3197 × 600标记文本块,块之间有100标记的重叠(约1.7百万标记)。

查询

许多用于开放领域问答的基准数据集已经存在,包括 HotPotQA(Yang 等,2018)、MultiHop-RAG(Tang 和 Yang,2024)和 MT-Bench(Zheng 等,2024)。然而,相关的问题集主要针对明确事实检索而非为了数据理解而进行总结,即人们检查、参与和将数据置于现实世界活动更广泛范围内的过程(Koesten 等,2021)。同样,也存在从源文本中提取潜在总结查询的方法(Xu 和 Lapata,2021),但这些提取的问题可能针对暴露出对文本先前知识的细节。

为了评估 RAG 系统在更全局的理解任务中的有效性,我们需要传达数据集内容的高层理解而非特定文本的细节的问题。我们采用了以活动为中心的方法来自动生成这类问题:给定数据集的简短描述,我们要求 LLM 确定 N 个潜在用户和每个用户的 N 个任务,然后对于每个(用户,任务)组合,我们要求 LLM 生成需要理解整个语料库的 N 个问题。对于我们的评估,N = 5 导致每个数据集有 125 个测试问题。表 1 显示了两个评估数据集的示例问题。

条件

我们在分析中比较了六种不同条件,包括使用四个图形社区级别(C0C1C2C3)的 Graph RAG,将我们的 Map-Reduce 方法直接应用于源文本的文本总结方法(TS),以及一种天真的“语义搜索”RAG 方法(SS):

  • C0。使用根级别社区摘要(数量最少)来回答用户查询。
  • C1。使用高级别社区摘要来回答查询。这些是 C0 的子社区,如果存在的话,否则向下投影到 C0 社区。
  • C2。使用中间级别社区摘要来回答查询。这些是 C1 的子社区,如果存在的话,否则向下投影到 C1 社区。
  • C3。使用低级别社区摘要(数量最多)来回答查询。这些是 C2 的子社区,如果存在的话,否则向下投影到 C2 社区。
  • TS。与第 2.6 小节中相同的方法,只是源文本(而不是社区摘要)被洗牌和分块以用于 Map-Reduce 总结阶段。
  • SS。一种天真的 RAG 实现,其中检索文本块并将其添加到可用上下文窗口,直到达到指定的标记限制。

所有六种条件中上下文窗口的大小和用于生成答案的提示是相同的(除了对应用的上下文信息类型进行微小修改以匹配参考样式)。条件只在上下文窗口内容的创建方式上有所不同。

支持 C0-C3 条件的图形索引是仅使用我们的实体和关系提取的通用提示创建的,实体类型和少量示例针对数据领域进行了定制。图形索引过程使用了 600 个标记的上下文窗口大小,Podcast 数据集为 1 个收集,News 数据集为 0 个收集。

指标

已经证明 LLM 在自然语言生成的评估中表现良好,与人类判断相比取得了最先进或有竞争力的结果(Wang 等,2023a;Zheng 等,2024)。虽然这种方法可以在已知黄金标准答案时生成基于参考的指标,但它也能够以无参考风格(例如流畅性)测量生成文本的质量(Wang 等,2023a),以及在竞争性输出的头对头比较中测量生成文本的质量(LLM 作为评判者,Zheng 等,2024)。LLM 还显示出在评估传统 RAG 系统的性能方面很有前途,自动评估上下文相关性、忠实度和答案相关性(RAGAS,Es 等,2023)。

考虑到我们的 Graph RAG 机制的多阶段性质、我们想要比较的多种条件以及我们基于活动的理解问题缺乏黄金标准答案,我们决定采用使用 LLM 评估器的头对头比较方法。我们选择了三个目标指标来捕捉对于理解活动有益的特质,以及一个控制指标(直接性)作为有效性的指标。由于直接性实际上与全面性和多样性相对立,我们不希望任何方法在这四个指标中全面胜出。

我们使用 LLM 评估器计算的头对头度量如下:

  • 全面性。答案提供多少细节以涵盖问题的所有方面和细节?
  • 多样性。答案在提供不同观点和见解方面有多丰富和多样化?
  • 赋能。答案对于帮助读者理解和做出明智判断有多好?
  • 直接性。答案对问题的具体和清晰程度如何?

对于我们的评估,LLM 被提供问题、目标指标和一对答案,并被要求根据指标评估哪个答案更好,以及为什么。如果存在赢家,则返回赢家,否则如果它们在根本上相似且差异微不足道,则返回平局。为了考虑 LLM 的随机性,我们对每个比较运行五次并使用平均分数。表 2 显示了一个由 LLM 生成的评估示例。

问题哪些公众人物在各种娱乐文章中反复被提及?
Graph RAG娱乐界知名公众人物概述 娱乐行业庞大而多样,涵盖电影、电视、音乐、体育和数字媒体。某些公众人物因其在这些领域的重要贡献和影响而脱颖而出。以下摘要突出了在各种娱乐文章中反复提到的关键人物,反映了他们在行业内的影响力和存在。 演员和导演 […] 备受争议的公众人物 […] 音乐家和高管 […] 运动员和教练 […] 意见领袖和企业家 […] 这些人物在娱乐文章中的反复提及表明了他们持续的相关性以及公众对他们工作的兴趣。他们的影响跨越了娱乐的各个方面,从塑造电影和电视的文化叙事到推动音乐和数字媒体的趋势。这些个人不仅为各自的领域做出贡献,还影响着更广泛的文化景观,通常成为社会讨论和公共话语中的中心人物。
Naıve RAG在各种娱乐文章中反复提及的公众人物包括泰勒·斯威夫特、特拉维斯·凯尔斯、布兰妮·斯皮尔斯和贾斯汀·汀布莱克。这些人因各种原因而备受关注,从他们的职业成就到个人生活。 泰勒·斯威夫特 […] 特拉维斯·凯尔斯 […] 布兰妮·斯皮尔斯 […] 贾斯汀·汀布莱克 […] 这些人经常受到关注,因为他们的高知名度以及公众对他们事业和个人生活的兴趣。无论是在音乐、体育还是个人关系中,他们的活动都对文化和经济产生了重大影响,这一点可以从媒体报道和公众反应中看出。
LLM 决策全面性:获胜者=1 (图表 RAG) 答案1更好,因为它提供了一个更全面和详细的公众人物名单,涵盖了更广泛的娱乐行业领域,包括电影、电视、音乐、体育、游戏和数字媒体。它还列举了这些人物的具体贡献和他们对各自领域的影响,以及有关争议及其影响的提及。相比之下,答案2虽然在涵盖一些个人方面很详细,但仅限于较少数量的公众人物,并主要关注他们的个人生活和关系,而不是跨越娱乐行业的专业影响的广泛范围。多样性:获胜者=1 (图表 RAG) 答案1更好,因为它通过涵盖来自不同娱乐行业领域的广泛公众人物,包括电影、电视、音乐、体育、游戏和数字媒体,提供了更多样化和丰富的回答。它提供了关于这些人物贡献和影响的见解,以及有关争议及其对公共话语的影响。该答案还为每个提到的人物引用了具体的数据来源,表明了支持主张的多样证据范围。相比之下,答案2侧重于较少一部分的公众人物,主要来自音乐行业和体育界,并且在数据方面过分依赖单一来源,这使得其在观点和见解上缺乏多样性。赋权:获胜者=1 (图表 RAG) 答案1更好,因为它提供了对娱乐行业各个领域的公众人物的全面和结构化概述,包括电影、电视、音乐、体育和数字媒体。它列举了多个人物,提供了关于他们贡献的具体例子以及提到他们在娱乐文章中被提及的背景,同时还为每个主张引用了数据报告。这种方法有助于读者了解主题的广度,并做出明智的判断而不会被误导。相比之下,答案2侧重于较少一部分的公众人物,并主要讨论他们的个人生活和关系,这可能无法提供对主题的如此广泛理解。虽然答案2也引用了来源,但其深度和多样性不及答案1。直接性:获胜者=2 (Na¨ıve RAG) 答案2更好,因为它直接列出了在各种娱乐文章中反复提到的具体公众人物,如泰勒·斯威夫特、特拉维斯·凯尔斯、布兰妮·斯皮尔斯和贾斯汀·汀布莱克,并对他们频繁提及给出了简明的解释。答案1虽然全面,但包含了大量关于不同娱乐领域中各种人物的详细信息,虽然具有信息量,但在回答问题时没有像答案2那样具有同等程度的简洁和具体性。

表2:新闻文章数据集的示例问题,使用图表 RAG(C2)和 Na¨ıve RAG 生成的答案,以及LLM生成的评估。

图4:在两个数据集、四个指标和每个比较中的125个问题(每个重复五次并取平均)之间的(行条件)胜率百分比。每个数据集和指标的总体获胜者以粗体显示。自身获胜率未计算,但作为参考显示为预期的50%。所有图表 RAG 条件在全面性和多样性方面均优于 Na¨ıve RAG。C1-C3条件还显示出在回答全面性和多样性方面比 TS(全局文本摘要,没有图表索引)略有改进。

配置

对于任何特定任务,上下文窗口大小的影响尚不清楚,特别是对于具有128k标记上下文大小的 gpt-4-turbo 这样的模型。鉴于在更长的上下文中信息可能会“在中间丢失”(Kuratov等,2024;刘等,2023),我们希望探索变化的上下文窗口大小对我们的数据集、问题和指标组合的影响。特别是,我们的目标是确定基线条件(SS)的最佳上下文大小,然后统一在所有查询时的LLM使用中使用这个大小。为此,我们测试了四种上下文窗口大小:8k、16k、32k和64k。令人惊讶的是,测试的最小上下文窗口大小(8k)在全面性方面普遍更好(平均胜率为58.1%),而在多样性方面表现与较大上下文大小相当(平均胜率为52.4%),以及赋权方面(平均胜率为51.3%)。鉴于我们更偏好更全面和多样化的答案,因此我们在最终评估中使用了固定的8k标记上下文窗口大小。

结果

索引过程导致播客数据集的图表包含8564个节点和20691条边,新闻数据集的更大图表包含15754个节点和19520条边。表3显示了每个图表社区层次结构不同级别的社区摘要数量。

全局方法 vs. Na¨ıve RAG。如图4所示,全局方法在全面性和多样性指标上一贯优于 Na¨ıve RAG(SS)方法,跨越数据集。具体而言,全局方法在播客转录中的全面性胜率介于72-83%,新闻文章中为72-80%,而多样性胜率分别为75-82%和62-71%。我们使用直接性作为有效性测试也取得了预期的结果,即 Na¨ıve RAG在所有比较中产生最直接的回答。

表3:C0-C3的上下文单元数量(社区摘要)和 TS 的文本块,对应的标记计数,以及最大标记计数的百分比。源文本的 Map-reduce 摘要是最消耗资源的方法,需要最多的上下文标记。根级社区摘要(C0)每个查询需要的标记数量大幅减少(9倍-43倍)。

社区摘要 vs. 源文本。使用图表 RAG将社区摘要与源文本进行比较时,社区摘要通常在回答全面性和多样性方面提供了一种小但一致的改进,除了根级摘要。播客数据集中的中级摘要和新闻数据集中的低级社区摘要分别实现了57%和64%的全面性胜率。多样性胜率为播客中级摘要为57%,新闻低级社区摘要为60%。表3还说明了与源文本摘要相比,图表 RAG的可扩展性优势:对于低级社区摘要(C3),图表 RAG需要少26-33%的上下文标记,而对于根级社区摘要(C0),它需要超过97%的更少标记。与其他全局方法相比,根级图表 RAG 在保持全面性(72%胜率)和多样性(62%胜率)优势的同时,为表征感知活动的迭代问答提供了一种高效的方法。

赋权。赋权比较显示全局方法与 Na¨ıve RAG(SS)以及图表 RAG方法与源文本摘要(TS)之间的结果各有千秋。用于分析此度量的临时LLM使用表明,提供具体示例、引用和引文的能力被认为是帮助用户达到明智理解的关键。调整元素提取提示可能有助于在图表 RAG索引中保留更多这些细节。

相关工作

RAG 方法和系统

在使用LLM时,RAG首先涉及从外部数据源检索相关信息,然后将此信息添加到LLM的上下文窗口中,以及原始查询(Ram等,2023)。Na¨ıve RAG方法(Gao等,2023)通过将文档转换为文本,将文本分割为块,并将这些块嵌入到一个向量空间中,其中相似的位置代表相似的语义。然后将查询嵌入到相同的向量空间中,使用最近k个向量的文本块作为上下文。还存在更高级的变体,但所有这些变体都解决了当感兴趣的外部数据集超过LLM的上下文窗口时该如何处理的问题。
高级 RAG 系统包括预检索、检索、后检索策略,旨在克服 Naïve RAG 的缺点,而模块化 RAG 系统包括用于交替检索和生成循环的模式(Gao 等,2023)。我们的图形 RAG 实现了与其他系统相关的多个概念。例如,我们的社区摘要是一种为生成增强检索(GAR,Mao 等,2020)提供便利的自我记忆(Selfmem,Cheng 等,2024),有助于未来的生成循环,而我们从这些摘要中并行生成社区答案则是一种迭代(Iter-RetGen,Shao 等,2023)或联邦(FeB4RAG,Wang 等,2024)检索生成策略。其他系统也将这些概念结合起来进行多文档摘要(CAiRE-COVID,Su 等,2020)和多跳问题回答(ITRG,Feng 等,2023;IR-CoT,Trivedi 等,2022;DSP,Khattab 等,2022)。我们使用的分层索引和摘要也与其他方法相似,例如通过对文本嵌入向量进行聚类生成文本块的分层索引(RAPTOR,Sarthi 等,2024),或生成“澄清树”以回答模糊问题的多重解释(Kim 等,2023)。然而,没有任何这些迭代或分层方法使用能够实现图形 RAG 的自动生成图形索引。

图形和LLM

在LLM和RAG相关的图形使用是一个不断发展的研究领域,已经确定了多个方向。这些包括使用LLM进行知识图创建(Trajanoska 等,2023)和补全(Yao 等,2023),以及从源文本中提取因果图(Ban 等,2023;Zhang 等,2024)。它们还包括高级 RAG 形式(Gao 等,2023),其中索引是知识图(KAPING,Baek 等,2023),其中图结构的子集(G-Retriever,He 等,2024)或派生图指标(Graph-ToolFormer,Zhang,2023)是研究对象,检索到的事件图子图使用叙述模板进行序列化(SURGE,Kang 等,2023),检索到的事件图子图使用叙述模板进行序列化(FABULA,Ranade 和Joshi,2023),以及系统支持创建和遍历文本关系图以进行多跳问题回答(Wang 等,2023b)。在开源软件方面,LangChain(LangChain,2024)和LlamaIndex(LlamaIndex,2024)库都支持各种图数据库,同时还出现了更一般的基于图形的RAG应用程序,包括可以在Neo4J(NaLLM,Neo4J,2024)和NebulaGraph(GraphRAG,NebulaGraph,2024)格式中创建和推理知识图的系统。然而,与我们的图形 RAG 方法不同,这些系统中没有一个使用图形的自然模块化来对数据进行全局摘要。

讨论

评估方法的局限性。到目前为止,我们的评估仅针对一定类别的理解问题,涉及两个约100万标记的语料库。需要进一步研究不同类型的问题、数据类型和数据集大小对性能的影响,以及通过最终用户验证我们的理解问题和目标指标。比较制造率,例如使用 SelfCheckGPT(Manakul 等,2023)等方法,将改进当前的分析。

构建图形索引的权衡。我们始终观察到图形 RAG 在与其他方法的直接对比中取得最佳结果,但在许多情况下,无图形的全局摘要源文本方法表现出竞争力。关于是否投资于构建图形索引的实际决策取决于多个因素,包括计算预算、预期每个数据集的生命周期查询次数,以及从图形索引的其他方面(包括通用社区摘要和其他与图形相关的RAG方法的价值)获得的价值。

未来工作。当前的图形 RAG 方法支持图形索引、丰富的文本注释和分层社区结构,提供了许多改进和适应的可能性。这包括以更局部的方式运行的RAG方法,通过基于嵌入的用户查询和图形注释匹配,以及结合基于嵌入的匹配和社区报告后使用我们的映射-减少摘要机制的混合RAG方案的可能性。这种“汇总”操作还可以在更多级别的社区层次上扩展,也可以作为更具探索性的“深入挖掘”机制实施,跟随高级社区摘要中包含的信息线索。

结论

我们提出了一种全局的图形 RAG 方法,结合知识图生成、检索增强生成(RAG)和面向查询的摘要(QFS),以支持对整个文本语料库的人类理解。初步评估显示,与天真的 RAG 基线相比,我们的方法在回答的全面性和多样性方面取得了显著改进,与使用映射-减少源文本摘要的全局但无图形方法进行了有利的比较。对于需要在同一数据集上进行许多全局查询的情况,实体为基础的图形索引中根级社区的摘要提供了一个数据索引,既优于天真的 RAG,又在令牌成本的一小部分上实现了与其他全局方法的竞争性表现。

即将推出基于 Python 的全局和本地图形 RAG 方法的开源实现,网址为https://aka*.*ms/graphrag

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/916123
推荐阅读
相关标签
  

闽ICP备14008679号