首页 » 互联通信 » 微软GraphRag论文节选翻译

微软GraphRag论文节选翻译

浙江亚厦装饰股份通讯 2024-12-12 0

扫一扫用手机浏览

文章目录 [+]

论文作者:Darren Edge、Ha Trinh、Newman Cheng、Joshua Bradley、Alex Chao、Apurva Mody、Steven Truitt

论文地址:https://arxiv.org/pdf/2404.16130

微软GraphRag论文节选翻译 微软GraphRag论文节选翻译 互联通信

代码地址:https://github.com/microsoft/graphrag

微软GraphRag论文节选翻译 微软GraphRag论文节选翻译 互联通信
(图片来自网络侵删)
择要

检索增强天生(RAG)通过从外部知识源检索干系的信息,使得大型措辞模型(LLMs)能够回答私有的或之前未见的文档凑集中的问题。
然而,RAG在全局问题上会失落败,这些问题是针对全体文本语料库提出的问题,如“数据集的紧张主题是什么?”,由于这实质上是一个Query-Focused Summarization (QFS)任务,而不是明确的检索任务。
先前的QFS方法,同时无法扩展到常日RAG系统中索引的文本量。
为了却合这两种方法的优点,我们提出了一种基于图的RAG方法,该方法能够在私有文本语料库上进行问题回答,并且能够随着用户问题的普适性和源文本量的扩展进行扩展。
我们发起的方法将利用LLM在两个阶段构建基于文本的图表式索引:首先从源文档中推导出实体知识图谱,然后为所有密切干系实体的所有社区预天生社区择要。
在收到一个问题后,每个社区择要将用来天生一个部分相应,然后所有部分相应再被总结为给用户的终极相应。
对付1百万个token的数据集上的一类全局运用处景理解问题,我们展示Graph RAG相对朴素RAG基线在天生答案的全面性和多样性方面能够带来显著的提升。
我们将会开源基于Python的Graph RAG的全局和局部履行,详细信息可以在https://aka.ms/graphrag看到。

先容

检索增强天生(RAG,Lewis等人,2020年)是回答用户问题时处理全体数据集的一种成熟方法,但这个方法设计的初衷是答案包含在文本的局部区域中,这些区域的检索对付天生任务供应了足够的背景知识这样的场景。
比较之下,更恰当的任务框架是查询指向的择要(QFS,Dang, 2006),特殊是查询指向的抽象概括,这种概括天生自然措辞择要,而不是大略的拼接摘录(Baumel等,2018;Laskar等,2020;Yao等,2017)。
然而,在最近几年里,关于归约任务能否抽象概括以及是否须要摘录,是具有一样平常性的还是针对特定查询,是一篇文档的处理还是多篇文档的汇总这样的差异变得不那么主要了。
只管早期利用transformer架构取得了显著的提升,使其在所有这类择要任务上超越了当时的最佳水平(Goodwin等人,2020年;Laskar等人,2022年;Liu和Lapata,2019年),但是当今最前辈的措辞模型,包括GPT系列(Achiam等人,2023年;Brown等人,2020年),Llama系列(Touvron等人,2023年)和Gemini系列(Anil等人,2023年),利用高下文学习不仅可以概括其高下文窗口内的任何内容,而且现在已将这些任务简化为一种轻而易举的事情。

然而,在全体语料库上进行以查询为中央的抽象择要仍旧是一个寻衅。
如此大量的文本内容每每远远超过了LLM高下文窗口的限定,而且,即便是扩大这样的窗口也不敷以办理一个问题,这个问题是:在更长的高下文中,信息可能在中间部分“丢失”(Kuratov等人,2024年;Liu等人,2023年)。
此外,虽然低级RAG直接检索文本片段可能不敷以支持QFS任务,但通过一种赞助的预索引方法,有可能支持一个专为全局概括设计的新RAG方法。

在这篇论文中,我们提出了一种基于LLM天生知识图谱的全局总结的Graph RAG方法。
与干系事情利用了图形索引构造化检索和遍历能力(第4.2节)的特点不同,我们关注的是一种此前未被磋商的图的质量特性:它们内置的模块性(Newman, 2006),以及社区检测算法将图划分成紧密干系的节点组成的模块化社区的能力(例如,Louvain, Blondel等人,2008年;Leiden, Traag等人,2019年)。
利用LLM天生的社区描述的择要全面涵盖了底层图索引和它表示的输入文档。
利用map-reduce方法的回答问题集中归概括全体文档凑集成为可能:首先,利用每个社区概括独立地、并行地针对查询回答,然后,将所有干系的部分答案汇总成终极的全局答案。

Graph RAG Approach & Pipeline

