技术博客

领域适配的 continue pretrain 配比:混入通用数据防止遗忘

第 114 / 147 篇 · 2026-06-11 · ai · 领域适配继续预训练灾难性遗忘

基座模型训好之后,垂直场景的标准路径是 continue pretrain(CPT):在法律文书、医疗记录、金融报告这类领域语料上继续跑预训练目标,再做指令微调。这一步的成本只有基座训练的零头,收益却决定模型在领域任务上的上限。而 CPT 里最影响结果的超参数不是学习率也不是步数,是领域数据与通用数据的混合比例——这个数定错了,要么领域能力上不去,要么通用能力塌下来。这篇文章推导配比的损失结构,盘点实证规律,给出起点建议和验收方法。

配比的损失分解:遗忘从哪里来

把 CPT 理解为在两个分布上联合训练:领域分布 $P_d$ 和通用分布 $P_g$。配比 $w$ 表示领域数据占比,损失是

$$ \mathcal L(\theta) = w \, \mathbb E_{x \sim P_d}[-\log p_\theta(x)] + (1-w)\,\mathbb E_{x \sim P_g}[-\log p_\theta(x)]. $$

梯度下降在每步对两个目标同时做一次加权移动。领域能力随 $w$ 单调上升(这个数据项就是 CPT 的存在理由),通用能力随 $w$ 的变化是非单调的:$w$ 从 0 增加时通用损失先不动(更新量太小),到中高区间开始退化,接近 1 时灾难性遗忘。实践里的关键观察是遗忘曲线的形状和领域与通用的分布距离强相关——金融新闻做 CPT,GSM8K 掉一两个点;换成病理报告做 CPT,同样的配比下通用对话能力可能掉两位数。原因是梯度层面的干扰:两个分布的梯度在参数空间里相关性越低,联合更新对各自目标的拉扯越大,而医学术语、法律句式与通用文本的梯度相关性显著低于金融新闻。

CPT 配比 w 的两条能力曲线:领域涨、通用塌,窗口在中间 领域数据占比 w 能力 领域能力(单调上升) 通用能力(先平后塌) 可操作窗口 窗口位置由分布距离决定:距离近的领域窗口右移(可 80%+),距离远的左移(20%–40%)

实证锚点

领域适配的经典证据是 Don't Stop Pretraining 研究(Howard & Ruder, 2018):在 4 个领域的分类/抽取任务上,领域 DAPT 后接任务 FT 全面超过直接 FT,领域越专门增益越大。它确立了两阶段范式(DAPT → FT),但没有系统扫配比——当时的主流做法是纯领域 CPT。

配比扫描的系统性结果出现在 LLM 时代。医疗方向的公开消融(如 PMC-LLaMA 与后续工作)显示:纯医疗 CPT 让通用对话和推理评测掉 5–15 个点,混入 10%–20% 通用数据后领域收益保留九成、通用回退收敛到 1–3 个点。BloombergGPT 走的是另一个极端——金融占比约 50% 的从头预训练,用全量通用数据对冲遗忘,代价是总 token 预算翻倍,只有算力充足的团队玩得起。对于 CPT 场景(预算远小于基座训练),经验起点是:

领域与通用分布距离近的(新闻、百科、电商评论这类):$w$ 从 0.8 起扫,通用只留 20% 保底。 距离远的(病理报告、法律判例、底层代码文档):$w$ 从 0.3–0.5 起扫,通用比例必须拉高。 多领域混合 CPT(法律+金融+医疗一起做):每个领域单独设 $w_d$,通用部分占 30%–40% 压舱,比整体一个 $w$ 更稳。

学习率要与配比联动:配比里通用数据越少,CPT 学习率越低(经验上取基座末期 LR 的 0.1–0.3 倍)。因为低配比下领域数据的实际更新次数等效于高配比 + 高 LR,而后者的遗忘更陡——控制的是领域方向的累计梯度量,这是遗忘的真正驱动量。

防遗忘的机制对比:混合配比 vs 其他路线

混合配比不是防遗忘的唯一手段,选择前要知道备选。回放缓冲区(replay):通用数据不混入训练流,而是在评测指标退化时做小剂量回放——实现上更省事,但回放时机靠人盯指标,自动化程度低。正则化路线(KL 约束或 EWC 式 Fisher 惩罚):在 CPT 损失上加 $\lambda\, D_{\mathrm{KL}}(p_{\text{base}} \| p_\theta)$ 类项,把参数钉在基座附近。理论上干净,实践中 $\lambda$ 与领域学习速度强耦合,调参成本不低于配比扫描,且 EWC 的 Fisher 矩阵在 LLM 规模下存储不现实,实际用的都是 KL 近似,约束强度远弱于理论版。参数隔离(只训部分层 + LoRA):把 CPT 限制在低秩适配器或后几层,冻结主体。遗忘最轻,但领域学习的容量上限也最低——深度法律推理需要的词表内化和领域句式的层级编码,靠 LoRA 容量的通常不够。各路线不是互斥:混合配比打底 + 轻度 KL 正则 + 最后按评测决定是否回放,是工程上最稳的组合。

验收:什么时候算 CPT 成功

配比调对的验收标准比"领域 loss 更低"严格。我会固定看四组指标:领域任务集( target benchmark 涨,这是 CPT 的目的);通用能力集(MMLU 子集 + GSM8K + 一段对话样本人工看,回退 ≤ 3 个点可接受);格式指令集(IFEval 或等价物,防 CPT 数据把指令遵循训坏);基座记忆抽检(随机抽 200 条基座答得好的通用问题重测,防静默退化)。其中第四组最容易被跳过也最值钱——平均指标的微小回退可能掩盖特定能力的崩塌(比如长代码生成整体不变但某语言彻底遗忘),随机抽检能把这种长尾退化提前暴露。

小结

CPT 配比的本质是联合优化里的梯度干扰管理:领域能力随 $w$ 单调涨,通用能力在 $w$ 过高时非线性塌落,可操作窗口的位置由领域与通用的分布距离决定。经验起点——近分布领域 $w \approx 0.8$、远分布领域 $w \approx 0.3\text{–}0.5$,通用数据压舱 20%–40%,学习率同步压低。混合配比打底 + 轻正则 + 评测驱动的回放,比任何单一路线稳。验收必须同时看领域涨、通用回退、指令遵循和记忆抽检四组指标。