LightRAG 论文解读

713 阅读2分钟

原论文地址:arxiv.org/pdf/2410.05…

数学建模

存在RAG模型M, 认为M由 retriever R,和generator G组成

M=(G,R=(φ,ψ)),M(q;D)=G(q,ψ(q;D^)),D^=φ(D)M = (G,R=(\varphi,\psi)), M(q;D) = G(q,\psi(q;\hat{D})),\hat{D}=\varphi(D)

很好理解,D为文档库,函数φ\varphi 将这一文档库精炼为D^\hat{D}, 之后检索函数ψ\psi将在这一文档库中检索和问题q 相关的文档,最后输入到生成器G得到结果,可以注意到的是,与传统RAG流程相比,这里加入了函数φ\varphi 对文档库做了预处理。

实际上,此算法具备以下特点:

  • 综合信息检索: φ\varphi实际上是一个索引函数,处理过的文档就包含了全域信息,可以实现更大范围的综合性的回答,类似GraphRAG的聚类。
  • 高效/低耗检索: D^\hat{D} 需要实现高效的检索,并且可以处理长查询。
  • 快速适应数据变更: 能够快速整合新加入的信息,这也是GraphRAG的缺点。

算法框架

image.png

基于图的文字索引

如果把文档切割为更小粒度的片段,则检索相似信息的时候就不需要分析整个文档。之后,利用LLM识别片段中的实体和关系,用来创建一个知识图谱,这个知识图谱展示了全局的实体和关系。

D^=(V^,E^)=DedupeProf(V,E),V,E=DiDRecog(Di)\hat{\mathcal{D}} = (\hat{\mathcal{V}},\hat{\mathcal{E}}) = \text{Dedupe}\circ\text{Prof}(\mathcal{V}, \mathcal{E}),\mathcal{V}, \mathcal{E} = \cup_{\mathcal{D}_i\in\mathcal{D}} \text{Recog}(\mathcal{D}_i)

方法很清晰

  1. 首先通过实体识别方法遍历文档库D\mathcal{D} ,得到关系和实体的集合 V,E\mathcal{V},\mathcal{E}
  2. 采用 LLM 赋能的分析函数 P(·),为 V 中的每个实体节点和 E 中的关系边生成文本键值对 (K, V)。每个索引键都是一个单词或短语,可以实现高效检索,而相应的值使用大模型,总结段落得到一个精炼的文本。实体使用其名称作为唯一的索引键,而关系可能有多个索引键,这些索引键源自 LLM 增强功能,其中包括来自连接实体的全局主题。
  3. 去重。去除重复的KV用于缩小知识图谱的规模。

优势:

  1. 采用了知识图谱可以生成子图用于多跳推理。
  2. 图中派生的KV结构经过优化,可以实现快速/精准的匹配。
  3. 增量更新更快:如果增加一个新文档,只需要重复前面的步骤,得到一个新图V\mathcal{V'} 集成到原图中,而不需要对全部文档做全量更新。

二级检索范式

查询分为两种类型:

  • 指定查询: 查询语句中包含具体的实例,比如“谁写了《傲慢和偏见》?”
  • 摘要查询: 查询某种概念,比如:“AI是如何影响教育的”?

因此,可以将检索分为两个层级

  1. low-level retrieval 此级别主要侧重于检索特定实体及其相关属性或关系。此级别的查询注重细节,旨在提取有关图中特定节点或边的精确信息。
  2. high-level retrieval 这一层级涉及更广泛的主题和总体主题。此层级的查询会汇总多个相关实体和关系的信息,从而深入了解更高层级的概念和摘要,而不是具体的细节。

图和向量的集成检索

如果将图结构和向量集成,模型会得到更深层的对实体的理解,这种方法可以更有效地利用局部和全局关键词,提高结果和检索内容的相关性。

  • 关键词检出: 给定查询语句qq,检出局部关键词k(l)k^{(l)} 和全局关键词k(g)k^{(g)}
  • 关键词匹配: 使用向量数据库,得到和局部关键词匹配的实体,以及和全局关键词匹配的关系
  • 高阶检索增强: 在得到子图后,同时扩取向外一跳的邻节点

复杂度分析

基于图的文字索引: 需要调用total tokenschunksize\frac{total \ tokens}{chunk size}次LLM

检索:因为使用知识图谱检索,所以复杂度取决于图谱的规模,而不是corpus

评估

评估阶段需要解决问题:

  • Q1. light RAG和现存RAG系统的生成性能差距
  • Q2. 二级检索范式和集成检索对系统产生了多少影响
  • Q3. light RAG在哪些特定的下游任务表现更好
  • Q4. light RAG的成本如何,以及可扩展性怎么样

实验部分

BASELINE

从UltraDomain benchmark中选择4个数据集, 此benchmark是从428本大学教材中选择的18个领域的知识,包括农业,社会科学和人文科学。作者选择了农业,法学,计算机科学和混合数据集。每个数据集大小在50w和60w token之间

image.png

对标方法

  • 原生RAG
  • RQ-RAG
  • HyDE
  • GraphRAG

TASK

指引LLM生成5个角色,每个角色生成5个任务,每个任务生成5个QA对,具体来说,每个角色具备不同的人设用于提问需要理解整个文档才能回答的问题。总共125个问题。

实验细节

使用nano vector database作为向量存储,GPT-4o-mini作为所有light rag活动的backbone, chunk-size 1200, gleaning parameter 为1(注:gleaning parameter为graph rag提出的参数,在使用llm作实体识别的时候反复提问,得到遗漏的选项,即‘拾穗’)

使用gpt-4o-mini作为裁判,从对文章的理解程度/答案的丰富程度/答案的置信度/总体进行打分。

image.png

  • RQ1 胜率对比说明light RAG优于现有方法,达到sota image.png

  • RQ2 消融实验

image.png

-High 指去除 high-level retrieval -Low 指去除 low-level retrieval -Origin 指在检索阶段不使用原输入x,只使用x中的实体

  • RQ3

image.png 展示了Light RAG在各项任务都领先Graph RAG

  • RQ4

image.png 展示了Light RAG在构建和检索阶段消耗token远小于Graph RAG