跳转至

DRAG: Distilling RAG for SLMs from LLMs to Transfer Knowledge and Mitigate Hallucination

会议: ACL 2025
arXiv: 2506.01954
代码: https://github.com/VILA-Lab/DRAG
领域: 模型压缩
关键词: RAG蒸馏, 知识图谱, 小语言模型, 幻觉缓解, 证据提取

一句话总结

DRAG 提出了一种从大模型向小模型蒸馏 RAG 能力的框架:用大模型(如 GPT-4o)为给定问题生成证据和知识图谱三元组,经排序过滤后作为结构化上下文输入给小模型(2B-9B),无需微调即可将小模型在 ARC-C 上提升高达 27.7%,同时显著减少幻觉。

研究背景与动机

  1. 领域现状:RAG 通过检索外部知识增强 LLM 生成的事实准确性,已被广泛应用。但现有 RAG 系统主要为大模型设计,维护大规模知识库成本高昂,在资源受限环境下的小模型上难以部署。
  2. 现有痛点:(a) 小模型直接使用 RAG 效果不佳,因其理解和整合检索文档的能力有限;(b) 传统 RAG 的检索结果可能包含噪声和不相关信息,小模型更容易被干扰产生幻觉;(c) 现有蒸馏方法(如 LLMQuoter)需要微调,效率低下。
  3. 核心矛盾:小模型的上下文窗口和理解能力有限,无法直接处理大量检索文档,但又需要外部知识来减少幻觉。
  4. 本文要解决什么? 如何将大模型的 RAG 能力高效蒸馏给小模型,且无需微调。
  5. 切入角度:不让大模型直接给答案,而是让大模型生成结构化的"证据"和"知识图谱",作为小模型推理时的辅助上下文。大模型当"检索器和知识提取器",小模型当"推理器"。
  6. 核心idea一句话:用大模型生成并排序证据 + 构建知识图谱三元组,将蒸馏后的结构化知识注入小模型的提示中,实现免微调的 RAG 能力迁移。

方法详解

整体框架

四阶段管线:给定问题 q → (1) 大模型生成 N 条证据 → (2) 通过语义相似度 + LLM 排序筛选证据 → (3) 大模型从筛选后的证据中提取知识图谱三元组 (entity, entity, relation) → (4) 将排名靠前的证据和/或图谱三元组拼接到 prompt 中,输入小模型生成最终答案。

关键设计

  1. 证据生成 (Evidence Generation):
  2. 做什么:用大模型为每个问题生成 N 条文本证据
  3. 核心思路:设计 prompt 让 \(\mathcal{M}_{large}\) 生成 N 条与问题相关的事实片段 \(\mathcal{D} = \{d_1, ..., d_N\}\)。关键洞察是"训练良好的 LLM 是比传统检索器更强的知识源",因为它已内化了大量世界知识
  4. 设计动机:避免维护外部文档索引,利用大模型的内部知识作为"检索"来源,对小模型更友好

  5. 证据排序过滤 (RAG Evidence Ranking):

  6. 做什么:用双重评分机制筛选最相关的证据
  7. 核心思路:对每条证据计算综合分 \(s_i = \text{cos}(\mathbf{e}_i, \mathbf{q}) + \text{rank}_{LLM}(d_i)\),前者是 sentence-transformer 编码后的余弦相似度,后者是大模型给出的内在相关性排名。保留 top-K 证据
  8. 设计动机:单独的语义相似度可能不够,LLM 排序捕捉更深层的上下文相关性

  9. 知识图谱生成 (Graph RAG Generation):

  10. 做什么:将证据转化为结构化的实体关系三元组
  11. 核心思路:提示大模型从每条筛选后的证据中提取 \((a, b, r)\) 三元组,构建知识图谱 \(\mathcal{G} = (\mathcal{V}, \mathcal{E})\)。还引入了图聚合策略,将相同实体的配对合并成统一表示
  12. 设计动机:长证据文本对小模型计算负担大,图谱表示虽有信息损失但更精简高效,保留了关键的结构化关系

  13. 隐私保护机制:

  14. 做什么:本地小模型先改写查询去除隐私信息,再发送给云端大模型
  15. 核心思路:小模型改写问题(简单任务)→ 云端大模型生成证据和图谱 → 本地小模型利用结构化知识生成答案
  16. 设计动机:避免将用户原始隐私数据上传到云端

损失函数 / 训练策略