我们现在逐层拆解Graph RAG方法的高层数据流与流程,描述每一步骤的核心设计参数、技能与实现细节。

Source Documents →Text Chunks

一个基本的设计决策是在多大程度年夜将从源文档中提取的文本划分为小段进行处理。
在接下来的步骤中,这些片段将会被通报给一套专门设计的LLM提示,用于提取图索引的各个元素。
较长的文本片段须要较少的 LLM 调用进行提取,但会遭受较长LLM高下文窗口的召回降级(Kuratov等人,2024年;Liu等人,2023年)。
在一次提取循环的情形下(即,没有获取的情形下),这种行为在图2是可以不雅观察到的:在样本数据集(HotPotQA, Yang等人, 2018年)上,利用600个token的块大小提取了险些两倍的数量实体引用,相较于利用2400个token的块大小。
虽然提取更多引用常日更好,但对付目标活动,任何提取过程都须要平衡召回率和精确率。

Text Chunks → Element Instances

这一步骤的基本哀求是,从每一部分源文本中识别并提取图的节点和边实例。
我们利用一个多部分大型措辞模型(LLM)提示来进行以下操作:首先识别文本中的所有实体,包括它们的名字、类型和描述,然后再找出所有干系实体之间的关系,包括源实体和目标实体以及它们关系的描述。
这两种元素实例被输出为一个包含分隔符的单个列表的元组。
将此提示运用于文档凑集领域的紧张机会在于选择有限演习示例以供LLM进行高下文学习(Brown等人,2020)。

例如,只管我们默认的提示用于提取人、地点和组织这类广泛的实体类,但在科学、医学、法律等领域须要专业知识时,则会从这些专门的领域中受益,我们须要详细到这些领域的少量示例。
我们也支持一个次要的提取提示,用于提取我们希望与提取的节点实例关联的任何额外变量。
我们默认的附带提示旨在提取检测到的实体所关联的声明,包括主题、工具、类型、描述、文本跨度以及开始和结束日期。

为了平衡效率和质量的需求,我们通过多轮“筛选”,最多至指定的最大轮次,匆匆使大型措辞模型(Large Language Model,LLM)创造并识别之条件取过程可能遗漏的实体。
这是一个多阶段的过程,我们首先要求LLM评估是否所有实体都被提取出来,利用一个logit偏置of 100来强制其作出是否全部已提取的明确回答。
如果LLM回应说遗漏了实体,我们将通过提示“许多实体在上一次的提取中被遗漏”来鼓励LLM识别这些遗漏的实体。
这一方法许可我们在不降落质量(如图2所示)或人为引入噪音的情形下,利用更大的片段大小。

Element Instances → Element Summaries

将LLM用于“提取”源文本中实体、关系和声明的描述,这已经是一种归约总结的形式,依赖于LLM天生独立故意义的择要,以概括文本可能暗示但并未明确表述的观点(例如,暗示的关系存在)。
将所有这些实例级别的择要转化为每个图形元素(即实体节点、关系边和声明指标)的单一描述性文本块,须要对匹配的实例组进行额外的LLM总结。

在这个阶段,潜在的问题是,LLM可能不会在文本格式中同等地提取到相同的实体引用,这会导致实体图中涌现重复的实体元素,从而产生重复的节点。
然而,考虑到接下来的步骤中,所有紧密干系的实体群将被检测并总结出来,且给定LLM能够理解在不同名称形式背后的共同实体,我们的整体方法对付这些名称形式的变异性具有强健性,条件是有足够的连接,将所有变体连接到一组紧密干系的共享实体上。

总的来说,我们在潜在喧华的图构造中对同质节点利用丰富描述性文本的做法,既符合大措辞模型的能力,也知足了全局范围内问题驱动式择要的需求。
这些特性也让我们的图索引与其他依赖简洁同等的知识三元组(主题、谓词、工具)进行下贱推理任务的知识图谱有所不同。

Element Summaries → Graph Communities

在上一步中创建的索引可以被建模为一个同质无向加权图形,个中实体节点由关系边连接,边的权重代表检测到的关系实例的规范化计数。
对付这样的图,可以利用多种社区检测算法来将图划分为社区,这些社区内的节点与其他图中的节点比较具有更强的连接(例如,请参阅Fortunato, 2010和Jin等人, 2021的综述)。

在我们的pipeline中,我们利用Leiden(Traag等人,2019年)的缘故原由在于它能够有效处理大型图的层次社区构造(图3)。
该层次构造的每一层都供应了一个互斥的社区分割,涵盖图中的所有节点,而且是完备包含的,这使得能够对全局进行分而治之的总结。

Graph Communities → Community Summaries

