AI 基建
0%
第一部分 · 基座模型的形成 · 第 11 章

中段训练:退火、领域桥接与上下文扩展

作者Changkun Ou
阅读时长约 9 分钟

第一遍宽泛预训练,让模型获得了语言、代码、事实、文体和隐含过程的一般分布,却并不会自动为后训练准备好合适的起点。一个模型可以在网页文本上足够强,却仍然不适合数学推导、代码编辑、指令格式样本、长文档或专门领域语料。如果把这段距离全交给后训练,后训练就要一边改变行为,一边修补分布间隙。

中段训练(mid-training) 指的正是把这两件事分开的阶段。它仍接近预训练:通常保留同一架构、更新全部参数,也常继续优化 下一词元预测(next-token prediction),也就是根据已有词元预测下一个词元这一目标,而不是偏好或奖励目标。变化发生在数据分布、学习率调度或上下文长度上。它的目标不是让模型更礼貌、更安全或更像智能体,而是把基座模型的能力分布移到更接近后续后训练数据的位置。

边界要按操作定义

清晰定义不是「发生在中间的训练」,而是一段训练序列里的阶段。把一次训练写成

S={(Di,Li,ni)}i=0N,S = \{(D_i, \mathcal{L}_i, n_i)\}_{i=0}^{N},

其中 DiD_i 是数据分布,Li\mathcal{L}_i 是损失,nin_i 是训练步数。初始阶段 i=0i=0 是宽泛预训练,最终阶段 i=Ni=N 是后训练或微调。中间的 0<i<N0<i<N 若仍具有预训练的规模和目标,却改变了分布、调度或可用上下文窗口,就构成中段训练 (Liu et al. 2025)。

这个定义把三条边界划清楚:

  • 相对普通预训练。 宽泛预训练选择一个通用语料,并把大部分词元预算花在上面。中段训练则是在模型已经形成一般特征之后,再改变混合分布。
  • 相对 继续预训练(continued pretraining) 继续预训练是把已有模型继续拿下一词元目标训练,而且可以几乎完全切到目标领域。中段训练通常保留一部分通用数据,在把模型推向代码、数学、指令或长文档的同时降低遗忘 (Liu et al. 2025; Gururangan et al. 2020)。
  • 相对后训练。 后训练改变行为接口:在示范数据上做监督微调(SFT),从胜出与被拒回复的偏好里做直接偏好优化(DPO),或用可自动检查的奖励做可验证奖励的强化学习(RLVR),再加上安全层级或工具使用。中段训练则是在这些目标接触模型之前,先把基座推到更适合后训练的位置。

图 11.1 画出它的位置。关键箭头不是「多训一会儿」,而是「在优化行为之前先移动分布」。

midtraining A 宽泛预训练 网页、书籍、代码、 多语种混合 B 中段训练 质量退火、领域桥接、 上下文扩展 A->B 仍是基础目标 C 后训练 SFT、偏好、 可验证奖励、 安全调优 B->C 更接近的基础 D 服务中的模型 被评测的行为、 延迟与策略 C->D 行为接口
图 11.1. 中段训练位于宽泛预训练与后训练之间。它仍采用接近预训练的更新,却改变数据配比、调度或上下文窗口,让后训练从更接近的分布出发。

桥接视角

理解中段训练,最有用的是把它看作分布桥接。设 D0D_0 是宽泛预训练分布,DsD_s 是一份专门切片:代码、数学推导、指令格式题目、高质量网页或长文档。一个简单的混合调度可以写成

Dt=(1αt)D0+αtDs,0αt1.D_t = (1 - \alpha_t)D_0 + \alpha_t D_s,\qquad 0 \leq \alpha_t \leq 1.

换句话说,αt=0\alpha_t=0 时训练没有改变,αt=1\alpha_t=1 时,它已经变成对专门领域的纯继续预训练。中间地带才是桥接:保留足够的宽泛数据以维持一般语言建模,同时让后续后训练分布不再那么陌生。2025 年的受控实验发现,这对数学和代码尤其有效;在其研究的代码设定里,引入时机比精确混合权重更重要 (Liu et al. 2025)。

图 11.2. 一个示意性的桥接调度。较早引入专门切片、并继续与宽泛数据混合,会提升目标适配,同时比突然完全切换更能保住一般能力。曲线是示意,不是实测。

