MiniRAG:面向 1.5B 小模型的 RAG 框架
检索增强生成(Retrieval-Augmented Generation, RAG)技术彻底改变了大语言模型访问外部知识的方式,展现了从智能问答到文档合成等多个场景下的强大能力。然而,在当前的主流 RAG 架构中——从索引构建、知识检索到最终响应生成——主要依赖于大型语言模型(LLMs)。这种对 LLMs 的强依赖带来了巨大的计算开销和资源消耗,成为了在资源受限的场景(如边缘设备、隐私敏感应用和实时处理系统)中部署的主要障碍。
1. 小型 LLM 在 RAG 场景的问题与挑战
当前的 RAG 架构(例如 LightRAG,GraphRAG)充分利用了 LLMs 的复杂推理能力,无法适应小型语言模型(SLMs)在多个关键功能上的限制。这些限制主要包括:
- 复杂的查询解释:SLMs 难以将模糊的用户意图转化为精确的检索指令。
- 多步推理:在处理需要逻辑链条的任务时,SLMs 容易迷失方向。
- 查询与文档之间的语义匹配:SLMs 对长文本中的细微语义差别捕捉能力较弱。
- 细致的信息合成:在整合分散信息生成回答时,SLMs 容易出现幻觉或遗漏。
这种架构上的不匹配主要表现为两种方式:
- 性能严重下降:准确性显著降低,导致用户体验不可接受。
- 系统完全失效:某些高级 RAG 框架在从 LLMs 过渡到 SLMs 时完全无法运行,因为底层组件依赖了 SLM 不具备的高级能力。
但 SLMs 也有其特性,使得有可能在 SLMs 上有限运行 RAG:
- 模式匹配优势:尽管 SLMs 在深层语义理解方面表现不佳,但在模式匹配和局部文本处理方面表现出色。
- 显式结构补偿:显式的结构信息可以通过提供检索导航线索来弥补有限的语义能力。
- 任务分解:将复杂的 RAG 操作分解为更简单、定义明确的步骤可以在不需要高级推理能力的情况下保持系统鲁棒性。
为了解决以上问题,并且结合 SLMs 的特性,作者提出了 MiniRAG 框架。
2. MiniRAG 框架详解
MiniRAG 包括两大核心组件:异构图索引和轻量级图知识检索。该设计旨在通过结构化数据减轻模型负担。
2.1 使用 SLMs 进行异构图索引
在资源受限的 RAG 系统中,SLMs 面临两大挑战:难以从原始文本中提取和理解复杂的实体关系及上下文连接;难以有效总结大量文本并处理包含噪声和无关内容的检索信息。
SLM(如 Phi-3.5-mini)与 LLM(如 gpt-4o-mini)相比,表现出明显的局限性。虽然两者都能识别基础实体(如'HOUSE RULES'),但 SLM 的描述往往缺乏细节,未能捕捉到原始文本中的规则和目的。在回答阶段,SLMs 在广泛上下文中难以定位相关信息,常常被无关内容分散注意力。
为了突破这些局限性,MiniRAG 提出了一种数据索引机制,生成语义感知的异构图。该图结合了文本块和命名实体,创建语义网络,便于精确的信息检索。在异构图中,节点包括两种类型:
- 文本块节点:原始文本的连贯片段,保留上下文完整性。
- 实体节点:从文本块中提取的关键语义元素,如事件、地点、时间参考等。
这种双节点设计使数据块直接参与检索,确保识别出最相关的上下文内容,缓解 SLMs 总结能力有限带来的信息失真。
节点之间的连接边分为两种:
- 实体 - 实体连接:捕捉语义关系、层次结构及时间或空间依赖关系。
- 实体 - 块连接:连接命名实体与其提取的上下文,保留语义连贯性。
例如,在为一篇关于 2024 年巴黎奥运会旅行计划的文档建立索引时,模型会在场地位置、活动日程、交通选项和附近景点之间建立实体 - 实体连接,同时创建实体 - 块连接,将这些实体与相关文本段链接起来。通过语言模型生成的语义描述增强了知识图中的每条边。对于每条连接实体与其对应块的边,生成一个描述,作为该边的补充信息。该描述提供了实体的详细内容,并反映了实体与相关块之间的语义关系。
2.2 轻量级基于图的知识检索
在设备上的 RAG 系统中,设备计算能力和数据隐私的限制使得无法使用强大的模型,如大型语言模型和高级文本嵌入模型,因此需要依赖较小的替代方案。当前 RAG 在计算嵌入相似性时,依赖 LLMs 来全面理解文本语义。SLMs 往往难以捕捉长文本中的精确语义细微差别,使准确匹配变得复杂。
MiniRAG 提出了一种基于图的知识检索机制,有效利用了索引阶段构建的语义感知异构图,结合轻量级文本嵌入,实现了高效的知识检索。通过基于图的搜索设计,减轻了与大型语言模型进行精确语义匹配的负担,以低计算成本获取丰富且准确的文本内容,从而增强了语言模型生成精确响应的能力。
2.2.1 查询语义映射
在检索阶段,用户输入查询的主要目标是从索引数据中识别与查询相关的元素(如文本块),以帮助模型生成准确响应。识别的第一步需要解析查询并将其与索引数据对齐。
一些其他 RAG 方法利用 LLMs 扩展或分解查询为细粒度查询,从而增强查询与索引数据的匹配。但是,这一过程依赖 LLMs 从查询中提取高质量抽象信息,这对小型语言模型来说比较困难。因此,在 MiniRAG 的检索过程中,利用实体提取——这对小型语言模型来说是一个简单且有效的任务——来促进查询的分解和索引数据(即语义感知的异构图)的匹配。
对于给定的查询,从两阶段实体处理流程开始:
- 实体提取:首先,使用小型语言模型从查询中提取相关实体,并预测其潜在类型(如事件、地点、人物),这些类型可能直接贡献于查询答案。
- 语义评估:接着,利用轻量级句子嵌入模型评估构建的图中所有实体节点的语义相似性,检查各种文本语料库(如实体名称、块内容)以实现有效的节点检索和定位。
在语义感知的异构图中,通过智能查询引导机制构建推理路径。对于任何输入查询,模型通过联合考虑两个关键方面来识别相关文本块:
- (1)查询与实体节点的语义相关性
- (2)实体 - 实体和实体 - 块关系的结构一致性
系统化的相关推理路径发现过程包括以下步骤:
- 初始化实体识别:通过将查询实体与图节点匹配,定位高置信度的起点,为路径探索建立可靠入口。
- 答案感知的实体选择:利用预测的答案类型,从起始集中识别候选答案节点,实现类型引导的推理。
- 上下文丰富的路径形成:通过整合相关文本块,丰富推理路径,创建连接查询实体与潜在答案的全面证据链。
这个轻量级框架在保持高效率的同时确保了语义准确性,特别适合边缘计算场景。
2.2.2 拓扑增强的图检索
为了解决 SLMs 在知识检索中的局限性,提出了一种拓扑感知的检索方法,有效结合了异构知识图谱的语义和结构信息。传统方法依赖语义理解有限的 SLMs,容易在检索过程中引入噪声。
MiniRAG 通过两阶段过程克服了这些挑战,协同利用嵌入相似性和图谱拓扑结构:
- 首先通过语义匹配识别种子实体
- 然后利用异构图结构进行拓扑增强的推理路径发现
通过整合实体相关性分数、结构重要性指标和路径连接模式,MiniRAG 在保持计算效率的同时,显著提升了知识检索的精度,为生成任务提供了更准确和可解释的推理路径。
关键步骤包括:
- 关键关系识别:通过节点 - 边交互识别图内与查询相关的高质量实体 - 实体连接。
- 查询引导的路径发现:为了系统地发现知识图谱中的逻辑相关信息,识别并提取作为推理链的重要路径。
- 查询相关文本块的检索:基于索引结构,每个实体节点通过实体 - 块相互依赖关系与其源文本块连接。通过遍历这些连接,收集所有与推理路径中实体节点连接的块节点。
集成增强生成:通过拓扑增强图检索和多阶段过滤,获得了查询相关图谱知识的两个关键组件:
- 连接重要实体的基本关系,捕捉语义依赖和结构模式;
- 包含关键上下文信息的最佳文本块。
3. 效果评估与分析
3.1 性能分析
现有 RAG 系统在 SLM 下的性能下降明显。当前 RAG 系统在使用小型语言模型 (SLM) 时面临严峻挑战,暴露出其架构的根本性脆弱性。基于高级 LLM 的 RAG 方法性能大幅下降,LightRAG 的准确率从 56.90% 骤降至 35.42%,而 GraphRAG 因无法生成高质量内容而完全失效。尽管 NaiveRAG 等基础检索系统表现出一定韧性,但它们功能有限,缺乏高级推理能力。
现有高级系统对复杂语言能力的过度依赖导致在使用简单模型时出现根本性故障,这在资源受限的环境中构成了广泛采用的重要障碍。
相比之下,MiniRAG 性能非常稳定。MiniRAG 即使在简单语言模型下也能保持强劲性能,特别适合资源受限的环境,同时保留了 RAG 系统的核心功能。此外,MiniRAG 在保持高准确率的同时展示了卓越的存储效率。MiniRAG 在仅需 25% 的存储空间的情况下实现了优于 LightRAG 等基线的准确率。这种存储需求的显著减少,加上保持或提高的准确率,代表了高效 RAG 系统设计的重大进步。
3.2 消融分析
将 MiniRAG 与几种变体进行对比,这些变体分别进行了:
- 替换语义驱动的索引:用基于描述的索引方法替换了 MiniRAG 的异构图索引,该方法需要全面的语义理解以生成准确的实体/边缘描述,类似于 LightRAG 和 GraphRAG 中使用的方法。
- 移除边缘信息
- 移除块节点
作者发现,当用文本语义驱动索引技术替换 MiniRAG 的索引方法时,性能显著下降。验证了关于小型语言模型 (SLM) 及其固有局限性的初始假设——特别是它们在全面语义理解方面的限制,这影响了生成具有实体关系的复杂知识图以及创建相应的全面文本描述。
移除边缘信息或块节点都会显著影响系统性能。这些元素具有双重目的:通过查询引导推理路径发现促进有效的查询匹配,同时在数据索引阶段补偿 SLM 的固有局限性。
4. 实施建议与未来展望
在实际部署 MiniRAG 时,开发者需要注意以下几点:
- 模型选择:推荐使用经过微调的小型模型(如 Phi-3.5-mini)作为基础,以确保实体提取的质量。
- 嵌入模型:选择轻量级的句子嵌入模型,以平衡检索速度与精度。
- 图规模控制:随着数据量增加,图结构可能变得庞大,需定期清理冗余节点以保持检索效率。
未来,随着小型语言模型能力的进一步提升,MiniRAG 有望在更多端侧设备上实现本地化部署,无需联网即可处理复杂的知识问答任务,这将极大地提升数据隐私保护和响应速度。
5. 结论
MiniRAG 通过引入异构图索引和轻量级图检索机制,成功解决了小型语言模型在 RAG 场景中的适配问题。它不仅保持了较高的检索准确率,还显著降低了存储和计算成本。这一框架为资源受限环境下的 AI 应用开发提供了新的思路,证明了通过结构化知识表示可以有效弥补小模型在语义理解上的不足。