港大打造 LightRAG:让大模型 RAG 高效又便宜

学术   2024-11-02 13:24   北京  

投稿作者:黄超(香港大学计算机学院助理教授)

RAG 在信息检索和大模型增强方面具有显著优势,吸引了广泛关注。然而,现有 RAG 系统面临检索效率低下、信息相关性不足以及对新数据适应能力差等问题,严重限制了其应用范围。

针对这些挑战,港大黄超团队推出的 LightRAG 结合了图结构与双层检索机制,提供了有效解决方案

首先,图结构的引入使 LightRAG 能够精准捕捉实体间复杂依赖关系,提升信息理解的全面性。其次,双层检索策略同时处理具体与抽象查询,确保响应的相关性与丰富性。此外,LightRAG 具备快速适应新数据的能力,保证动态环境下的高效与准确。

通过这些创新,LightRAG 不仅显著降低了大模型检索增强的成本,还提升了信息检索的准确性和效率,能够提供更具上下文相关性的答案,展现出强大的应用潜力

论文地址:https://arxiv.org/abs/2410.05779
项目地址:https://github.com/HKUDS/LightRAG


RAG 的通用形式

Retrieval-Augmented Generation (RAG),即通过在私有数据库中检索相关内容,来增强针对特定查询的回答生成。RAG 系统通常包含以下三个主要工作过程

  • 建立私有数据库索引。该功能基于外部数据库的内容,构建一种特定的数据结构,以支持快速检索和高级内容总结。具体而言,建立索引的过程包括数据清洗、分词处理、向量化表示以及索引结构的优化设计。通过这些步骤,RAG系统能够高效地组织和存储大量数据,使后续的检索过程更加迅速和准确。此外,索引的设计还需考虑数据的可扩展性和更新频率,以保证系统在面对不断增长和变化的数据时,依然能够保持高效的检索能力。
  • 针对查询的快速检索。根据用户的外部查询,利用已建立的索引数据结构返回相关内容。这一过程通常涉及语义解析、关键词匹配和相似度计算等技术。系统首先将用户的查询转化为可处理的格式,然后通过检索算法在索引中快速定位相关信息。为了提升检索的准确性,RAG系统可能会结合多种检索方法,如基于关键词的精确匹配和基于语义的模糊匹配。此外,优化检索算法的计算效率也是关键,以确保在高并发的使用场景下,系统依然能够保持快速响应。
  • 基于检索内容的回答生成。由通用的生成模型(例如大语言模型)根据检索的信息和用户的查询生成高质量的回答。生成模块首先将检索到的相关内容与用户的查询进行融合,形成上下文丰富的输入。然后,生成模型利用其预训练的知识和上下文信息,生成连贯且准确的回答。为了提升回答的质量,系统可能会引入后处理步骤,如答案的验证、事实核查和风格调整。此外,通过反馈机制不断优化生成模型,使其能够更好地适应不同类型的查询需求,提供更加个性化和精准的回答。


LightRAG 的优势指标

在 RAG 系统中,生成模块的效果基于通用大语言模型的能力,而数据索引和检索对系统的效率和质量有着至关重要的影响。具体来说,LightRAG 关注以下几个关键指标

  • 信息检索的全面性。LightRAG 通过引入图结构,能够全面捕捉数据库中实体之间的复杂依赖关系。这种结构化的表示方法不仅提升了信息检索的覆盖范围,还确保了检索结果的多样性和相关性。全面的信息检索能够提供更加详尽和准确的背景知识,支持生成模块生成高质量的回答。
  • 检索算法的计算时间和成本。LightRAG 采用双层检索机制,优化了检索算法的计算效率,显著降低了计算时间和资源消耗。通过在低层次进行快速过滤和在高层次进行精细匹配,系统能够在短时间内返回高质量的检索结果,同时减少对计算资源的依赖。这种高效的检索策略不仅提升了系统的响应速度,还降低了整体运营成本,使 RAG 系统在大规模应用场景中更具可行性。
  • 面向新数据的迭代能力。LightRAG 具备快速适应新数据的能力,通过动态更新索引和优化模型,使系统能够及时反映数据库的最新变化。这一能力确保了 RAG 系统在面对不断增长和变化的数据时,依然能够保持高效和准确的检索与生成性能。通过自动化的数据更新和模型再训练机制,LightRAG 能够持续提升其信息处理能力,适应动态环境中的各种需求。


LightRAG 系统设计


针对数据索引和数据检索两个关键过程,LightRAG 分别设计了基于图的文本索引方法和双层的检索算法两个关键模块。

1.基于图的文本索引

LightRAG 采用了一种基于图的文本索引方法,整体工作过程主要包括实体和关系提取,以及生成键值对数据。前者能够构建信息块之间的相关性,能够增强检索结果的全面性,而后者的质量对快速的准确检索至关重要。这种基于图数据的索引方式,使得 LightRAG 具备快速适应增量知识库的能力。

