跳到主要内容

微调与 RAG:为什么检索在为 LLM 注入新知识方面胜出

· 阅读需 6 分钟
Mike Thrift
Mike Thrift
Marketing Manager

在设计 Beancount 智能体时,我一直在思考一个问题:当你的账本数据发生变化时,你应该根据新事实对模型进行微调,还是构建一个检索系统?Ovadia 等人的《微调还是检索?比较 LLM 中的知识注入》(Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs,EMNLP 2024,arXiv:2312.05934)给出了我所发现的最清晰的实证答案,它有力地反驳了关于微调的过度炒作。

论文解读

2026-05-20-fine-tuning-or-retrieval-knowledge-injection-llms

Oded Ovadia、Menachem Brief、Moshik Mishaeli 和 Oren Elisha 比较了更新 LLM 知识的两种方法:无监督持续预训练(模型阅读新文本并继续进行下一标记预测)和 RAG(模型在查询时接收检索到的段落)。他们在两个知识领域测试了三种 7B 参数模型 —— Llama2-7B、Mistral-7B 和 Orca2-7B:一个是涵盖解剖学、天文学、大学生物学和化学的 MMLU 子集(模型在预训练中可能见过的知识),以及一个包含 910 个多项选择题的自定义时事数据集,内容涉及 2023 年 8 月至 11 月的美国事件,这些事件显然超出了模型的训练截止日期。RAG 流水线在 FAISS 索引上使用 BGE-large-en 嵌入。微调在 4 个 A100 GPU 上对 256 个标记的维基百科分块运行无监督因果语言模型训练。

核心观点

  • RAG 在真正的新知识上占据主导地位:在时事任务中,仅凭 RAG 就获得了 0.875(Mistral)和 0.876(Orca)的得分,而基础模型的基准得分仅为 0.353–0.481。带改写的无监督微调仅达到 0.504–0.511 —— 对于超出训练截止日期的事实,RAG 实现的准确率提升是微调的两倍多。
  • 微调的上限是现有知识,而非新知识:即使是在模型预训练期间已经接触过的 MMLU 主题上,微调也仅带来了微弱的提升;在所有五个主题上,RAG 的表现依然优于微调。
  • 改写有所帮助,但收效缓慢:对每个训练分块使用 GPT-4 生成改写版本可以单调地提高微调结果 —— 10 个版本的效果一致优于 1 个版本 —— 作者认为这可能在一定程度上解决了“逆转诅咒”(Reversal Curse,Berglund et al., arXiv:2309.12288),即在“A 是 B”上训练的模型无法泛化到“B 是 A”。他们谨慎地指出这种联系值得进一步研究。
  • 灾难性遗忘是真实存在的代价:Llama2 在没有数据增强的情况下,在对时事进行微调后,之前学习过的任务的准确率出现了显著下降。RAG 则完全避开了这个问题。
  • 两者结合并不能可靠地提供帮助:微调 + RAG 在时事任务中的表现为 0.520–0.830,有时甚至低于单独使用 RAG。微调似乎干扰了模型利用检索上下文的能力。

哪些观点站得住脚,哪些站不住

核心发现是可信的。一个具有清晰时间截止点的 910 题数据集足以证明结果的方向:无监督微调并不是注入全新事实的良好手段。评估设计简洁,效应量巨大。

盲点同样存在。测试的三种模型均为 7B 参数 —— 我们不知道微调差距在尖端规模模型中是缩小还是扩大。更重要的是,微调方法严格采用无监督的下一标记预测。没有使用 LoRA,没有指令微调,也没有监督问答对。RAFT(Zhang et al., arXiv:2403.10131)及类似的监督领域自适应方法是更具竞争力的基准,但本文并未涉及。结论“微调输了”实际上是“无监督微调输了”,这是一个更窄的结论。

RAG 的实现也比较简单:基于 FAISS 和 BGE-large-en 的基础稠密检索,没有重排序(reranking)或查询扩展(query expansion)。附录中的说明承认,最佳 K 值随模型和任务的不同而大幅波动 —— 选择错误的检索段落数量会显著损害性能。在生产环境中,针对每个领域进行 K 值调整是一项不小的运营成本。

我不太认同的一个观点是:作者将“改写有助于微调”的发现解读为可能缓解了“逆转诅咒”,但他们的证据是间接的。改写次数带来的单调提升可能只是反映了标准数据增强的益处,而非对双向泛化能力的任何结构性修复。这种联系很有趣,但尚未得到证实。

为什么这对金融 AI 至关重要

这是 Bean Labs 议程中最具直接行动参考价值的论文之一。每当添加交易、规则更改或新会计年度开始时,Beancount 智能体都无法进行重新训练。本文强烈支持将账本视为检索语料库而非微调材料:微调带来的事实性收益微乎其微,灾难性遗忘的风险是真实存在的,而且重新训练的运营成本远超重新索引的成本。

改写的发现即便撇开微调不谈,也有其用武之地。如果一个特定领域的会计规则需要深度嵌入模型的行为中 —— 不仅仅是被检索到,而是被可靠地“遵循” —— 那么用多种形式(约束、校验检查、违规示例)来表达它,可能比单一的规范陈述更稳健。这正是会计教育的运作方式,也与 Constitutional AI 关于规则遵循研究中对规则覆盖范围的界定一致。

灾难性遗忘的结果是最清晰的实践警告:对账本数据进行无监督领域自适应可能会损害异常检测和查询回答所需的通用推理能力。检索以索引和检索器为代价避开了这一点 —— 这是一个值得的权衡。

延伸阅读

  • The Reversal Curse (Berglund et al., arXiv:2309.12288, ICLR 2024) —— Ovadia 等人引用的论文;解释了为什么 LLM 无法从训练数据中推导双向含义,并界定了微调在事实注入方面的根本限制。
  • RAFT: Adapting Language Model to Domain Specific RAG (Zhang et al., arXiv:2403.10131) —— 一种旨在与 RAG 协同工作而非取代它的监督微调配方;比本文测试的无监督方法更具竞争力的微调基准。
  • Fine Tuning vs. Retrieval Augmented Generation for Less Popular Knowledge (arXiv:2403.01432) —— 将比较扩展到长尾实体知识,RAG 在该领域再次占据主导地位,并提出了 Stimulus RAG 作为一种轻量级替代方案。