跳到正文
    Ertas
    Back to blog

    继续预训练、微调与 RAG:该选哪个

    继续预训练与微调有什么不同?本文解释什么是持续预训练、预训练和微调的区别、微调和训练是不是一回事,结合多项已发表的研究,说明领域知识究竟如何进入模型,以及什么时候检索(RAG)比训练更合适,并给出继续预训练、微调和检索三种方法各自适用情形的对照表。

    A pale astronomical impression in graphite and copper, with a soft amber penumbra on warm paper.A copper-engraved planetary limb with an amber atmosphere and a sweeping orbital band.

    继续预训练是用某一领域的原始文本继续训练一个已有模型,沿用它最初训练时"预测下一个词"的目标,让模型学会该领域的词汇和惯例。微调是用输入及期望输出的示例训练模型,让它学会一项任务、一种格式或一种行为。检索(RAG)则在回答时补充事实,完全不需要训练。基础模型读不懂您的领域时,用继续预训练;某项任务必须可靠完成时,用微调;会变化的事实,交给检索。

    本文讲解每种方法做什么、研究对"知识究竟如何进入模型"有哪些发现,以及在构建领域专用大语言模型时三者如何组合。

    什么是持续预训练?

    持续预训练,通常称为继续预训练(continued pretraining),是拿一个已经预训练好的模型,继续用新的无标注文本训练它,目标仍是预测下一个 token。Sebastian Raschka 关于预训练与微调的说明(2026 年 10 月 29 日查阅)指出,在法律、医学或代码等原始数据上进行的这种训练,"is often called continued pretraining or domain-adaptive pretraining"(常被称为继续预训练或领域自适应预训练)。

    它有两种常见用途。第一种是领域适配:根据 SaulLM-7B 的论文,它在一个已有开放模型的基础上,用超过 300 亿 token 的英文法律语料继续训练。第二种是让模型保持更新:Jindal 等人在其 2024 年的研究开篇就指出,面向公众的大语言模型需要持续预训练,才能跟上最新的数据。

    什么是预训练和微调?

    预训练是用规模极大、来源多样的语料打造一个通用基础模型;微调是把这个预训练好的模型调整到更具体的用途上。Raschka 把微调称为"把预训练模型调整到更窄用途"的统称,指令微调是其中的一种。继续预训练介于两者之间:它和微调一样从预训练模型出发,同时保留预训练的目标。

    预训练继续预训练微调
    起点随机初始值一个预训练模型一个预训练模型
    数据广泛的网页文本、书籍、代码某一领域的原始文本示例输入及目标输出
    目标预测下一个 token预测下一个 token生成目标输出
    学到什么语言和通用知识领域词汇和惯例一项任务、格式或行为
    相对规模最大较大,常达数十亿 token最小,常为数千个示例

    数据这一列是实践中的关键区别。继续预训练需要大量领域原始文本,微调需要该工作的标注示例。

    微调和训练是一回事吗?

    微调是训练的一种。训练涵盖所有更新模型参数的阶段:预训练、继续预训练、微调和偏好训练。区分这些阶段的主要是目的,而规模是次要的。用 Raschka 的话说:"What matters is whether the process is creating a broad base model or adapting an existing checkpoint toward a target distribution or behavior."(关键在于,这个过程是在打造一个广泛的基础模型,还是把已有模型调整到某个目标分布或行为上。)

    日常所说的"训练一个定制模型",通常指对已有开放模型做微调,因为在大型实验室之外,从零预训练很少见。

    领域知识如何进入模型?

    领域知识最可靠的进入方式,是预训练式的大量接触,或者检索;微调主要教模型如何使用它已经掌握的知识。以下三项研究(均于 2026 年 10 月 29 日在原始出处查阅)支持这一划分。

    微调很难教会新事实。 Gekhman 等人在"Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?"(2024)中发现,大语言模型很难通过微调获得新的事实知识;而这些新事实一旦学会,模型产生幻觉的倾向会线性上升。作者的结论是:模型的事实知识主要来自预训练,微调则教它更高效地使用这些知识。

    在注入知识方面,检索胜过无监督微调。 Ovadia 等人在"Fine-Tuning or Retrieval?"(2023)中,在多项知识密集型任务上比较了两种方法,发现无论是训练中见过的知识还是全新的知识,RAG 都稳定地胜出。他们还发现,训练时让模型接触同一事实的多种表述,可以缓解这个问题。

    继续预训练能增加知识,但可能削弱指令遵循能力。 Cheng 等人在"Adapting Large Language Models to Domains via Reading Comprehension"(2023)中发现,用领域原始文本训练能让模型获得领域知识,但会严重削弱它根据提示词回答问题的能力。把原始文本改写成阅读理解练习后,生物医学、金融和法律三个领域的结果都有提升。

    综合起来,可以得到一条实用规则:事实交给检索;如果领域知识稳定且量大,也可以交给继续预训练。行为、格式和任务能力交给微调。这是我们每个项目都遵循的划分。

    什么时候适合继续预训练?

    当基础模型读不懂您的领域,而您又有大量该领域的原始文本时,适合继续预训练。需要它的迹象包括:

    • 模型会切错、混淆或误用该领域的术语、代码或符号。
    • 您有大量领域文档存档,但标注示例很少。
    • 该领域的许多不同任务将使用同一个模型。

    它有两个风险。模型可能失去部分通用能力和指令遵循能力,也就是 Cheng 等人测到的效应;而更广泛的微调中的灾难性遗忘问题,适用于任何进一步的训练。已发表的项目有三种应对方法:在领域语料中混入通用文本(根据 BloombergGPT 的论文,它在 3,630 亿 token 金融数据之外,还用了 3,450 亿 token 通用数据);把领域文本改写成练习形式;在领域阶段之后再做指令微调,SaulLM-7B 就是这样做的。

    什么时候适合微调?

    当一项任务大量重复、输出可以核验,而且每次提示词里都带着同样冗长的指令时,适合微调。这是让模型在一项工作上做到可靠的最直接方式。

    我们的 QMSum 研究(arXiv 2609.25028)测量了任务层面训练的价值。固定一个基础模型,给它更好的输入,也就是用检索出的会议记录片段代替记录开头的文字,测试集上的 ROUGE-1 提高了 1.55。再用同样形式的片段输入训练它,ROUGE-1 又提高了 5.29,95% 置信区间为 +4.02 到 +6.56。一个第三方发布的专用模型在不重新训练的情况下换成新的输入形式,ROUGE-1 下降了 6.30,用新形式训练之后,损失又补了回来。对任何项目来说,教训都是:用模型在生产环境中会看到的输入来训练它。

    微调还会从两个方面改变成本:每 token 价格低于大型前沿模型;每项任务所用的 token 更少,因为每次提示词里重复的指令和上下文已经训练进模型本身。单一任务成本计算器(英文)可以用您自己的提示词长度算出这两项。

    什么时候适合检索?

    当事实会变化、回答需要引用来源,或者每个请求都依赖某位客户或某个用户的记录时,适合检索。它不需要训练,更新索引就能更新答案。

    检索和训练也可以组合。在上文的 QMSum 研究中,用检索输入训练过的模型,比读取同样输入但未经训练的同一个模型高出 5.29 ROUGE-1。检索决定模型读什么,训练教模型怎么用。更全面的比较请见微调与 RAG。

    您需要的是方法
    模型能正确理解您领域的词汇继续预训练
    可靠完成一项重复任务微调
    稳定的格式或语气微调
    会变化或需要引用的事实检索
    每位客户或用户的记录检索
    一个专业领域内的多种任务继续预训练,再微调

    大多数生产系统至少会用到这张表中的两行。

    Ertas 是一家应用型 AI 实验室,自适应模型端点是这些工作投入生产的地方:一个用您的任务训练的模型,通过兼容 OpenAI 的 API 提供服务,会变化的事实由检索提供。新版本在后台用您的智能体流量训练,按您的评估集打分,只有经您批准才会上线。如果新版本没有达标,当前模型继续提供服务。它可以由 Ertas 托管,也可以部署在您自己的云上或本地。该端点目前仅限受邀企业使用,我们正在开发一个更简化的版本,让更多企业可以接入。

    常见问题

    微调被证伪了吗?

    没有。OpenAI 和 Mistral 正在逐步停止自家模型的微调,这是关于托管什么的决策;而用任务数据训练开放模型,依然能带来可测量的提升。我们的文章微调已死?梳理了这些停用安排和相关证据。

    继续预训练和领域自适应预训练是一回事吗?

    领域自适应预训练就是在某一领域文本上做的继续预训练。这个术语出自 Gururangan 等人的"Don't Stop Pretraining"(2020),该文还定义了用任务本身无标注数据进行的任务自适应预训练。

    微调能教会模型新事实吗?

    能,但很慢,而且有代价。Gekhman 等人(2024)发现,模型学习新事实比学习熟悉的事实慢,学会之后产生幻觉的倾向还会上升。会变化的事实请交给检索,微调用于行为、格式和任务能力。

    继续预训练会导致灾难性遗忘吗?

    可能会。在范围很窄的文本上继续训练,会削弱通用能力和指令遵循能力。在语料中混入通用文本、把领域文本改写成练习形式、之后再做一次指令微调,都能减轻这种影响;再用留出的通用任务做一次评估,就能看出损失了多少。

    RAG 比微调更好吗?

    在注入事实方面,Ovadia 等人 2023 年的比较中检索表现更好。对于重复任务、稳定格式或更低的单任务成本,微调更好。两者一起用效果最好:让模型在它将要读取的检索输入上训练。

    继续预训练和持续学习有什么不同?

    继续预训练是在新文本上进行的一个训练阶段。持续学习是一种长期做法:随着新数据到来不断训练新的模型版本,同时保留早期版本学到的东西。我们关于AI 智能体持续学习的文章从模型层讲解了这一点。

    简短版

    继续预训练用原始文本教模型掌握一个领域的语言;微调用示例教模型做一项工作;检索在回答时把事实交给模型。会变化的事实交给检索,重复的工作交给微调;当基础模型读不懂您的领域、而且许多任务要共用一个模型时,继续预训练才值得投入。无论选择哪种方法,都请在它接入流量之前用您自己的领域做评估。


    资料来源,均于 2026 年 10 月 29 日查阅:Sebastian Raschka,"Pretraining vs. finetuning vs. instruction finetuning";Gururangan 等,"Don't Stop Pretraining"(2020);Wu 等,"BloombergGPT"(2023);Cheng 等,"Adapting Large Language Models to Domains via Reading Comprehension"(2023);Ovadia 等,"Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs"(2023);Colombo 等,"SaulLM-7B"(2024);Gekhman 等,"Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?"(2024);Jindal 等,"Balancing Continuous Pre-Training and Instruction Fine-Tuning"(2024)。我们的研究:QMSum 研究。