下一步是创建Leiden层次构造中每个社区的报告式择要,利用一种旨在处理非常大数据集的方法。
这些概要在自己独立存在时非常有用,有助于理解数据集的全局构造和语义, 并且在没有特定问题的情形下,人们也可以用它们来理解一组文本材料的含义。
这意味着,纵然没有特定问题的指引,这些概要也能够供应对数据集的整体框架和语义的理解帮助, 从而在处理一组文本材料时供应线索和思考的根本。
例如,用户可以在较高层次浏览社区择要,探求感兴趣的普遍主题,然后通过链接深入到较低层次的报告,获取每个子话题的更详细信息。
然而,在这里,我们专注于它们作为基于图的索引的一部分的实用性,该索引用于回答全局查询。

社区择要按以下办法天生:

叶级社区。
对付叶级社区(节点、边、属性)的元素择要,将按照优先级进行排序,然后在高下文窗口(LLM)达到字符限定前,依次添加到高下文窗口中。
排序的原则是:对社区中的每一边,按照源节点和目标节点的合计度数(即它们的贵显性)递减的顺序,添加源节点、目标节点、关联属性,以及这条边的描述。

高层级社区。
如果所有元素概括都能适配到高下文窗口的token限定内,就按照针对叶层级社区的方法,对社区内的所有元素概括进行汇总。
反之,按照元素概要的token数量降序,对子社区进行排序,然后依次更换子社区概要(较短)以替代其对应的元素概括(较长),直至达到适配高下文窗口的目标。

Community Summaries → Community Answers → Global Answer

给定一个用户查询,可以利用上一步天生的社区择要,在多阶段过程中天生终极答案。
社区构造的层级性子意味着,问题可以通过不同级别的社区概览形式来回答,这引发了一个问题:在层级社区构造中的特定级别是否能供应最佳平衡,既包含细致的概览细节,又覆盖广泛的知识解析问题(在第3部分中评估)。

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

准备社区择要。
社区择要随机洗牌并分成预设token大小的片段。
这确保干系的信息分布在各个片段中,而不是集中在单一的高下文窗口中,从而可能丢失部分关键信息。

将社区答案映射整合。
天生阶段性的答案,为每一个分块都产生一个。
同时,哀求LLM为天生的答案供应0-100的分数,表示该答案在回答目标问题时的有用程度。
分数为0的答案将被过滤掉。

归纳为全局答案。
将中间社区答案按照有用度评分降序排列,然后逐步添加到新的高下文窗口中,直至达到令牌限定。
天生终极高下文作为返回给用户的全局答案。

Conclusion

我们供应了一个全局性的方法,将知识图谱天生、检索增强天生(RAG)以及查询定向择要(QFS)结合起来,以便在全文本语料库上支持人类的理解。
初步评估显示,与根本的影象型文本参照系统比较,在完全性和答案多样性方面,改进是显著的。
同时,这种方法与一种不依赖图而是通过分布式打算办法汇总源文本的环球性方法比较较,表现出了可喜的正面评价。
对付须要对同一数据集进行大量全局查询的情形,基于实体的图索引中根级社区的择要供应了一种数据索引,相较于大略的关系图进行的查询,厥后果更精良,且与其它全局方法比较,在花费的资源(如token)上至少降落了一个数量级,从而实现了更好的性能。
因此,此方法特殊适用于资源有限或者查询密集型运用,能显著提升数据查询的效率和相应速率,同时保持较高的查询准确率。

即将在 https://aka.ms/graphrag 上发布一个开源的、基于Python的全局和局部Graph RAG方法实现。

文章内容节选翻译自论文:From Local to Global: A Graph RAG Approach to

Query-Focused Summarization,作者:Darren Edge、Ha Trinh、Newman Cheng、Joshua Bradley、Alex Chao、Apurva Mody、Steven Truitt,个人学习利用,侵删。

标签:

相关文章

快件三品查危仪

快件三品查危仪是一种高效便捷的快件安全检测设备,具有快速、准确、安全等特点。快件三品查危仪的事情事理基于前辈的X射线技能和打算机图...

互联通信 2024-12-12 阅读0 评论0

产品经理进阶:硬件版本治理必弗成少

本日就来谈谈版本管理这个话题。在做产品的过程中:有效的版本掌握,以及适当的工程文件。对付确保向客户交付优质的产品来说是至关主要的。...

互联通信 2024-12-12 阅读0 评论0

胶片机入门指南 新坑必备

随着近年来复古热和小清新的风靡,越来越多小伙伴奔着胶片坑而去。但是面对器材的选择又总是难下决定,毕竟不像数码机的选择那么多资料可查...

互联通信 2024-12-12 阅读0 评论0