因此,后期高质量切片不只是「更好的语料」。它也是一个时机选择。干净的数学或代码分布,如果模型还有足够步数和学习率去吸收,就会很有力量。引入太晚,它多半只是在打磨表面统计;引入太猛,又可能抹掉宽泛能力。还有一种情形是时机没错而目标错了:没有下游目标就引入,优化的往往是错的那条间隙。

三类真实配方

质量退火把预训练末段换成更密、更干净的信号。OLMo 2 报告了一个专门数据混合 Dolmino Mix 1124,在预训练退火阶段引入后提升了下游能力,同时公开训练数据、代码、日志和检查点 (OLMo Team 2025)。MiniCPM 则把调度问题摆到台面上:预热-稳定-衰减调度(WSD) 用一段较长的稳定学习率平台保留共享主干,再从不同位置分叉出衰减阶段,用于不同停止点或领域适配实验 (Hu et al. 2024)。于是「预训练结束」不再只是一个终点,而成了可以组合配方的位置。

领域中段训练在后训练赋予助手行为之前,先把模型推向专门语言。Qwen2.5-Coder 报告称,它基于 Qwen2.5 架构,在超过 5.5T 词元的清洗代码、合成数据与平衡混合上继续训练,在增强代码能力的同时保留一般与数学能力 (Hui et al. 2024)。DeepSeekMath 从一个代码基座出发,在 120B 数学相关词元以及自然语言、代码混合上继续训练,然后才进入后续的 SFT 与强化学习阶段 (Shao et al. 2024)。对整套栈而言,这个含义很直接:目标格式越远离普通网页,基座模型越应该先向后训练走半步。

长上下文中段训练改变的是长度分布与位置机制。Position Interpolation 和 YaRN 这类 旋转位置嵌入(RoPE) 缩放方法,通过避免直接外推到未经训练的位置范围,让上下文扩展更便宜 (Chen et al. 2023; Peng et al. 2023)。但长上下文不只是位置技巧。Qwen2.5-1M 报告了长上下文预训练、长数据合成、渐进式预训练和多阶段 SFT,用以达到 1M 词元上下文,同时尽量不损害短上下文表现 (Yang et al. 2025)。它属于这一层,因为模型要先学会新的序列长度分布,之后服务层才需要承担由此产生的 KV 缓存压力。

真正调的是哪些量

中段训练的目标比后训练少,但它的旋钮危险得多,因为每一个都会改变后面的模型能成为什么。

  • 配比。 第 6 章 给出可选来源;中段训练决定这些来源何时、以多大比例进入流。DoReMi 这类代理方法让配比选择可测量,但最终选择仍取决于目标后训练分布 (Xie et al. 2023)。
  • 时机。 同一份专门切片,太晚引入可能偏弱,硬切换又可能破坏通用能力。桥接实验在其代码设定里,把时机的重要性放在精确混合权重之上 (Liu et al. 2025)。
  • 学习率调度。 余弦衰减(学习率沿余弦曲线下降到接近零)、WSD 与分叉衰减配方决定模型还能不能移动。学习率太低的后期高质量阶段,主要是在装点评测;学习率太高,又可能重新打开宽泛分布上的损失。
  • 格式。 指令格式数据可以在 SFT 之前出现,但只要目标没有改变,它仍是下一词元数据。这会让模型先熟悉语法和话语形态,而不是立刻优化偏好、有用性或拒绝行为。
  • 上下文长度。 长文档混合、RoPE 缩放、序列打包和注意力内核,必须同 第 10 章第 31 章 对齐,因为训练中学到的更长上下文,会在推断时变成显存和调度成本。
争议所在

「中段训练」这个词比实践本身新。许多模型报告会写后期课程、退火数据、领域继续训练或上下文扩展,却不会统一使用同一个名称。因此,有用的区分不是术语上的,而是功能上的:如果一段训练仍使用接近预训练的目标、更新整个模型,并且目的是在后训练前移动基座分布,它就属于这一层;如果它通过示范、偏好、奖励或策略改变助手行为,那就属于第三部分。

下层约束

后训练无法可靠添加基座模型从未提供的能力。它可以引出、排序、压制和格式化行为,但它的数据与奖励预算远小于预训练规模的词元预算。这也是 第 21 章第 30 章 会反复指回基座能力的原因。中段训练,是对齐和评测开始衡量行为之前,最后一次用大词元预算重塑基座的机会。

失效模式

中段训练的失败往往很安静。新混合分布上的损失可能下降,同时模型却忘掉宽泛语言、丢失多语种覆盖,或者过拟合某种会被后训练放大的格式。代码数据可以把模型推向更适合编译器的语法,却伤害散文能力。数学轨迹可以教会符号化风格,却不保证可靠计算。长上下文扩展可以让模型通过检索探针,却仍然用不好上下文中部的证据。高质量网页切片如果装配完成后没有重跑 第 6 章 里的去污染契约,也可能把基准泄漏洗回训练。

