持续预训练(Continual Pre-training)


一句话总结

持续预训练是在已有基座模型上使用领域数据继续训练,使模型获得特定领域的专业知识,同时尽量保持通用能力不退化。

核心概念

持续预训练(也称领域适配预训练)的目标是将通用LLM转变为领域专家,如医疗、法律、金融、代码等。核心流程:以现有Base Model的权重作为初始化,使用领域特定的语料继续训练,通常训练数据量为数十亿到数千亿Token。关键挑战是灾难性遗忘(Catastrophic Forgetting)——模型在学习新领域知识时丢失已有的通用能力。缓解策略:(1)混合通用数据和领域数据(如7:3)训练;(2)使用较小的学习率(通常比预训练低5-10倍);(3)Replay机制——在领域数据中混入预训练数据的子集。

为什么重要

从头预训练一个领域专家模型成本极高且不必要。持续预训练以低得多的成本(通常是全量预训练的1-10%)获得领域专业能力。很多行业(医疗、金融)的专业术语和知识在通用预训练语料中覆盖不足,持续预训练可以有效填补这一缺口。

实践要点

数据配比是最关键的超参数——领域数据占比过高会导致遗忘,过低则学不到领域知识;学习率通常设为预训练峰值的1/10到1/5;如果领域词汇与通用词表差异大,可以考虑扩充词表(如添加医学术语)并相应扩展Embedding层;训练前需评估Base Model在领域任务上的基线表现以量化提升。

常见误区

误区一:持续预训练等于微调——微调通常指SFT,使用指令数据且训练量小(数千到数万条),持续预训练使用无标注语料且训练量大(数十亿Token)。误区二:只用领域数据训练效果最好——纯领域数据训练会严重破坏通用能力,必须混入通用数据。误区三:任何领域都需要持续预训练——如果Base Model已经对目标领域有良好覆盖,直接SFT可能就够了,持续预训练的边际收益取决于领域与通用语料的差距。