点击上面 “蓝字” 关注我们
将知识图谱技术与RAG有机结合的GraphRAG可谓是今年下半年来的LLM应用领域的一个热点,借助大模型从非结构化文本数据创建知识图谱与摘要,并结合图与向量索引技术来提高对复杂用户查询的检索增强与响应质量。 其中微软的开源项目GraphRAG获得了广泛关注,但现有 的GraphRAG 最被人诟病的不足是: 模型使用成本过高且性能较低,特别是索引阶段(Indexing),即从原始非结构化数据中进行实体、关系、摘要、社区等信息的抽取与生成,需占用大量的LLM使用成本。
尽管GraphRAG在0.4版本中作了一定的升级,包括可以进行文档知识的增量 抽取 ,以及新的DRIFT查询模式,一定程度的 降低 使用成本,提高查询 质量,但问题并没有得到根本优化。
今日凌晨,微软 宣布将推出 GraphRAG 的全新迭代版本 LazyGraphRAG 。 核心亮点是极低的使用 成本,其数据索引成本仅为现有GraphRAG 的 0.1% 。 此外,LazyGraphRAG 引入了 全新的混合数据检索 方法,大幅提升了生成结果的准确性和效率。 该版本将很快开源,并纳入到 GitHub GraphRAG 库中。
让我们一起来先睹为快,为大家做初步解读。
01
关键要点
LazyGraphRAG 的核心优势在于其在成本和质量方面的提升。 在多种竞争方法(包括标准的向量 RAG、RAPTOR<一种主要用于全局概要问题查询的RAG方法>、GraphRAG 的本地搜索、全局搜索和 DRIFT 搜索)中,LazyGraphRAG在使用成本与输出质量有极大提升,具体表现在:
-
LazyGraphRAG在数据索引成本方面大幅下降,仅为GraphRAG的0.1%。同时,其成本与向量RAG相当。
-
在与向量RAG相近的查询成本下,LazyGraphRAG在本地查询方面的性能超越了其他查询方法,包括GraphRAG已经提供的本地搜索(Local Search)与最新推出的DRIFT搜索。
-
相同配置下的 LazyGraphRAG 在全局查询中表现出与 GraphRAG 全局搜索(Global Search)相当的答案质量,但查询成本却降低了 700 多倍。
02
设计思想与改进
根据微软介绍,LazyGraphRAG 是一种兼具向量 RAG 和 Graph RAG 优势的新方法,同时针对它们在不同场景中的局限性进行了优化。
【向量 RAG】
向量 RAG 使用最佳优先搜索,根据查询与数据中文本片段的语义相似度,选择最匹配的内容。这种方式在处理简单、局部化的查询(如一些事实性问题)时非常高效。 然而,向量 RAG 的局限性在于缺乏对数据集全局结构与知识的认知能力。 当查询需要更全面的视角时,例如需要跨领域或跨社区的信息整合来回答概要与总结性问题时,它可能会遗漏关键信息。
【GraphRAG】
GraphRAG 的广度优先搜索使用社区结构(Community,一组有一定主题的紧密相关的实体及其关系)来组织和检索数据知识,能够在全局查询时(Global Search)确保查询结果覆盖更大的信息范围。但它的局限是在处理本地查询(Local Search)时无法判断哪些社区是最相关的。
最主要的问题是, GraphRAG在数据索引阶段需要利用大模型提取和描述实体及其关系、为每个实体和关系生成摘要、通过算法识别图中的社区与生成社区描述,以及对摘要与描述做嵌入等。这一系列过程导致模型使用的成本非常高昂。
LazyGraphRAG 通过一种迭代加深的方式结合了最佳优先搜索和广度优先搜索。相比现有GraphRAG 的全局搜索机制,这种方法“懒惰”地推迟了 LLM 的使用,从而显著降低成本并提高了答案生成效率。且LazyGraphRAG整体性能可以通过单一的参数—— 相关性测试预算 (relevance test budget)来进行调节,以控制成本与质量的权衡。LazyGraphRAG与现有GraphRAG在处理方法上的区别可以用下图来理解:
上表中,完整的展示了LazyGraphRAG与GraphRAG在从索引到查询阶段(主要是全局查询)的处理环节的区别。 可以看到,两者最主要的区别是:
- LazyGraphRAG推迟与减少了LLM的使用,特别是在原来消耗大量成本的索引阶段,LazyGraphRAG使用更加轻量级的NLP技术与Graph图分析方法,以提取关系与层次社区。
- 在查询阶段,LazyGraphRAG的方法是:
-
查询扩展。即RAG方法中的查询重写,生成子查询
-
对每个子查询借助LLM识别关联社区与相关文本片段
-
借助LLM对相关文本片段进一步筛选以形成参考上下文
-
生成最终答案
LazyGraphRAG 的核心思想是 通过一种分阶段、迭代优化的方式,将 LLM 的调用推迟到最关键的步骤,并结合轻量化的技术大幅降低成本,同时维持高质量的查询结果。 其“懒惰”的特性并不是降低功能,而是通过优化调用时机和操作流程,实现了更高效的查询和答案生成。
03
测试结果
微软在不同的相关性测试预算水平下,对 LazyGraphRAG 与一系列竞争方法进行了比较,具体环境如下:
- 数据集:5,590 篇 AP 新闻文章(根据授权使用)。
- 查询:100 条合成查询(50 条本地查询和 50 条全局查询),这些查询是通过一种新的方法生成的(该方法将在未来介绍)。
- 评估指标:综合性(Comprehensiveness)、多样性(Diversity)和赋能性(Empowerment)。这些指标通过 LLM 逐对比较每个答案的表现得出。
• Comprehensiveness(综合性): 结果覆盖了查询的关键内容和相关背景。
• Diversity(多样性):结果包含来自不同领域或角度的多样化信息。
• Empowerment(赋能性):结果帮助用户进一步理解问题或做出决策。
- 测试条件:包括 LazyGraphRAG 的三种不同相关性测试预算设置,以及 GraphRAG 和相关文献中的八种竞争方法。如图:
下图展示了在使用低成本 LLM 模型(成本与 SS_8K 相同,即与普通向量RAG相同的成本预算)进行 100 次相关性测试的最低预算条件下, LazyGraphRAG 相对于八种竞争条件的胜率。
这里稍做分析:
1. LazyGraphRAG 在本地查询中的优势非常显著:
• 在所有指标(综合性、多样性、赋能性)上都表现出色,尤其是在多样性指标中,胜率接近 0.95。
• 使用低预算(100 次相关性测试)和低成本 LLM,即能在大多数条件下胜过其他方法。
2. 在全局查询中仍具有竞争力:
• LazyGraphRAG 在全局查询上的表现稍弱于其本地查询的表现,但在综合性和多样性指标上仍处于领先位置。
• 在赋能性上略逊于某些特定的 GraphRAG 全局搜索方法,但依然优于传统的语义搜索条件(如 SS_8K 和 SS_64K)。
3. LazyGraphRAG 的成本效益表现良好:
• 在使用低预算和低成本 LLM 的情况下,其整体性能仍能超过大部分竞争方法,说明了 LazyGraphRAG 的优化设计在成本与质量之间达到了良好的平衡。
当把预算增加到 500 次相关性测试,并使用更高级的 LLM 模型(查询成本仅为 C2 的 4%)时,LazyGraphRAG 在本地和全局查询上都展示了更大的优势。当把相关性测试预算增加到 1500 次,LazyGraphRAG 的胜率持续提高,展现了其在成本与质量方面的更大优势。具体参考下图:
LazyGraphRAG展示了未来GraphRAG一种新的可能性:你可以在几乎没有LLM成本的索引构建基础上,更高质量的完成基于知识图谱的查询与回答,且可以随着成本预算的调整来提升问答质量,以适应不同场景的要求。当然,这种方法仍然存在优化的空间,比如:如果在不考虑成本的前提下,结合现有GraphRAG的索引方法,与LazyGraphRAG的查询阶段的优化方法,是否会有更加出色的效果?
让我们一起期待LazyGraphRAG的正式发布。
参考:
end
福利时间
为了帮助LLM开发人员更好的、更系统性的学习RAG应用,特别是企业级的RAG应用场景下,当前主流的优化方法与技术实现,我们编写了 《基于大模型的RAG应用开发与优化 — 构建企业级LLM应用》 这本指南,与大家一起来深入到LLM应用开发的全新世界。
更多细节,点击如下链接了解
现在购,享 50%折扣
交流请识别以下名片