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 往往难以捕捉长文本中的精确语义细微差别,使准确匹配变得复杂。


