AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


微软发布GraphRAG,碾压朴素RAG!
发布日期:2024-07-09 08:19:14 浏览次数: 2176 来源:AIForge


全文长度:3035字

预计阅读时间:10分钟

Introduction

7 月 2 日,微软发布了GraphRAG,这是一种基于图的检索增强生成(RAG)方法,能在私有或以前未见过的数据集中进行问答。这个项目在 GitHub 上发布后,迅速获得了2700 颗 star!检索增强生成(RAG)是一种根据用户查询语句搜索信息,并利用搜索结果作为 AI 参考生成回答的技术。这项技术是许多基于大语言模型(LLM)工具的重要组成部分,通常使用向量相似性作为搜索方法。

在处理复杂文档信息时,GraphRAG利用大语言模型生成的知识图谱,大幅提升了问答性能。这一改进基于近期在私有数据集中进行提示词增强能力的研究成果。

  • 微软将私有数据集定义为那些未被大语言模型用于训练,且大语言模型从未见过的数据,如某企业的专有研究、商业文件或通讯。

  • 为了释放大语言模型在私有数据集中的潜力,GraphRAG 在解决训练数据以外的问题时展现了明显的提升,为数据分析开辟了新的可能性。

GraphRAG的核心技术

GraphRAG技术的工作原理主要包括两个核心部分:图谱构建社区检测算法。它通过大规模构建知识图谱,从而提升了对大型数据集的处理能力。

GraphRAG的方法可以总结为利用大型语言模型(LLMs)从数据源中提取知识图谱。这些知识图谱随后会被聚类到不同的相关实体社区中。在执行RAG操作时,系统遍历所有社区以生成“社区答案”,并通过缩减过程生成最终答案。这一方法增强了大型语言模型对私有数据集的理解和分析能力。

GraphRAG的流程

GraphRAG的流程分为两个阶段:首先是文本索引的创建,接着是社区摘要的生成。具体来说,它先从源文档中派生出实体知识图谱,然后为所有相关的实体组生成社区摘要。当有问题输入时,系统使用每个社区的摘要生成部分回答,最后将所有部分回答汇总成最终回答。

GraphRAG利用大型语言模型构建基于图谱的文本索引,首先从源文档中提取出实体知识图谱,然后为所有密切相关的实体组生成社区摘要。面对特定问题时,系统首先剪辑每个社区摘要生成部分回答,然后汇总这些部分回答,形成最终回答。

GraphRAG vs. 朴素RAG

GraphRAG显著提升了大语言模型 (LLM) 在处理私有数据方面的能力,特别是在复杂语义问题的推理上。相比之下,普通RAG技术在处理企业专有研究和商业文档等私有数据时效果不佳,而GraphRAG结合前置的知识图谱、社区分层、语义总结和图机器学习技术,大幅提升了此类场景中的性能

微软在其博客中提到,他们在大规模播客和新闻数据集上进行了测试,结果显示在全面性、多样性和准确性方面,GraphRAG均优于朴素RAG,获胜率达70%到80%

微软的GraphRAG特别适用

微软的GraphRAG特别适用于需要整合整个数据集信息来回答的问题。例如,对于“数据中排行前五的主题是什么?”这样的查询,基线RAG表现不佳,因为它依赖于对数据集中语义相似文本的矢量搜索,而查询中没有提供能引导其找到正确信息的关键词。然而,GraphRAG可以处理这类问题。由LLM生成的知识图谱展示了整个数据集的结构和主题,使得私有数据集能够被组织成有意义的语义集群并预先总结。在回答用户查询时,LLM会利用这些聚类来汇总主题。

GraphRAG方法的优势

GraphRAG方法通过生成知识图谱,将整个文本集合分解成更小的、易于管理的社区模块,从而扩展了模型的理解和生成能力。此外,GraphRAG通过生成社区摘要,使得模型能够从整个数据集中提取相关信息,生成更加全面和准确的答案。GraphRAG在结果生成时还提供出处或源头信息,表明其回答基于数据集,每个论断的引用来源都清晰可见,用户可以直接对照原始材料,快速且准确地审核LLM的输出结果。

实际测试中的表现

在实际测试中,例如新闻数据集,微软团队向基线RAG系统和GraphRAG提出了一个探索性查询:“Novorossiya是什么?”,两个系统的表现都很好。然而,当查询变为:“Novorossiya做了什么?”时,基线RAG无法回答这一问题,而GraphRAG方法则识别出查询中的实体“Novorossiya”,以此为基础建立图谱,连接原始支持文本,从而生成包含出处的高质量答案。