在实体和关系提取阶段,LightRAG 首先将文档分割成更小、更易于管理的片段。这种文档分割与初步处理策略避免了对整个文档进行复杂分析,能够快速识别和获取相关信息。接着,利用大语言模型(LLM)对这些片段中的实体和关系进行识别与提取。例如,从句子“Cardiologists assess symptoms to identify potential heart issues.”中,可以提取出实体“Cardiologists”和“Heart Disease”,以及它们之间的关系“Cardiologists diagnose Heart Disease”。随后,通过去重优化图操作,识别并合并来自不同片段的相同实体和关系,最小化图的大小,有效减少了与图操作相关的开销,实现了更高效的数据处理。

在生成的图结构基础上,LightRAG 进一步生成节点和边的键值对数据。每个索引键是一个单词或短语,便于高效检索,对应的值是一个文本段落,总结了来自外部数据的相关片段,从而有助于文本生成。实体节点使用其名称作为唯一索引键,确保检索过程中的准确性和唯一性。而关系边则可能拥有多个索引键,这些键不仅来源于 LLM 的增强,还包括连接实体的全局主题,确保检索结果的多样性和相关性。这种结构化的键值对数据极大地提升了信息检索的效率和精确度,为后续的回答生成提供了坚实的数据支持。

上述方法具有多方面的优势。首先,基于图的文本索引能够从多跳子图中提取全局信息,极大地增强了 LightRAG 处理复杂查询的能力,特别是那些跨越多个文档块的查询。其次,图中派生的键-值数据结构针对快速和精确检索进行了优化,提供了一种优于传统嵌入匹配方法和低效块遍历技术的解决方案。此外,LightRAG 通过图结构的引入,实现了信息理解的全面性和检索性能的提升,使得系统在响应用户查询时能够提供更加相关和丰富的内容。综合来看,这些优势使 LightRAG 在信息检索和生成方面表现出色,显著提升了系统的整体效率和用户体验。

面对不断增长和变化的增量数据,LightRAG 采用了增量更新算法以快速适应新知识库。对于新文档,系统使用与之前相同的基于图的索引步骤进行处理,生成新文档的图结构索引。随后,LightRAG 通过合并新旧节点集和边集,将新的图数据与原有数据无缝结合。这种一致的方法确保了新信息的顺利集成而不破坏现有图结构,保证了历史数据的可访问性,同时丰富了图的内容,并避免了数据冲突或冗余。由于无需重建整个索引图,增量更新方法大幅减少了计算开销,促进了新数据的快速同化。因此,LightRAG 能够在保持系统准确性的同时,提供最新的信息,节约资源,确保用户能够及时获取更新内容,从而大幅提升了整体 RAG 系统的有效性。

2.双层检索算法

在 RAG 任务中,复杂、多种多样的用户查询主要可以分为两种类型:特定查询和抽象查询。特定查询以细节为导向,通常涉及图中的特定实体,要求对特定节点或边缘相关的信息进行精确检索。例如,“谁写了《傲慢与偏见》?”就是一个特定查询,它明确指向特定作品及其作者之间的实体关系。另一方面,抽象查询则更具概念性,涵盖更广泛的主题、总结或总体概念,与特定实体没有直接关联。例如,“人工智能如何影响现代教育?”这个问题涉及广泛的概念领域,不限于具体的实体,使得信息检索更加复杂和多层次。

为了有效应对这两种不同类型的查询,LightRAG 设计了专门的策略来处理特定查询。针对特定查询,LightRAG 采用低级别检索方法,聚焦于检索特定实体及其相关属性或关系。这种策略旨在从知识图中提取与查询精确匹配的信息。例如,在查询某一研究人员的具体研究成果时,低级别检索会精准定位该研究人员实体及其相关的研究成果关系,从而提供详细而准确的响应。这种方法确保了用户能够获得所需的具体信息,满足其细节化的查询需求。

对于抽象查询,LightRAG 则采用高级别检索方法,以处理更广泛的主题和总体概念。高级别检索策略通过整合多个相关实体和关系的信息,提供对高层次概念和总结的洞察,而不是局限于具体的细节。例如,在查询“人工智能在医疗领域的应用趋势”时,高级别检索会综合与人工智能和医疗相关的多个实体及其关系,提供关于应用趋势的全面概述。这种策略使得系统能够理解并回应复杂的概念性问题,提供具有深度和广度的答案,满足用户对总体信息的需求。

