Skip to content

RAG vs 微调

RAG 与微调的选型动机:本质区别、四维判断、组合使用、检索质量是上限。

Updated View as Markdown
For humans

RAG vs 微调

面试最忌讳二选一思维。RAG 和微调解决的不是同一层的问题:RAG 不改模型参数,推理时把外部知识检索出来注入上下文,是开卷考试;微调用数据继续训练,把知识写进权重,是背书进脑子。

RAG 解决的是知识供给问题:模型不知道某份内部文档,就现场查给它看。微调解决的是行为固化问题:让模型稳定遵守某种输出格式、领域术语、回答风格。

四维判断

维度 偏向 RAG 偏向微调
知识更新频率 每天变(政策、价格、产品手册) 长期稳定(流程、风格)
溯源需求 必须给引用来源 知识在参数里,无法逐条溯源
成本结构 向量库加检索链路,无训练成本 GPU 训练、标注数据、版本管理
治理与权限 私有数据不进权重,权限隔离和审计容易 数据进了权重,删除和审计都难

两个高频误区:把 RAG 当万能补丁,知识库质量差时它只会把噪声塞进上下文;把微调用来记最新事实,频繁变化的数据写进权重,更新慢、难溯源、难删除。

检索质量是上限

RAG 有一个重要的直觉:生成层只是复述和整理检索到的内容,上限被检索层死死卡住。 没检索到的东西,LLM 变不出来。所以 RAG 系统调优的主战场永远是检索这一层,不是换更强的模型。很多人一上来就想换更贵的模型提升效果,方向反了。

组合使用:微调解决“怎么说”,RAG 解决“说什么”

生产环境最常见的做法是两者结合,各司其职:

  1. 先用微调(或 LoRA)让模型学会输出格式、语气风格、行业术语
  2. 再用 RAG 提供具体的知识内容
  3. 用评测集监控检索召回率、答案忠实度、引用准确率

微调默认选 LoRA:只训练少量低秩适配参数,成本低、版本管理方便、可为不同业务维护多套 adapter。全量微调只在能力改造很深时才考虑。无论哪种,微调都不能替代 RAG 的事实更新能力,且微调前必须准备旧任务回归集,防止新风格学会了、原有能力退化。

面试追问

  1. 本质区别? RAG 参数不动、知识在外部、推理时检索注入;微调改参数、知识进权重。前者开卷,后者背书
  2. 什么时候用 RAG? 知识频繁更新、需要可溯源、私有数据不能进权重。企业知识库问答、客服、合同问答都是典型场景
  3. 什么时候用微调? 固定任务能力强化、输出格式稳定控制、行业语言风格适配。工单分类、结构化抽取、客服话术
  4. 为什么不用微调记知识? 数据每周变,每次微调几小时到几天,成本扛不住;回答来自参数无法溯源,出错难定位
  5. 两者怎么组合? 微调约束“怎么说”(格式、风格、术语),RAG 提供“说什么”(事实)。典型架构:RAG 检索合同条款,微调后的模型学习如何引用条款、何时拒答
Navigation

Type to search…

↑↓ navigate↵ selectEsc close