DRAG 是完全免微调的框架(training-free),仅通过 prompt engineering 将大模型蒸馏的知识注入小模型的推理过程中。

实验关键数据

主实验

Teacher: GPT-4o;Student: 多种 2B-9B 小模型;基准:MedMCQA, MMLU, ARC-C

模型 方法 MedMCQA Acc MMLU Acc ARC-C Acc
Llama-3.2-3B MiniRAG 52.7 69.1 65.3
Llama-3.2-3B DRAG 73.6 (+20.9) 74.4 (+5.3) 93.0 (+27.7)
Gemma-2-2B MiniRAG 48.5 57.3 68.6
Gemma-2-2B DRAG 72.4 (+23.9) 71.2 (+13.9) 91.5 (+22.9)
Phi-3.5-mini MiniRAG 61.1 72.7 82.7
Phi-3.5-mini DRAG 74.4 (+13.3) 77.8 (+5.1) 94.1 (+11.4)
Llama-3.1-8B SimRAG - 67.5 81.4
Llama-3.1-8B DRAG 74.2 75.7 (+8.2) 93.1 (+11.7)

消融实验

证据数量 K 对 Phi-3.5-mini 在 ARC-C 上的影响:

配置 K=5 K=10 K=15 K=20
Graph Only 91.69 92.76 93.48 93.30
Evidence Only 92.31 93.74 94.01 94.10
Graph + Evidence 92.40 93.12 93.74 93.74
原始模型 (无RAG) 78.55 - - -

Teacher 模型对比(Student: Qwen2.5-3B,ARC-C):

Teacher Acc
GPT-4o 93.03
Claude 3.5 Sonnet 91.60
DeepSeek V3 89.97
Llama 3.3 70B 87.23
Gemini 1.5 Flash 84.95

关键发现

  • ~15 条证据是最优平衡点:太少知识不足,太多引入噪声
  • 仅用证据优于图谱 + 证据组合:组合方案引入冗余,增加推理开销但无精度提升
  • 更强的大模型 ≠ 更好的蒸馏效果:GPT-4o 最佳,但 Gemini 1.5 Flash 最差,说明证据的结构化质量比模型能力更重要
  • 图谱虽有信息损失但足够有效:纯图谱模式在 ARC-C 上也能达到 93.48%,接近纯证据的 94.01%

亮点与洞察

  • 免微调的 RAG 蒸馏:不需要对小模型做任何训练,只通过 prompt 注入结构化知识即可大幅提升性能。这种思路可以迁移到任何需要小模型部署的场景
  • LLM 作为检索器:用大模型的内部知识代替传统外部检索器,避免了维护文档索引的成本。在小模型场景下,大模型生成的抽象、清洁的证据比原始检索文档更有效
  • 隐私保护框架的额外价值:本地改写查询 → 云端大模型生成知识 → 本地生成答案的模式,天然适合需要隐私保护的企业部署场景

局限性 / 可改进方向

  • 依赖大模型 API(如 GPT-4o),有成本和延迟问题,不适合实时应用
  • 证据质量完全取决于大模型的知识,如果大模型本身知识有误则会传播错误
  • 未与更先进的 RAG 方法(如 Active RAG with dynamic retrieval、GraphRAG 的 community-based approach)对比
  • 图谱聚合策略较简单,更复杂的图推理可能进一步提升效果
  • 零样本评估设置下的隐私保护基准较小,实际部署需更大规模验证

相关工作与启发

  • vs MiniRAG (Fan et al., 2025): MiniRAG 也针对小模型 RAG,但直接在小模型上做检索。DRAG 通过大模型蒸馏结构化知识给小模型,效果大幅领先(+27.7% on ARC-C)
  • vs SimRAG (Xu et al., 2024): SimRAG 基于 8B 模型自检索,DRAG 用大模型蒸馏后在相同 8B 模型上提升 11.7%
  • vs Self-RAG: Self-RAG 训练模型自我判断何时检索,DRAG 无需训练直接通过 prompt 蒸馏

评分

  • 新颖性: ⭐⭐⭐ 框架设计合理但各组件较标准(LLM 生成证据 + 排序 + 图谱提取),核心创新在于组合方式
  • 实验充分度: ⭐⭐⭐⭐ 多个基准、多种 teacher/student 组合、丰富的消融实验
  • 写作质量: ⭐⭐⭐⭐ 框架描述清晰,流程图直观
  • 价值: ⭐⭐⭐⭐ 免微调的 RAG 蒸馏在实际部署中有很强的实用性