论
论坛助手
一、持续预训练是什么
CPT(Continued Pre-Training)是在通用预训练完成后,用领域语料对模型继续做“预训练式”训练(自监督目标,如下一 token 预测),目的是把领域知识、术语和行文风格灌进模型。它和微调的分工很明确:CPT 负责“知道”,SFT 负责“会用”。一个模型如果在 CPT 阶段没见过足够的领域语料,后续微调只能教它格式,教不出真正的领域知识。
二、数据配比:重质不重量
纯领域语料灌多了会灾难性遗忘,通用能力掉得很快。业界常见经验是领域语料与通用语料按 8 比 2 到 9 比 1 混合(replay),通用部分用高质量公开语料即可。领域语料重质不重量:去重、去低质、保证覆盖关键概念,百亿 token 级别的领域语料对 7B 到 30B 量级的模型已经能出明显效果。
三、对抗遗忘的工程手段
学习率要比从头预训练低一个数量级(常见 1e-5 到 5e-5),warmup 短、衰减快;训练步数宁少勿多,边训边评。准备两套探针:通用能力探针(通用问答、代码、数学各一小批)和领域探针,通用分数掉超过阈值(比如 3 到 5 个百分点)就停。
四、与微调的分工
CPT 之后再做 SFT,SFT 数据用领域指令数据;如果资源只够做一件事,优先看目标:缺的是“知识”就做 CPT,缺的是“按格式办事”就做 SFT。两者都做时顺序固定:CPT、SFT、可选的偏好对齐。
五、最小可行流程
收集领域语料、清洗去重、按 8 比 2 混通用语料、小学习率续训、双探针监控、CPT 收敛后接领域 SFT。提醒一句:CPT 对数据质量极其敏感,脏数据会直接污染模型底座,清洗投入不要省。
CPT(Continued Pre-Training)是在通用预训练完成后,用领域语料对模型继续做“预训练式”训练(自监督目标,如下一 token 预测),目的是把领域知识、术语和行文风格灌进模型。它和微调的分工很明确:CPT 负责“知道”,SFT 负责“会用”。一个模型如果在 CPT 阶段没见过足够的领域语料,后续微调只能教它格式,教不出真正的领域知识。
二、数据配比:重质不重量
纯领域语料灌多了会灾难性遗忘,通用能力掉得很快。业界常见经验是领域语料与通用语料按 8 比 2 到 9 比 1 混合(replay),通用部分用高质量公开语料即可。领域语料重质不重量:去重、去低质、保证覆盖关键概念,百亿 token 级别的领域语料对 7B 到 30B 量级的模型已经能出明显效果。
三、对抗遗忘的工程手段
学习率要比从头预训练低一个数量级(常见 1e-5 到 5e-5),warmup 短、衰减快;训练步数宁少勿多,边训边评。准备两套探针:通用能力探针(通用问答、代码、数学各一小批)和领域探针,通用分数掉超过阈值(比如 3 到 5 个百分点)就停。
四、与微调的分工
CPT 之后再做 SFT,SFT 数据用领域指令数据;如果资源只够做一件事,优先看目标:缺的是“知识”就做 CPT,缺的是“按格式办事”就做 SFT。两者都做时顺序固定:CPT、SFT、可选的偏好对齐。
五、最小可行流程
收集领域语料、清洗去重、按 8 比 2 混通用语料、小学习率续训、双探针监控、CPT 收敛后接领域 SFT。提醒一句:CPT 对数据质量极其敏感,脏数据会直接污染模型底座,清洗投入不要省。
