AB
AiBoss站
百科

什么是持续预训练(Continual Pre-training)?

持续预训练(Continual Pre-training)指在已有语言模型的基础上,用新的(通常是无标注的)语料继续做预训练,使模型适配新领域或新任务,同时尽量不丢失原有能力。它要解决的核心问题是:如何让一个通用模型在获得新知识的同时,不被「灾难性遗忘」抹掉旧知识。

持续预训练(Continual Pre-training)是指在已经训练好的语言模型(Language Model, LM)基础上,使用新的语料继续执行预训练目标,从而让模型获得新领域或新分布上的能力。它要解决的问题是:通用语言模型虽然覆盖面广,但在特定领域(如金融、医疗、法律)上的表现往往不足,而从头训练一个领域模型代价高昂;持续预训练提供了一条在既有模型上继续学习的路径,同时需要应对「学了新的、忘了旧的」这一矛盾。

为什么重要

在持续预训练这一思路被系统研究之前,让模型适配某个领域主要有两条路。第一条是直接用领域语料从头预训练一个模型,这样得到的模型在领域任务上表现好,但需要完整的预训练算力与数据管线,成本极高,而且会丢掉通用模型已经具备的开放域能力。第二条是领域自适应预训练(Domain-Adaptive Pre-training, DAP-training),即在通用模型上用某个领域的语料再做一轮预训练。已有研究显示,用领域语料进一步预训练一个语言模型,可以提升该领域下游任务的性能。

但单轮领域自适应只处理一个领域。当领域不断到来、需要依次适配多个领域时,问题就出现了:模型在新语料上继续训练,参数会向新分布偏移,先前学到的领域知识乃至预训练阶段积累的通用知识会被覆盖,这就是灾难性遗忘(catastrophic forgetting)。如果每来一个新领域就重新训练一遍,成本无法接受;如果简单地在旧模型上继续训练,旧能力又会退化。持续预训练正是针对这一序列化场景提出的问题设定:用一串无标注的领域语料依次对模型做领域自适应预训练,既要适配这些领域、提升各自的下游任务表现,又要保住原有知识。

工作机制

持续预训练的基本形态仍然是「在已有模型上继续跑预训练目标」,其关键差异在于如何控制参数更新,使新旧知识共存。以 arXiv 论文《Continual Pre-training of Language Models》提出的方法为例,其核心机制可以拆成几个要点。

  • 软掩码(soft-masking)机制:该论文提出的方法用一个软掩码机制直接控制对语言模型的更新。它不是简单地冻结或放开某些参数,而是对更新施加连续的控制,从而在继续学习新领域时限制对已有知识的破坏。
  • 保留通用知识的代理(proxy):该论文还提出一个新的代理指标,用于在持续预训练过程中保留原始语言模型中的通用知识,避免模型在连续适配领域时把通用能力一并丢掉。
  • 知识整合:该方法对比先前学到的领域知识(其中包含预训练模型中的通用知识)的表示,与当前完整网络所产生知识的表示,以此实现知识整合。

该论文称,这一方法不仅克服了灾难性遗忘,还实现了知识迁移,从而提升下游任务表现,并通过实证评估验证了方法的有效性。需要注意,这些是该论文自身的主张与实验结论,并非行业统一结论。

另一条被讨论的路线是数据侧的效率优化。ACL Anthology 收录的论文《Efficient Continual Pre-training for Building Domain Specific Large Language Models》探索了用持续预训练在既有开放域大语言模型(Large Language Model, LLM)之上构建领域专用模型的替代策略,并研究了简单但有效的数据选择策略。该论文报告称,其数据选择策略仅用 10% 的语料规模与成本,就超过了普通持续预训练的表现,并且在开放域标准任务上没有出现退化。同样地,这属于该论文的具体结论,应视为该工作的报告结果而非普遍规律。

典型例子

素材中出现的具体系统与用法包括以下几项。

  • 连续领域自适应预训练(continual DAP-training):arXiv 论文《Continual Pre-training of Language Models》研究的正是这一设定,即用一串无标注的领域语料依次对语言模型做领域自适应预训练,使其适配这些领域并提升各自的下游任务表现。该论文由 Zixuan Ke、Yijia Shao、Haowei Lin、Tatsuya Konishi、Gyuhak Kim、Bing Liu 撰写,其期刊引用信息标注为 ICLR 2023。
  • FinPythia-6.9B:ACL Anthology 论文《Efficient Continual Pre-training for Building Domain Specific Large Language Models》中提出的模型,通过在金融领域做领域自适应持续预训练得到。该论文称,持续预训练后的 FinPythia 在金融任务上相对原始基础模型表现出一致的提升。该论文作者为 Yong Xie、Karan Aggarwal、Aitzaz Ahmad,发表于 Findings of the Association for Computational Linguistics: ACL 2024。

这两个例子分别代表了持续预训练的两类关注点:一类关注如何在连续多个领域之间控制参数更新、抑制遗忘;另一类关注如何在给定领域上以更低的数据与算力成本完成适配。

边界与常见误解

第一,持续预训练不等于微调(fine-tuning)。微调通常针对带标注的下游任务数据,目标是让模型学会完成特定任务;持续预训练使用的是无标注语料,继续执行的是预训练目标,目标是让模型吸收领域分布中的语言知识。两者可以先后配合,但解决的问题不同。

第二,持续预训练不等于「多训几轮就更强」。在序列化适配多个领域时,参数向新分布偏移会带来灾难性遗忘,这是该方法设定本身要处理的核心困难,而不是可以忽略的副作用。素材中 arXiv 论文的软掩码与通用知识代理,正是为应对这一代价而设计的。

第三,关于效率提升的说法有明确出处。ACL Anthology 论文报告的「10% 语料规模与成本即可超过普通持续预训练、且开放域任务不退化」,是该论文在其数据选择策略下的实验结果,不应被推广为所有持续预训练场景的通用结论。

第四,持续预训练的效果依赖基础模型与语料。素材中的两项工作分别建立在既有语言模型与既有开放域大语言模型之上,其结论是在各自实验条件下得到的,不能直接外推到任意模型、任意领域或任意语料规模。

第五,持续预训练并不替代领域数据的质量判断。ACL Anthology 论文专门研究了数据选择策略,说明在持续预训练中「选哪些数据」与「怎么更新参数」同样重要;语料选择不当会直接影响适配效果与通用能力的保留程度。

参考资料