工程上的失误,是把中段训练当作便宜的尾声。它触及优化器状态、学习率调度、数据清单、分词器假设、位置编码、评测去污染和检查点谱系。它还会制造新的模型变体,需要名称、模型卡和下游兼容性测试。如果一次训练无法回答哪一个分布变了、什么时候变、保留了多少宽泛数据,以及哪些评测防住了遗忘风险,那这段训练就不可复现。

它在整套栈中的位置

第一部分现在以一个边界收束,而不是直接跳到后训练。第 5 章 固定预算,第 6 章 定义来源,第 7 章 固定词表,第 8 章第 9 章 固定模型身体,第 10 章 让训练可执行。中段训练则决定这次运行是停在一个宽泛基座上,还是先弯向第三部分将要适配的能力分布。

这个区分让后面的层次更干净。第 17 章 适配行为;它不解释一个代码助手为何已经理解代码语法。第 21 章 用可核查奖励训练;它不从零创造全部数学基础。第 35 章 服务长提示;它继承模型是否真的学过使用长证据。第 84 章 在购买、调优和继续训练之间做选择;它需要这条边界来判断一个问题到底是后训练任务,还是中段训练任务。

延伸阅读

  • Liu et al., “Midtraining Bridges Pretraining and Posttraining Distributions” (针对代码、数学、指令、问答与高质量网页混合的受控桥接实验), 2025. arXiv:2510.14865
    把中段训练定义为介于预训练与后训练之间、仍近似预训练的阶段,并发现混合专门数据可桥接预训练与后训练分布,在代码和数学上尤其有效,且相比纯继续预训练更能降低遗忘。
  • Gururangan et al., “Don't Stop Pretraining: Adapt Language Models to Domains and Tasks” (现代“中段训练”术语出现前的领域自适应与任务自适应预训练), 2020. arXiv:2004.10964
    表明在领域语料与任务语料上继续预训练,可在生物医学、计算机科学、新闻和评论等任务上提升下游表现。
  • OLMo Team, “2 OLMo 2 Furious” (用专门化 Dolmino Mix 1124 做后期课程训练), 2025. arXiv:2501.00656
    OLMo 2 是一个完全开放的自回归语言模型系列,其配方在退火阶段引入后期专门数据,并公开数据、代码、日志与检查点。
  • Hu et al., “MiniCPM: Unveiling the Potential of Small Language Models with Scalable Training Strategies” (用于持续训练与可分叉衰减的 WSD 调度), 2024. arXiv:2404.06395
    提出 MiniCPM 与预热-稳定-衰减调度,用稳定学习率平台支持持续训练与领域适配。
  • Hui et al., “Qwen2.5-Coder Technical Report” (基于 Qwen2.5 的代码专门化继续训练), 2024. arXiv:2409.12186
    报告 Qwen2.5-Coder,一个在超过 5.5T 词元上继续训练的代码专门化模型系列,使用清洗代码、可扩展合成数据与平衡混合,同时保留一般与数学能力。
  • Shao et al., “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models” (数学继续训练与后续 GRPO), 2024. arXiv:2402.03300
    在 120B 数学相关词元以及自然语言、代码混合上继续训练代码基座,再加入 SFT 与 GRPO,构建强开放数学模型。
  • Chen et al., “Extending Context Window of Large Language Models via Positional Interpolation” (通过插值而非外推扩展 RoPE 上下文), 2023. arXiv:2306.15595
    通过线性缩放位置索引扩展基于 RoPE 的大语言模型上下文窗口,避免不稳定外推,并在少量微调后保留原窗口质量。
  • Peng et al., “YaRN: Efficient Context Window Extension of Large Language Models” (高效 RoPE 上下文扩展), 2023. arXiv:2309.00071
    YaRN 以比先前方法更少的词元和训练步数扩展基于 RoPE 的 LLaMA 上下文窗口,并展示了超出微调长度的外推能力。
  • Yang et al., “Qwen2.5-1M Technical Report” (渐进式长上下文预训练至一百万词元), 2025. arXiv:2501.15383
    报告 Qwen2.5-1M,使用长数据合成、渐进式长上下文预训练和多阶段 SFT,把上下文扩到 1M 词元,同时尽量保留短上下文表现。

评论

登录后评论