Ch11 模型微调
RAFT(深挖)
一句话理解
RAFT(Retrieval Augmented Fine-Tuning,检索增强微调)是 2024 年提出的微调策略:在微调阶段就把检索文档混入训练数据,让模型学会”查阅资料再回答”,而不是像传统 RAG 那样只在推理时做检索。RAFT 训练出的模型在推理时配合检索,效果优于纯 RAG 和纯微调。
背景:RAG 和微调的各自局限
RAG 的问题:检索到的文档不总是相关的。如果检索返回了无关文档,模型可能被误导,生成错误答案。传统 RAG 的模型本身没有经过”如何利用检索结果”的训练。
纯微调的问题:模型只记住了训练数据中的知识,无法利用外部知识库。遇到训练数据中没有的信息,只能”编造”。
RAFT 的洞察:如果能训练模型学会”先看资料,再回答”,并且教会它”忽略无关资料,只信相关资料”,那么模型在推理时配合 RAG 检索,效果会大幅提升。
核心机制:训练数据中混入检索文档
RAFT 的关键创新在于训练数据的构造方式。对于每个训练样本(问题 + 答案),RAFT 构造如下:
训练 Prompt:
<问题文本>
相关文档:
<从知识库中检索到的 1-2 篇相关文档>
无关文档:
<随机选取的 1-2 篇无关文档(干扰项)>
请根据相关文档回答上述问题。
关键设计:
- 每个训练样本中都混入了”distractor documents”(干扰文档/无关文档)
- 模型必须学会区分相关文档和无关文档
- 模型的答案必须基于相关文档,忽略无关文档
- 对于无法通过文档回答的问题,模型学会说”不知道”而不是编造
RAFT 训练流程
┌─────────────────────────────────────────────────────┐
│ RAFT 训练流程 │
├─────────────────────────────────────────────────────┤
│ 1. 准备知识库和 QA 数据集 │
│ ↓ │
│ 2. 对每个 QA 对,用检索器检索 top-k 文档 │
│ ↓ │
│ 3. 取前 1-2 篇作为"相关文档" │
│ ↓ │
│ 4. 随机抽取 1-2 篇不相关文档作为"干扰文档" │
│ ↓ │
│ 5. 拼装训练 Prompt: P + D+ + D- → 答案 │
│ ↓ │
│ 6. 用标准监督微调(SFT)训练模型 │
│ ↓ │
│ 7. 推理时:标准 RAG 流程(检索 → 拼入 Prompt → 生成) │
└─────────────────────────────────────────────────────┘
RAFT vs RAG vs 纯微调 对比
| 维度 | 纯 RAG | 纯微调 (SFT) | RAFT |
|---|---|---|---|
| 训练阶段 | 不训练模型 | 用 QA 数据微调 | 用 QA + 检索文档 + 干扰文档微调 |
| 推理阶段 | 检索 + 生成 | 直接生成 | 检索 + 生成 |
| 外部知识 | 依赖检索质量 | 不使用外部知识 | 依赖检索且模型会区分文档质量 |
| 对无关文档的鲁棒性 | 差(容易被误导) | 不存在此问题 | 强(训练中特意加入了干扰) |
| 知识更新 | 更新知识库即可 | 需重新微调 | 更新知识库即可 |
| 幻觉控制 | 中等 | 差(容易编造) | 好(学会说”不知道”) |
| 训练成本 | 无 | 中等 | 中等(略高于纯微调) |
| 适用场景 | 知识库频繁更新 | 封闭域知识问答 | 开放域 + 需要精确引用 |
| 2026 年定位 | 基础方案 | 基础方案 | 进阶方案 |
技术细节
干扰文档的策略
干扰文档的数量和比例是关键超参。RAFT 论文建议:
- 干扰文档比例:30%-50% 的训练样本中包含干扰文档
- 干扰文档数量:1-2 篇
- 干扰文档的选择:从训练集中随机抽取,确保与问题无关
如果干扰文档太少,模型学不会”忽略无关信息”;如果太多,模型可能变得过于保守,连相关文档也不信任。
Chain-of-Thought 推理
RAFT 论文还建议在训练时让模型输出 Chain-of-Thought(思维链)推理过程:
输入: 问题 + 相关文档 + 干扰文档
输出:
Step 1: 分析哪些文档与问题相关
Step 2: 从相关文档中提取关键信息
Step 3: 基于关键信息生成答案
这样训练出的模型在推理时更透明,可以追溯答案的来源。
2026 年定位
- 企业知识库问答:RAFT 适合需要精确引用来源的场景(法律、医疗、金融)
- 与 Agent 结合:Agent 在调用工具时,可以用 RAFT 训练过的模型判断返回结果是否相关
- 长上下文时代的演化:随着上下文窗口增长(1M+ tokens),RAFT 可以塞入更多检索文档,让模型在更大范围内做”查阅-回答”
- 与 GRPO 结合:2025-2026 年的新趋势是用 GRPO 替代 RAFT 的 SFT 阶段,在可验证的 QA 任务上进一步优化
相关笔记
- 第11章 · 模型微调 — 微调基础
- 第13章 · RAG 进化树 — RAG 基础
- 深挖-RAG — RAG 深入
- 模型训练管线 — 训练管线全景
来源
- Zhang et al., “RAFT: Adapting Language Model to Domain Specific RAG” (2024), https://arxiv.org/abs/2403.10131
- UC Berkeley, “RAFT: Retrieval Augmented Fine-Tuning” Blog, https://gorilla.cs.berkeley.edu/blogs/raft.html
关联4
知识图谱局部图谱 · 点节点跳转