这种双层检索范式具有显著的优势。首先,通过结合特定查询和抽象查询的处理方式,LightRAG 能够灵活适应多样化的查询类型,既能满足用户对详细信息的需求,又能提供广泛主题的相关知识。其次,低级别检索和高级别检索策略的结合,确保了检索结果的精准性和覆盖面,从而提升了整体检索性能。此外,整合图数据和向量数据的检索方法,使得系统在高效检索的同时,也能感知实体之间的复杂关联性,进一步提高了信息检索的准确性和相关性。这些优势共同作用,使得 LightRAG 在提供全面且相关的回答方面表现出色,显著提升了用户体验。

在底层实现方面,LightRAG 的检索算法巧妙地结合了图数据和向量数据两种形式,以实现高效且关联性强的查询处理。具体而言,首先,系统对查询进行关键词提取,区分出局部查询关键词和全局查询关键词,以全面捕捉查询中的关键信息。然后,算法使用高效的向量数据库对这些关键词进行匹配,分别与候选实体和相关关系进行对照。为了进一步增强查询的高阶相关性,LightRAG 会收集检索到的图元素在局部子图中的相邻节点,这样不仅能快速定位相关信息,还能全面考虑知识图结构中的关联性。通过这种图数据与向量数据的结合,LightRAG 在保持检索高效性的同时,显著提升了对实体间复杂关系的感知能力,确保了检索结果的准确性和全面性。


实验

1.实验设置

评估所用数据集。为了全面测试模型的性能,他们从 UltraDomain 基准中精选了四个各具特色的语料库。首先,一个语料库聚焦于农业实践相关的主题,另一个则涵盖了计算机科学的多个领域。第三个语料库专门探讨企业法律事务,最后一个则汇集了多学科的文本资料。这些多样化的语料库确保了模型在不同领域中的应用效果能够得到充分验证。

RAG 问题生成方法。在每个语料库中,所有文本内容被用作背景材料,通过特定的方法生成测试问题。具体过程是,利用大型语言模型创建多个虚拟的 RAG 用户,并为每位用户设定多个任务。针对每个用户与其对应的任务,模型进一步生成需要深入理解整个语料库的相关问题。如此,每个语料库最终生成了一系列旨在评估模型应对各种问题能力的测试题目。

实现与评估细节。在实验过程中,他们采用 nano 向量数据库来管理向量化的数据,并在 LightRAG 系统中默认使用 GPT-4o-mini 作为语言模型的操作工具。所有语料库的文本块大小保持统一,部分系统参数则保持不变。评估方法基于大型语言模型的多维比较,主要考察系统在信息全面性、回答多样性、赋能能力以及整体表现等方面的表现。由于为 RAG 查询设定标准答案存在一定难度,他们使用 GPT-4o-mini 对基线系统和 LightRAG 的回答进行排序,并通过交替展示答案的方式确保评估的公平性,最终通过胜率来得出评测结果。

2.基线方法对比

他们在四个具有不同特性的评估数据集(Agriculture、CS、Legal、Mix)上,对 LightRAG 与多种基线模型的性能进行了对比分析。结果显示,LightRAG 在各项评估指标上均表现出色,特别是在全面性和多样性方面,其胜率远高于基线模型。例如,在 Agriculture 数据集中,LightRAG 的全面性和多样性胜率均超过了 65%,而 Naive RAG 的胜率不足 35%。类似的优势也体现在其他数据集上,说明了 LightRAG 的优越性能。


首先,基于图结构的 RAG 系统赋予了 LightRAG 在处理大规模语料和复杂查询时的强大能力。与传统方法相比,LightRAG 利用图结构更深入地捕捉了语料库中的复杂语义关系。这种能力使其在面对规模庞大的 Legal 数据集时,依然能够准确理解并解析查询内容,基线模型在该数据集上的胜率仅约为 20%,而 LightRAG 则表现出绝对的优势。这表明,图结构有助于模型更全面地理解知识,提高泛化性能和理解深度。

其次,LightRAG 采用的双层检索范式显著提升了回答的多样性。该范式从具体实体和宏观主题两个层面进行信息检索:一方面,它利用图结构精准定位与查询相关的实体信息;另一方面,通过向量表示捕获更广泛的主题知识。这样的结合使得 LightRAG 能够生成内容丰富、角度多样的回答,特别是在 Legal 数据集上,这一优势尤为明显。这种机制不仅满足了用户对多样化信息的需求,也提升了系统的回答质量。

总的来说,实验结果充分证明了 LightRAG 在不同领域和多维度评估中的优秀表现。其基于图结构的 RAG 系统和双层检索范式有效地提升了模型的性能,在处理复杂查询和大规模数据时展示出强大的竞争力。

3.消融实验

在这项研究中,他们对 LightRAG 的双层检索机制和语义图进行了消融实验,评估它们对模型性能的影响。实验分别测试了仅使用低级别检索、仅使用高级别检索,以及在检索过程中移除原始文本内容的情况。