总体来说,这种方法在大规模数据集上表现优越,特别是在处理复杂信息和提供全面答案方面展示了其优势。微软将继续在各类新领域中应用这一技术。

GraphRAG的应用场景

探讨 GraphRAG 在不同数据集类型上的广泛应用潜力,例如企业的专有研究、商业文档和社交媒体数据。介绍在具体应用中的图谱上的实体检测与关系抽取,如媒体分析和企业数据整理。

普通 RAG 技术在处理例如企业专有研究和商业文档这类私有数据时效果欠佳。而GraphRAG则通过结合预先构建的知识图谱、社区分层、语义总结和图机器学习技术,能够显著提高处理这些场景的性能。为了证明 GraphRAG 的有效性,微软以新闻文章中暴力事件信息(VIINA)数据集为例进行测试。这个数据集复杂且包含相互矛盾和不完整的信息,具有现实世界的测试意义。由于数据集内容相对较新,未被纳入大型语言模型(LLM)的基础训练中,因此也具备挑战性。微软团队将 2023 年 6 月俄罗斯和乌克兰双方新闻来源的上千篇报道翻译成英文,形成一个用于 LLM 检索的专用数据集。由于数据集过大,无法直接放入 LLM 的上下文窗口,因此需要采用 RAG 方法。

微软团队首先在基线 RAG 系统与 GraphRAG 上进行查询测试。测试查询为:“Novorossiya 是什么?”从结果可见,两种系统都表现良好,这是基线 RAG 能处理得很好的查询类型。随后,他们换成了更具挑战性的查询:“Novorossiya 做了什么?”在这个测试中,基线 RAG 无法有效回答问题,因为检索到的上下文窗口中没有相关的文本片段提及 “Novorossiya”,从而导致了失败。而GraphRAG能识别查询中的实体 “Novorossiya”,并通过 LLM 建立知识图谱,连接原始文本片段,生成包含出处的高质量答案。GraphRAG 利用 LLM 生成的知识图谱,显著提升了 RAG 的检索能力,提供更高相关性的上下文内容和引用依据,从而给出更优质的回答。

完整数据集推理

对于完整数据集推理,基线 RAG在需要汇总全部数据集信息的查询方面表现不佳。例如对于 “数据中排行前五的主题是什么?” 这类查询,基线 RAG 无法提供良好答案,因为它依赖于检索语义相似的文本片段,而查询中未包含足以引导其找到正确信息的关键词。相反,GraphRAG可以回答此类问题。LLM生成的知识图谱展示了数据集的整体结构和主题,使得私有数据集能被组织成有意义的语义集群,并进行预总结。

支持 GraphRAG 的基本流程

支持 GraphRAG 的基本流程是基于图机器学习的研究和代码库:LLM处理全部私有数据集,为源数据中的所有实体和关系创建引用,并利用这些引用来创建知识图谱。然后,通过生成的图谱自下而上地聚类数据,分层并组织成语义聚类。这种划分使得预总结语义概念和主题成为可能。通过构建知识图谱和社区结构,GraphRAG 不仅帮模型理解文本,还能把握数据集的内在结构。结合LLM 生成的知识图谱和图机器学习,GraphRAG 能解答许多重要问题,而这类问题基线 RAG 无法单独解决。

GraphRAG展示了其在处理私有数据集方面的显著改进,其智能程度远超先前的方法。

写在最后

在未来的发展方向上,GraphRAG有望带来多项技术突破。我们需要探讨GraphRAG在不同领域中的扩展潜力及其面临的技术挑战,例如资源需求模型优化等问题。微软在GraphRAG方面付出了很多努力,并取得了显著成果,这为我们展望其在大语言模型领域的未来趋势提供了重要依据。

当前,大语言模型的最大挑战和机遇在于如何将其强大的能力应用到训练数据以外的问题解决中,从未见过的数据中取得可对比的成果。这一技术将为数据调查开辟新的可能性,比如根据数据集的上下文和实际情况确定其主题和语义概念。未来,GraphRAG将继续在各类新领域中拓展应用。

成本分析

成本的角度来看,GraphRAG并不占优势。目前,GraphRAG主要聚焦于局部检索能力,即根据查询语句在向量库中匹配部分知识,然后通过大型语言模型合成这些检索到的信息,生成自然流畅的回答。

技术优势

通过将大语言模型生成的知识图谱与图机器学习相结合,GraphRAG能够回答许多重要的问题类别,而这些问题是基线RAG无法单独完成的。GraphRAG拓展了模型的理解和生成能力,在处理数字化社交媒体新闻文章等资料时,能够更有效地捕捉并利用数据中的复杂联系和交互。




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询