比GraphRAG还好的LightRAG到底是何方神圣?
1. 为什么要提出 LightRAG?
检索增强生成(Retrieval-Augmented Generation,RAG)通过整合外部知识源来增强大型语言模型,这种整合使 LLM 能够生成更准确和与上下文相关的响应,显著提高实际应用中的效用。
• 通过适应特定领域知识,RAG 系统确保所提供的信息不仅相关,而且符合用户的需求。
• 提供获取最新信息的途径,这种途径在一些快速发展的领域非常重要。
• 分块在促进检索增强生成过程中起着至关重要的作用。通过将大型外部文本语料库分解为更小、更易于管理的段,提高了信息检索的准确性。允许进行更有针对性的相似性搜索,确保检索到的内容与用户查询直接相关。
然而,现有的 RAG 系统存在关键的局限性,阻碍了它们的性能:
• 首先,许多方法依赖于简单的数据结构,限制了它们理解并检索基于实体间复杂关系的信息的能力。
• 其次,这些系统往往缺乏必要的上下文意识,无法在不同实体及其相互关系之间保持连贯性,导致它们给出的回答可能无法全面回应用户的查询。
例如,当用户问及“电动汽车的增长如何影响城市空气质量和公共交通设施?
”时,现有的RAG方法可能会分别检索到关于电动汽车、空气污染和公共交通挑战的文档,但在将这些信息整合成一个连贯的回答上却显得力不从心。
它们可能无法解释电动汽车的普及如何改善空气质量,进而影响公共交通规划。
为了解决这些局限性,作者准备将图结构(知识图谱)纳入文本索引和相关信息检索。图特别有效地表示不同实体之间的相互依赖关系,这能够更细致地理解关系。基于图的知识结构的整合有助于将来自多个来源的信息综合成连贯且上下文丰富的响应。
因此,作者提出了LightRAG:一个基于图的文本索引范式与双层检索框架无缝集成的RAG系统。
2. LightRAG架构
图片
上图展示了LightRAG的架构,分为两个主要部分:
• 第一部分:基于图的索引阶段。使用大型语言模型从每个文本块中提取实体和关系。
• 第二部分:基于图的检索阶段。首先利用大型语言模型(LLM)生成相关关键字。
与当前的检索增强生成(RAG)系统类似,LightRAG的检索机制依赖于基于向量的搜索。
与传统的 RAG 中检索块不同,LightRAG专注于检索实体和关系。
与 GraphRAG 中使用的基于社区的遍历方法相比,LightRAG显著降低了检索开销。
2.1 基于图的文本索引
图增强的实体和关系提取:LightRAG 通过将文档分割成更小、更易于管理的部分来增强检索系统。允许在不分析整个文档的情况下快速识别和访问相关信息。利用大型语言模型(LLM)来识别和提取各种实体(例如,名称、日期、地点和事件)以及它们之间的关系,然后创建一个知识图。
图片
•提取实体和关系:利用 LLM 在文本数据中识别实体(节点)及其关系(边)。例如,从文本“心脏病专家评估症状以识别潜在的心脏问题”中提取实体如“心脏病专家”和“心脏病”,以及关系如“心脏病专家诊断心脏病”。为了提高效率,原始文本被分割成多个块后再进行实体和关系的提取。上图展示了用于构建知识图谱的提示词。
•LLM生成键值对:采用 LLM 为每个实体节点和系边生成文本键值对(K,V)。每个索引键是一个单词或短语,能够实现高效检索,而相应的值是一个文本段落,总结来自外部数据的相关片段以辅助文本生成。实体使用其名称作为唯一的索引键,而关系可能具有从 LLM 增强中派生的多个索引键,包括来自连接实体的全局主题。
•图谱去重:从原始文本的不同段中识别并合并相同的实体和关系。此过程通过最小化图的大小减少图操作相关的开销,从而导致更高效的数据处理。
这样的设计有以下几个优点:
• 首先,全局化理解信息。构建的图结构能够从多跳子图中提取全局信息,增强了 LightRAG 处理跨越多个文档块的复杂查询的能力。
• 其次,增强的检索性能。从图中派生的键值数据结构针对快速和精确检索进行了优化。为现有方法中常用的不太准确的嵌入匹配方法和低效的块遍历技术提供了一种优越的替代方案。
增量更新知识库*
对增量知识库的快速更新方法有两个关键目标:
• 新数据的无缝集成。通过对新信息应用一致的方法,增量更新模块允许 LightRAG 集成新的外部数据库,而不会破坏现有的图结构。保持了已建立连接的完整性,确保历史数据仍然可访问,同时丰富了图而没有冲突或冗余。
• 减少计算开销。通过消除重建整个索引图的需要,这种方法减少了计算开销,并促进了新数据的快速吸收。
2.2 双层检索范式
LightRAG 在微观和宏观两个维度生成查询键,从而实现在特定文档块和复杂的依赖关系里检索相关信息。
•微观查询(Specific Queries):面向具体细节的,引用图中的特定实体,需要精确检索与特定节点或边相关的信息。例如,一个特定的查询可能是,“谁写了《傲慢与偏见》?”
•抽象查询(Abstract Queries):抽象查询更具概念性,涵盖更广泛的主题、摘要或总体主题,不直接与特定实体相关。抽象查询的一个示例是,“人工智能如何影响现代教育?”
为了适应不同的查询类型,LightRAG 在双层检索范式中采用了两种不同的检索策略。确保了特定和抽象的查询都得到有效处理,使系统能够根据用户需求提供相关响应。
•低级检索:侧重于检索特定实体及其相关属性或关系。此级别的查询是面向细节的,提取关于图中特定节点或边的精确信息。
•高级检索:处理更广泛的主题和总体主题。聚合跨多个相关实体和关系的信息,提供对更高级概念和摘要的洞察,而不是特定细节。
图与向量检索相结合的检索
通过将图结构与向量表示相结合,使检索算法能够有效地利用本地和全局关键字,简化搜索过程并提高结果的相关性。
1.查询关键字提取。对于给定的查询,LightRAG 首先提取本地查询关键字和全局查询关键字。
2.关键字匹配。使用向量数据库将本地查询关键字与候选实体进行匹配,并将全局查询关键字与链接到全局键的关系进行匹配。
3.整合高阶关联性(Incorporating High-Order Relatedness)。为了提升查询的高阶关联性,LightRAG不仅检索图元素,还扩展至这些元素所在局部子图的邻近节点。
这种双层检索范式不仅通过关键字匹配促进了相关实体和关系的高效检索,而且通过整合来自构建的知识图的相关结构信息增强了结果的全面性。
2.3 答案生成
检索信息的利用:利用检索到的信息通过LLM 根据收集的数据生成答案。收集到的数据包括由相关实体和关系,包括名称、实体和关系的描述以及原始文本的摘录。
上下文整合和答案生成:将查询与这个多源文本统一,LLM 生成根据用户需求定制的信息丰富的答案,确保与查询的意图一致。这种方法通过将上下文和查询都整合到 LLM 模型中简化了答案生成过程(下图是提示词)。
3. 效果评估
• RQ1:LightRAG在生成性能上与现有RAG基线方法相比有何优势?
• RQ2:双层检索和基于图的索引如何提升LightRAG的生成质量?
• RQ3:LightRAG在多种场景的案例中展现了哪些独特优势?
• RQ4:LightRAG的成本及其对数据变化的适应能力如何?
3.1 RQ1:LightRAG在生成性能上与现有RAG基线方法相比有何优势?
图片
图增强型RAG系统在处理大规模语料库时的优势:面对需要大量token和复杂查询时,LightRAG和GraphRAG等基于图的RAG系统,始终优于NaiveRAG、HyDE和RQRAG等纯基于块的检索方法。随着数据集规模的增长,这一性能差异尤为显著。例如,在最大的法律数据集中,基线方法的胜率仅约20%,而LightRAG则明显占优。这一趋势凸显了图增强型RAG系统在捕捉大规模语料库内复杂语义依赖方面的优势,有助于更全面地理解知识,从而提升泛化性能。
LightRAG在提升响应多样性上的优势:与各基线方法相比,LightRAG在多样性(回答问题的角度等是否具备多样性)指标上尤为突出,特别是在大型法律数据集中。这一优势源于LightRAG的双层检索模式,能够从低级和高级两个维度全面检索信息。这种方法有效地利用基于图的文本索引,始终把握查询的完整上下文。
LightRAG超越GraphRAG:尽管LightRAG和GraphRAG都采用基于图的检索机制,但LightRAG尤其在处理大型数据集和复杂语言环境时,始终优于GraphRAG。在包含数百万令牌的农业、计算机科学和法律数据集中,LightRAG展现出明显优势,大幅超越GraphRAG,凸显了其在多样化环境中全面理解信息的能力。
3.2 RQ2:双层检索和基于图的索引如何提升LightRAG的生成质量?
图片
•仅低层次检索:去掉了高级检索,导致几乎所有数据集和评价指标上的性能显著下降。主要是因为它过分强调具体信息,集中于实体及其直接关联。虽然这种方法能够深入挖掘直接相关的实体,但在收集需要综合洞察的复杂查询信息时显得力不从心。
•仅高层次检索:只有低级检索的LightRAG通过利用实体间关系而非专注于具体实体,优先获取更广泛的内容。这种方法在全面性上具有显著优势,能够收集到更广泛和多样化的信息。然而,在深入挖掘特定实体时略显不足,可能限制了其提供详尽见解的能力。因此,这种仅高层次检索的方法在需要精确、细致答案的任务中可能表现不佳。
•混合模式:在检索更广泛关系的同时,也对特定实体进行了深入挖掘。这种双层次方法既保证了检索的广度,也确保了分析的深度,从而提供了数据的全面视角。因此,LightRAG在多个维度上实现了均衡的表现。
•语义图在 RAG 中表现出色:在检索过程中不再使用原始文本(-Origin)在所有四个数据集中都没有表现出显著的性能下降。在某些情况下,这个变体甚至有所改进(例如在农业和混合方面)。主要原因可能是基于图的索引过程中对关键信息的有效提取,这为回答查询提供了足够的上下文。此外,原始文本通常包含不相关的信息,可能会在响应中引入噪声。
3.3 RQ3:LightRAG在多种场景的案例中展现了哪些独特优势?
图片
图片
•全面性:在精确的实体和关系提取以及 LLM 分析方面表现出色。
•多样性和赋能:LightRAG 不仅提供了更多样化的信息,而且提供了更具赋能性的内容。主要是因为 LightRAG 的分层检索范式,结合了通过低级检索对相关实体的深入探索,通过高级检索进行更广泛的探索以增强赋能和提高答案的多样性。
3.4 RQ4:LightRAG的成本及其对数据变化的适应能力如何?
从两个关键角度将我们的 LightRAG 的成本与表现最佳的基线 GraphRAG 进行比较。
• 首先,检查索引和检索过程中的令牌数量和 API 调用次数。
• 其次,这些指标与动态环境中处理数据变化的关系。
图片
3.4.1 检索阶段
GraphRAG 生成了 1399 个communities,有 610 个二级communities被积极用于检索。每个communities报告平均 1000 个tokens,导致总标记消耗为 610000 个tokens(610 个communities×每个communities 1000 个tokens)。
此外,GraphRAG 需要单独遍历每个communities,导致数百次 API 调用,显著增加了检索开销。相比之下,LightRAG 通过使用少于 100 个tokens进行关键字生成和检索,整个过程仅需要一次 API 调用。这种效率是通过LightRAG检索机制实现的,该机制无缝集成了图形结构和矢量化表示以进行信息检索,从而消除了预先处理大量信息的需要。
3.4.2 增量数据更新阶段
两个方案在实体和关系提取方面表现出相似的开销。
然而,GraphRAG 在管理新添加的数据方面显示出显著的低效率。当引入与法律数据集相同大小的新数据集时,GraphRAG 必须拆除其现有的社区结构以纳入新的实体和关系,然后完全重新生成。
这个过程每个社区报告产生大约 5000 个token的大量标记成本。鉴于有 1399 个communities,GraphRAG 将需要大约 1399×2×5000 个标记来重建原始和新的社区报告——这是一个过高的费用,突显了其低效率。
相比之下,LightRAG 将新提取的实体和关系无缝集成到现有图形中,无需完全重建。这种方法在增量更新期间导致显著较低的开销,展示了其优越的效率和成本效益。
本文转载自 大语言模型论文跟踪,作者:HuggingAGI