实验结果显示:

  • 仅使用低级别检索时,模型性能显著下降。由于过分关注特定实体及其直接关联,模型无法获取更广泛的主题信息,在多个数据集和评估指标上表现不佳。例如,在 Agriculture 数据集上,全面性指标明显降低。
  • 仅使用高级别检索时,模型在获取广泛信息方面有所提升,但在细节处理上有所不足。虽然能够捕获更广泛的主题知识,但缺乏对具体实体细节的深入理解,导致在考察特定细节的指标上表现欠佳。
  • 移除原始文本内容后,模型性能未出现显著下降,某些数据集上甚至有所提升。这表明语义图在检索过程中能够有效提取和表示关键信息,即使没有原始文本的支持,模型仍然能够提供准确的检索结果。


结果分析:

  • 双层检索机制的必要性:双层检索结合了低级别和高级别的信息获取方式。低级别检索深入挖掘特定实体的详细信息,高级别检索则提供更广泛的主题背景。两者的结合确保了信息检索的深度和广度,满足了复杂查询对全面信息的需求。实验结果证明,单一层次的检索方式无法达到双层检索的平衡效果。
  • 语义图的有效性:语义图在缺少原始文本的情况下,依然能够维持模型的高性能,说明其在信息提取和表示方面具有强大的能力。通过构建信息之间的关系和上下文,语义图有效避免了原始文本中可能存在的噪音,提升了检索的准确性和效率。

总的来说,消融实验的结果证明了双层检索机制和语义图对于 LightRAG 模型的重要性。双层检索策略确保了信息获取的全面性和精细度,语义图的应用则增强了模型对关键信息的捕捉能力。这些组件的协同作用使 LightRAG 在处理复杂查询和大规模数据集时表现出强大的性能,进一步验证了其在信息检索任务中的优势。

4.样例学习

在一项关于机器学习问题的案例研究中,他们对 LightRAG 和 GraphRAG 的回答效果进行了比较,聚焦于“哪些方法可以对特征值进行归一化,以提升机器学习的效果?”这一具体问题。结果显示,LightRAG 在所有评估维度上都优于 GraphRAG。


首先,LightRAG 在全面性方面表现突出。它的回答不仅涵盖了标准化、最小-最大缩放等常见的归一化方法,还包括了如对数变换、正则化等更深入的技术细节。这得益于 LightRAG 的图索引范式,通过精确提取和关联相关的实体和关系,构建了丰富的知识图谱。这样的结构使模型能够全面获取与问题相关的各个方面,提供更完整和详尽的答案。

其次,在多样性和赋能性方面,LightRAG 同样表现优异。其回答不仅提供了多种归一化方法的介绍,还讨论了这些方法在不同场景下的适用性和优缺点。这主要归功于 LightRAG 的分层检索策略。通过低级别检索,模型深入挖掘具体技术的细节;而通过高级别检索,模型获取更广泛的背景知识和理论支持。两者的结合使得回答在广度和深度上都有所提升,帮助读者更好地理解和应用相关知识。

总的来说,LightRAG 在该案例中的出色表现体现了其模型设计的优势。通过图索引范式和分层检索策略的有效结合,LightRAG 能够全面、深入地回答复杂问题,为用户提供高质量、富有价值的内容。这一结果充分证明了其在信息检索和问答任务中的强大能力

5.模型成本分析

本研究对 LightRAG 与最佳基线模型 GraphRAG 的成本效益进行了比较,重点关注索引和检索过程中消耗的 token 数量、API 调用次数,以及在动态环境中处理数据变化的能力。实验以 Legal 数据集为例,深入评估了两者的性能差异。


在检索阶段,GraphRAG 需要生成大量社区,并逐一遍历进行检索,导致了高昂的 token 消耗和频繁的API调用,效率较低。相比之下,LightRAG 采用了高效的检索机制,通过整合图结构和向量表示,只需少量 token 即可完成关键词生成和检索,且整个过程仅需一次 API 调用,显著降低了资源消耗和调用频率。

在增量数据更新方面,GraphRAG 由于其社区结构的限制,在引入新数据时不得不拆除并重新生成整个社区结构,耗费大量 token 和时间,成本极高。而 LightRAG 凭借其增量更新算法,能够将新数据无缝整合到现有的图结构中,避免了重复构建的开销,大大提高了更新效率。

综合来看,LightRAG 在信息检索的效率和成本效益上均优于 GraphRAG。这主要归功于其先进的检索机制和高效的增量更新能力,使其在处理大规模数据和频繁数据更新的实际应用中,能够以更低的成本提供高效的服务。

因此,LightRAG 在实际应用场景中展现出更强的适用性,特别是在需要处理大量数据和动态更新的情况下,能够有效提升系统的性能和成本效益。

如需转载或投稿,请直接在公众号内留言


学术头条
致力于学术传播和科学普及,重点关注AI4Science/大模型等前沿科学进展。
 最新文章