微信扫码
与创始人交个朋友
我要投稿
7月2日,微软宣布开源GraphRAG项目,这是一种创新的基于图的检索增强生成(RAG)系统,专为问答私有或独特数据集而设计。自其在GitHub上的发布以来,该项目迅速获得了2700个星标关注。
开源链接:https://github.com/microsoft/graphrag
GraphRAG通过结合大型语言模型(LLMs)构建知识图谱和图机器学习技术,显著提升了LLM在处理私有数据方面的性能,并具备了解决跨大型数据集的复杂语义问题的推理能力。相较于传统RAG技术在处理企业专有研究和商业文档方面的不足,GraphRAG利用其前置知识图谱、社区分层和语义摘要以及图机器学习技术,在这些场景中实现了显著的性能提升。
微软在其博客中分享了对GraphRAG的测试结果,他们在大规模播客和新闻数据集上进行了评估,结果显示GraphRAG在全面性、多样性和赋权性方面均优于传统RAG技术(胜率在70%到80%之间)。
GraphRAG的方法论与传统RAG有所不同,其核心在于:利用LLMs从数据源中提取知识图谱;将这些图谱根据相关性聚类成不同粒度的社区;在RAG操作中,遍历所有社区来创建“社区级”的答案,然后进一步精炼以形成最终的输出。这种方法为私有数据的处理提供了一种全新的视角和解决方案。
这个方法用微软高大上的说法是:
终于等到这一刻!虽然知识图谱并不是传统语义搜索的替代者,但它确实为执行RAG操作带来了一系列创新的能力,比如它允许我们沿着极为冗长的上下文进行深度遍历,同时也能够以一种连贯且高效的方式跨越不同的上下文进行探索。
然而,值得注意的是,所有这些性能提升的技术都伴随着一个潜在的缺陷:它们可能会导致token的使用量增加以及推理时间的延长...
大语言模型面临的最大挑战和机遇可能在于如何将其强大的处理能力,扩展到解决超出其训练数据范围的问题上,尤其是在处理模型未曾接触过的数据时,如何实现与训练数据相当的结果。这为数据探索开辟了新的视野,比如通过分析数据集的上下文和ground,来确定其主题和语义概念。
检索增强生成(RAG)技术通过搜索用户查询相关的信息,并利用这些搜索结果作为AI生成回答的参考。这是大多数基于大型语言模型(LLM)的工具的关键组成部分,其中大多数RAG技术采用向量相似性进行搜索。在分析文档中的复杂信息时,GraphRAG利用由LLM生成的知识图谱显著提升了问答性能,这是建立在最近关于在私有数据集上执行发现任务时增强提示词能力的研究基础之上的。微软将私有数据集定义为那些在LLM训练中未使用过,且LLM未曾见过的数据,如企业的专有研究、商业文件或通信记录。
基线RAG(Baseline RAG)应运而生,但在某些情况下,基线RAG的表现并不理想,例如:当问题的答案需要通过不同信息片段之间的共有属性进行遍历来提供新的综合见解时,基线RAG很难实现这一点。
基线RAG在全面理解大型数据集或单一大型文档的语义概念时,也常常表现不佳。
为了解决这些问题,业界正在努力开发扩展和增强RAG的方法,例如LlamaIndex。微软研究院提出的新方法GraphRAG,就是基于私有数据集创建知识图谱,并将这些图谱与机器学习相结合,用于在查询时执行提示词的增强。在回答上述两类问题时,GraphRAG表现出了显著的改进,其智能程度和精通水平远远超过了以往应用私有数据集的其他方法。
为了验证GraphRAG的有效性,研究团队选择了一个具有挑战性的案例:新闻文章中的暴力事件信息(VIINA)数据集。这个数据集不仅复杂,还包含了相互矛盾的观点和不完整的信息,是一个典型的现实世界中的混乱测试案例。由于该数据集的时效性,它并未包含在LLM基础模型的训练数据中。
在这项研究中,微软利用了2023年6月间俄罗斯和乌克兰双方的上千篇新闻报道,将这些报道翻译成英文后构建了一个私有数据集,该数据集专门用于基于LLM的检索任务。由于数据集的规模庞大,超出了LLM上下文窗口的处理能力,因此必须采用RAG技术来处理。
微软的研究团队首先对基线RAG系统和GraphRAG提出了一个探索性查询,以测试这两种系统在处理这种复杂数据集时的表现。
查询语句:“Novorossiya 是什么?”
通过结果可以看出,两个系统表现都很好,这是基线 RAG 表现出色的一类查询。然后他们换成了一段需要连点成线的查询:
查询语句:“Novorossiya 做了什么?”
基线 RAG 没能回答这一问题,根据图一中插入上下文窗口的源文件来看,没有任何文本片段提及“Novorossiya”,从而导致了这一失败。
与此相比,GraphRAG方法成功识别了查询中的实体“Novorossiya”,并允许LLM基于此构建知识图谱,与原始的支撑文本相连,生成带有出处的高质量答案。例如,在下图中,展示了LLM在生成回答时所引用的内容:“Novorossiya与摧毁自动取款机的计划有所联系。”通过查看翻译成英文后的原始文本片段,可以发现LLM是通过知识图谱中两个实体之间的联系,得出了Novorossiya将某银行作为攻击目标的结论。
利用LLM构建的知识图谱,GraphRAG显著提升了RAG的"检索"能力;它能够在上下文窗口中填充更具相关性的信息,捕捉到论据的出处,进而提供更加精准和高质量的答案。
确保对LLM生成结果的信任和验证始终至关重要。微软致力于确保结果不仅事实正确、逻辑连贯,而且能够忠实地反映原始资料的内容。GraphRAG在生成每个回答时都会提供明确的出处或基础信息,这表明它的回答是建立在数据集之上的。每个论点的引用来源都清晰可见,使用户能够直接对照原始材料,迅速而准确地验证LLM的输出。
然而,GraphRAG的潜力远不止于此。
基线RAG在处理需要综合整个数据集信息才能得出答案的查询时表现不足。例如,面对"数据集中排名前五的主题是什么?"这类查询,基线RAG往往力不从心,因为它主要依赖于对数据集中语义相似文本内容的矢量搜索,而查询本身并未提供足够的关键词来引导搜索找到正确的信息。
相比之下,GraphRAG能够有效回答这类问题。由LLM生成的知识图谱揭示了数据集的整体结构和主题分布,使得私有数据集能够被有效地组织成有意义的语义集群,并进行预先的总结。在响应用户查询时,LLM会利用这些集群对主题进行概括。
以下语句展示了两种系统在对数据集进行整体推理时的不同能力:
查询语句:“数据中排行前五的主题有哪些?”
基线RAG的结果表明,所列出的主题并没有涵盖两者之间的争议。正如所预期的,矢量搜索检索到了不相关的文本,并将其作为输入放入了LLM的上下文窗口。生成的答案很可能是基于关键词“主题”进行搜索得到的,这导致它对数据集内容的评估并不具有实际效用。
GraphRAG的结果则明显与数据集的整体内容更为一致。在回答中,它提供了五大主题及其在数据集中的辅助性细节。这些参考报告是由LLM预先为GraphRAG生成的,它们为每个语义集合提供了原始材料的出处对照,从而确保了回答的准确性和可靠性。
GraphRAG的核心流程是建立在之前对图机器学习的研究和现有代码库的基础上的:LLM首先处理整个私有数据集,为数据中的所有实体和关系创建引用,并利用这些信息来构建知识图谱。随后,使用这个图谱来创建自底向上的聚类,将数据进行分层并组织成语义上有意义的集群(如下图所示,通过颜色进行区分)。这种分层方法使得能够预先概括语义概念和主题,从而实现对数据集的全面理解。在处理查询时,这两种结构都被用来填充LLM在回答问题时所需的上下文窗口。
下图是一个图谱的可视化示例,其中每个圆圈代表一个实体(例如个人、地点或组织),圆圈的大小表示该实体所关联的关系数量,而颜色则表示相似实体的分组。这种基于图结构的自底向上的聚类方法,使得GraphRAG能够回答不同抽象层次的问题。
在上述示例中,我们看到了GraphRAG在跨多个领域数据集上所取得的持续进步。微软利用LLM的一个评分器对GraphRAG和基线RAG的表现进行了评估和对比,确立了一系列定性评价标准,包括全面性(答案在问题背景框架内的完整性)、人性化(提供辅助性原始材料或其他背景信息),以及多样性(提供问题的不同角度或观点)。初步结果表明,在这些评价标准上,GraphRAG始终优于基线RAG。
除了对比评估,微软还使用SelfCheckGPT对GraphRAG进行了忠实性测试,以确保其基于原始材料生成的结果既真实又连贯。测试结果显示,GraphRAG达到了与基线RAG相似的忠实度水平。
通过结合LLM生成的知识图谱和图机器学习技术,GraphRAG能够处理一些重要的问题类别,这些问题如果仅使用基线RAG是无法解决的。微软已经将这项技术应用于社交媒体、新闻文章、工作生产力和化学等领域,并观察到了令人鼓舞的成果。展望未来,微软计划将这项技术应用于更多新的领域。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-11-23
如何提高RAG系统准确率?12大常见痛点及巧妙解!
2024-11-23
RAG 2.0性能提升:优化索引与召回机制的策略与实践
2024-11-22
RAG技术在实际应用中的挑战与解决方案
2024-11-22
从普通RAG到RAPTOR,10个最新的RAG框架
2024-11-22
如何使用 RAG 提高 LLM 成绩
2024-11-21
提升RAG性能的全攻略:优化检索增强生成系统的策略大揭秘 | 深度好文
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21