Browse this library

Chinese source article

2.4 · 大模型的持续预训练与后训练

把经典持续学习问题放回大模型训练链,区分知识更新、领域适配、指令行为和安全能力的保持。

View original Markdown ↗

大模型让持续学习获得了一个不同起点. 它带着大规模预训练形成的语言、知识和推理能力进入新的数据阶段, 远比从随机初始化依次学习封闭分类任务复杂. 继续训练可以更新事实、进入新领域、延长上下文或改变指令行为;同一批更新也可能损伤通用能力、格式遵循和安全边界. 大模型持续训练需要识别训练链中哪些能力应更新、哪些行为必须保持、哪些冲突来自数据配比. 「少忘旧数据」只覆盖其中一部分.

把能力集合记为 C1,…,CKC_1,\dots,C_K, 每个能力由评测分布 EkE_k 测量. 新阶段目标可以写成

Lt(θ)=Ex∼DtℓLM(x;θ)+∑kαkEx∼Rkℓk(x;θ),L_t(\theta)=\mathbb E_{x\sim D_t}\ell_{LM}(x;\theta) +\sum_k\alpha_k\mathbb E_{x\sim R_k}\ell_k(x;\theta),

DtD_t 是新增语料或指令数据, RkR_k 是保持集或 replay 分布. 系数 αk\alpha_k 实际编码产品选择: 新知识、通用语言、推理、安全和风格之间如何取舍. 如果只报告新领域 loss, 就无法判断模型是否用旧能力退化换来了局部收益.

1. 持续预训练中的分布混合

继续预训练使用 next-token prediction, 算法形式看似没有变化, 数据分布却改变了梯度方向. 只在新领域语料上训练, 模型会更贴近新分布, 也可能降低旧领域概率;混入通用 replay 能保留旧分布, 但减少单位算力用于新知识的比例. 数据混合权重、学习率重新预热、训练 token 与去重质量经常比复杂正则项更决定结果.

「知识更新」还包含冲突语义. 新语料中的事实可能替代旧事实, 也可能只是时间条件不同. 无时间上下文地反复训练新陈述, 会让模型丢失历史回答能力;同时保留新旧句子而不给条件, 又会制造概率冲突. 对随时间变化的知识, 训练样本需要显式时间或来源, 评测也要分别查询当前事实与历史事实.

大模型已见过大量通用模式, 新领域数据的边际信息密度不均. 高频模板重复会消耗算力并强化风格偏置, 罕见术语和关系才可能是真正新增知识. 去重、质量过滤与配比因此属于持续学习目标的一部分, 不是训练前无关的清洗步骤.

2. 后训练改变的是行为分布

持续 SFT 可以加入新工具、格式和任务, 但指令数据规模小、梯度集中, 容易改变拒答、长度和表达习惯. 旧能力未必从参数中消失, 可能只是被新的回答策略压住. 用预训练 perplexity 判断这种遗忘不够, 需要固定提示、解码与系统消息, 分别测知识可访问性和行为选择.

偏好优化与强化学习还会改变输出分布和 TestingTime 策略. 新 reward 偏好简洁回答, 可能压低长推理;新安全规则可能提高过度拒答. 这种冲突与分类任务的标签竞争相似, 但反馈来自偏好、verifier 或 reward model. 旧策略数据、reference 约束和能力保持集分别保护不同对象, 不能笼统称作 replay.

后训练阶段常见的「遗忘」需要拆成三类: 参数确实不再支持旧能力, 提示接口变化使能力难以触发, 新策略在多个可行答案中不再选择旧行为. 参数探针、受控提示和解码扫描能帮助区分, 否则一次 benchmark 下降无法指出该用回放、正则还是重新校准.

3. PEFT 限制更新子空间

LoRA 将权重更新写成低秩矩阵 ΔW=BA\Delta W=BA. 冻结底座后, 新阶段只能在这个子空间中改变函数. 这减少优化状态与存储, 也降低对底座的直接覆盖;如果新知识需要底座未提供的表示方向, 低秩约束会限制可塑性. rank、插入层和学习率共同决定允许改变的函数区域.

每阶段保留独立 adapter 能避免彼此覆盖, 随任务数增长却需要路由和存储. 将多个 adapter 合并可降低服务成本, 其线性叠加假设并不总成立. 两个低秩更新分别有效, 相加后可能在共享方向上冲突;量化底座上的合并还会引入舍入误差. 合并前后都要评测, 才能区分任务干扰与数值误差.

Prompt pool 和检索式 adapter 将任务识别交给输入 embedding. 底座更新后, 路由空间也会漂移. 模块参数完整、检索 key 失效时, 系统表现仍会下降. 这使 PEFT 与结构隔离路线相连: 训练成本降低以后, 模块发现和生命周期成为主要瓶颈.

4. 证据链应覆盖训练的每个出口

持续训练实验至少需要三个参照: 只用新数据的继续训练、按同等 token 混合旧数据的 replay、从初始底座对新旧数据联合训练的参考. 固定总 token 与计算后, 才能判断方法是否超过数据混合. 学习率日程应单独消融, 因为重新预热能够显著改变适应速度与遗忘.

评测矩阵按能力而不是按一个总平均组织. 新领域 loss 与任务表现测可塑性;通用语料、知识、推理、指令、安全测保持;训练 FLOPs、可训练参数、额外状态与推理加载成本测代价. 还要在多个 checkpoint 上观察曲线, 因为新能力和旧能力可能在不同训练阶段达到峰值.

当知识需要频繁更新、删除和溯源时, 外部检索可能比反复改参数合适;当规律需要脱离检索仍能泛化, 持续训练才值得承担风险. 持续预训练与参数高效适配 将继续展开学习率、数据混合、O-LoRA、InfLoRA 与模型合并. 这条路线与经典持续学习共享稳定—可塑性问题, 但保持对象和证据口径必须按大模型训练链重新定义.

5. 预训练与后训练不能共用一个遗忘结论

预训练主要改变语言分布与表征, 后训练主要改变模型面对指令时选择什么行为. 一次持续预训练后通用 loss 变差, 可以直接指向分布覆盖;一次 SFT 后 benchmark 下降, 还可能来自提示格式、回答长度或拒答策略变化. 两阶段使用同一个总分, 会把知识丢失与行为抑制混在一起.

更可靠的训练链在每个边界保留能力快照. 预训练后测知识和表征, SFT 后再测指令触发, 偏好优化后检查策略与安全. 若某项能力在预训练 checkpoint 仍存在、SFT 后消失, 修复重点应放在指令数据和目标, 无需重新做整段预训练. 逐阶段定位也能避免把更强底座的收益误记到某个持续学习算法上.

模型规模会改变观察到的折中. 大模型可能有更多冗余方向吸收新知识, 也拥有更广泛、难以穷尽的旧能力. 小规模实验显示低遗忘, 不一定扩展到需要保护更多行为的大模型;大模型平均分稳定, 也可能只因评测覆盖太窄. 因此规模实验同时扩大保持集, 并固定每参数或总训练预算, 才能解释容量是否真正缓解冲突.

参考文献