深蓝黑背景封面。左侧是两阶段对比信息图:上方一张青色描边大卡片标注「预训练」,内写「数据:万亿 token 无标注语料」「目标:下一词预测,把世界压缩进参数」「知识注入:绝对主力——世界知识在此写入」,卡片旁附一条几乎填满的占比条表示知识写入占比高;下方一张紫色描边较小的卡片标注「微调 SFT」,内写「数据:数万条指令问答」「目标:学会回答格式与对话行为」「知识注入:少量——以对齐行为为主」,占比条只有一小段。两张卡片下方一条警示条写「微调期硬灌新知识 ⇒ 模型不会也装会,幻觉被放大」。右侧大标题两行「大模型的『知识』」「是预训练装的还是微调装的」,副标题「微调不是灌新知识的窗口」,小注「阶段分工搞错,幻觉治理就找错方向」。左上角标注「面试经典 · 大模型微调」,右上角圆角胶囊标注「Day 01 · 11-28」。 图 1:本文封面,两个阶段的任务、数据与知识写入量对比。

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料整理,与任何公司的当前招聘无关。「大模型的知识是预训练装的还是微调装的」看似二选一,真正考的是你能不能讲清两个阶段的训练目标与数据形态差在哪,以及由此推出的工程结论:想给模型灌新知识,该走哪条路。这个问题还直接连着幻觉治理——阶段分工搞错,后面所有优化都会找错方向。

一句话结论:知识主要在预训练阶段写入,微调教的是「怎么用」。

换个说法:预训练解决「知道什么」,微调解决「怎么表达」。一个基础模型其实「知道」很多东西,只是不会用对话的方式讲出来;SFT 做的主要工作,是把已经存在的知识调度成可用的回答形式。

预训练的目标函数是下一词预测:模型在海量无标注语料上反复预测下一个 token,为了把预测误差压下去,不得不把语料里的语言规律、事实关联、推理模式全部压缩进参数。2023 年发布的 LLaMA 技术报告给出的量级是数万亿 token 的公开语料——这个量级的文本覆盖了人类公开知识的相当大一部分,世界知识就在这个过程中被写进权重。监督微调(SFT)阶段的数据形态完全不同:通常只有几万到几十万条人工或机器构造的指令问答对,训练目标是让模型学会「像个助手一样回应」——听懂指令、按格式作答、知道什么该拒绝。数据量差了四到五个数量级,参数更新的幅度也小得多,它的产出是行为对齐,不是知识扩容。

为什么微调阶段硬灌新知识容易放大幻觉?

直觉上很多人会想:SFT 也是更新参数,往指令数据里塞新事实不就行了?2024 年发表的一项针对性研究(arXiv:2405.05904)用受控实验回答了这个问题,结论分两层。第一层:模型通过微调吸收新事实的效率很低——包含模型没学过的知识的样本,拟合速度显著慢于与已有知识一致的样本,说明预训练没打下的地基,微调很难补。第二层更关键:这些含新知识的样本一旦最终被学会,模型产生幻觉的倾向会随之线性上升。机制不难理解:SFT 的训练信号奖励的是「像专家一样流畅地给出答案」这个行为本身,而不是「答案是否有据」。当训练数据里反复出现模型其实不懂、却被要求肯定作答的例子,模型学到的元技能就是「不会也要说得像会」——这正是幻觉的行为模板。

想让模型掌握新知识,正确的入口在哪?

按知识形态分三条路。一是领域知识要进参数:用领域语料做继续预训练(continued pre-training),延续下一词预测的目标再跑一段,让新知识以预训练的方式写入,然后再接 SFT 做行为对齐——这是「预训练装知识、微调装规矩」的标准组合。二是时效性强、需要溯源的知识:根本不该进参数,走 RAG 把知识放在外部检索系统里,随查随用,还能给出出处。三是 SFT 的本职工作:定输出格式、语气风格、任务边界与安全策略,别让它背知识包袱。把这三条路分清,幻觉治理的方向就不会错:幻觉率高的系统,先查是不是把该走检索和继续预训练的知识硬塞给了指令微调。

深蓝黑背景概念图。顶部小字「概念图 · 知识注入时机」,主标题「知识主要在预训练写入,微调只教怎么回答」。上部是一条五节点流水线:原始语料(万亿 token)→ 预训练(青色高亮,下一词预测)→ 基础模型 → SFT 微调(紫色高亮,数万条指令)→ 助手模型,预训练节点下方标注「参数大幅更新:知识在此写入」,SFT 节点下方标注「参数小幅调整:对齐行为与格式」。中部左侧卡片「为什么微调灌新知识会放大幻觉」,列三步推导链:SFT 数据里出现模型没学过的事实;训练信号奖励像专家一样流畅作答;对不会的问题也生成通顺答案,幻觉率上升。中部右侧卡片「新知识的正确入口」,列三条:继续预训练用领域语料再跑预训练目标;RAG 把知识放在外部检索不进参数;SFT 只负责格式、语气与任务边界。底部总结条写「预训练装知识,微调装规矩;把新知识硬塞给微调,就是在训练模型一本正经地编」。 图 2:两阶段分工、幻觉放大机制与新知识的三条正确入口。

面试现场的答题结构。

先给结论「知识主要在预训练写入,微调负责对齐行为」,然后用数据形态支撑:万亿 token 无标注语料加下一词预测,对比数万条指令问答加行为模仿,量级差四五个数量级。接着回答追问「那微调完全不能注入知识吗」:能,但效率低且有代价——引用上述研究的两层结论,学得慢、学会之后幻觉倾向线性上升。最后落到工程建议收尾:领域知识走继续预训练,时效知识走 RAG,SFT 只管格式与边界。答到「微调的训练信号奖励的是作答行为而非事实依据」这一层,就把机制讲透了。你在做领域模型时是怎么组合继续预训练和微调的?有没有踩过「微调灌知识反噬幻觉」的坑?欢迎聊聊。