The Coverage Principle: How Pre-Training Enables Post-Training
Fan Chen, Audrey Huang, Noah Golowich, Sadhika Malladi, Adam Block, Jordan T. Ash, Akshay Krishnamurthy, Dylan J. Foster
stat.ML, cs.AI, cs.CL, cs.LG, math.ST
2025-10-17
下一词预测隐式优化覆盖,让模型给高质量回答留够概率。覆盖比交叉熵更快泛化、不随长度变差,这才决定 Best-of-N 成败。
预训练把交叉熵压下去,并不保证后训练能成。Liu、Zeng、Chen、Lourie、Springer 等人已经反复看到:更好的下一词预测器,不一定带来更强的下游。Best-of-N 和可验证奖励 RL 是当前后训练的两条主路,前者抽 N 条回答再挑最好,后者依赖模型至少偶尔能采样到对的轨迹。两边都卡在同一件事上:预训练模型有没有把足够的概率质量压在高质量回答上。
覆盖 profile 量的就是这件事。对数据分布 πD 和模型 π̂,CovN 是「模型把某条数据回答压得比真实概率低至少 N 倍」的概率。它是对数密度比的 CDF,KL 是同一随机变量的均值。均值好看,尾巴可以很差。图 1 的图推理实验里,KL 训练全程单调下降,覆盖却可以中途变差;N 较大时,覆盖比 KL 更能预测 Pass@N。
覆盖还满足传递性:πD 有 10% 概率吐出正确答案,且 Cov{N/10}(πD ∥ π̂)=ε,下游误差大约是 10ε。后面因此只盯相对预训练语料的覆盖。
覆盖原理的核心判断:下一词预测(更一般是最大似然)会隐式把模型往好覆盖推,而且覆盖的泛化比交叉熵快,不背序列长度 H 这类问题相关参数。
先有一条弱缩放:CovN ≤ KL / log(N/e)。按这条,测试时算力要随目标精度指数涨。问题是序列级 KL 会随 H 线性涨。对自回归线性模型,任何 proper 估计量(输出必须落在给定模型类里)都以至少 0.25 的概率满足 DKL ≥ H/(4n)。图 2 里 H∈{8,16,24},收敛时 KL 确实随 H 线性走。
最简单的伯努利例子能看清为什么大 KL 不一定毁掉覆盖。数据是 Ber(p),p 很小。有常数概率训练集里全是 0,最大似然给出 Ber(0),期望 KL 是无穷。但覆盖仍然有 CovN ≲ log(1/δ)/n。缺的那点质量把 KL 顶到无穷,覆盖只把这块质量勾销一次。
最大似然在一般模型类上能躲开长度税。定理 4.1 把覆盖拆成两项:
证明思路接近 Mendelson 的小球方法:覆盖差的模型会在不少训练点上贡献约 log N 的似然惩罚,因而当不成最大似然解。过参数化自回归线性模型再精细化:E[CovN] ≲ √(σ★²/(n log N)) + B²/n。σ★² 是固有方差,相当于有效序列长度,只数那些给定前缀后还在大幅摆动的「关键 token」。大多数 token 近乎确定,所以 σ★² 通常远小于 B²H。
单遍 SGD 就没这么好运。覆盖上界带着 √(B²H/T)/log N,下界显示 CovN 可以到 min(H/(T log N), 1) 量级。根子是 prompt 异质性:有的序列梯度随 H 涨,学习率必须小到 1/(HB),别的序列又学得太慢。梯度归一化(按 batch 梯度范数缩放,形态接近 SignSGD/Adam)把 H 依赖去掉,变成 √(σ★²/(T log N)) + B²/T + B/(K log N)。蒸馏场景还能按 token 级 KL 截断梯度,速率对齐最大似然。
测试时训练式解码也行:每采一个 token 就对着它做一步梯度,生成完再重置。配合 token 级 SGD,覆盖上界与定理 4.2 同阶,首项还好一个 1/√log N;解码输出可以跳出模型类,因而躲开了命题 3.2 对 proper 方法的 KL 下界。checkpoint 选择上,论文给了两种 tournament:在候选里最小化「对类中最难覆盖对手的经验覆盖」,不必 πD 落在模型类里也能找到类中最好覆盖。图 1 里 diamond 标的 tournament 选出的 checkpoint,Pass@N 好过按 KL 最小选的红点。
实验是合成图推理,不是真实 LLM。GPT-2 风格因果 Transformer,4 头、6 层、384 维,Adam。预训练 8×64000 条、20 万步,再在偏斜混合(90%/10% 两类图)上微调 5 万步。图 2 用 16 个 seed 的中位数。
| 对象 | 指标 | 结论 |
| 任意模型 | CovN vs KL | CovN ≤ KL / log(N/e) |
| 自回归线性,proper 估计 | 序列级 KL 下界 | ≥ H/(4n),概率 ≥ 0.25 |
| 最大似然 | CovN | 细项/log N + 粗项/n,无显式 H |
| 过参数化线性 | E[CovN] | ≲ √(σ★²/(n log N)) + B²/n |
| 单遍 SGD | CovN 下界 | ≳ min(H/(T log N), 1) |
| 梯度归一化 SGD | 平均 CovN | ≲ √(σ★²/(T log N)) + B²/T + B/(K log N) |
| 图推理实验 | KL vs 覆盖 vs Pass@N | KL 单调降、覆盖可劣化;大 N 时覆盖更预测 Pass@N;KL 随 H 线性、覆盖不随 H |
给「预训练到底给后训练攒了什么」一个可操作的答案:关键不是交叉熵压到多低,是有没有把稀有但正确的回答盖住。Best-of-N 的后悔与 CovN 同阶,成功当且仅当覆盖好;GRPO 一类 RL 也普遍被认为需要某种覆盖,否则采样不到可强化的轨迹。
从业者能直接试的三件事:别只按验证交叉熵选 checkpoint,tournament 在合成实验里选出了更好的 Pass@N;训练侧梯度归一化(Adam 本来就在做类似的事)有覆盖上的理论好处;解码侧可以对生成 token 做一步测试时训练。这些都还只在图推理玩具上验证过,当渐进改进看,不是换目标函数就能上生产。
问题设定更接近 SFT:语料被切成 prompt 和 response,prompt 分布在预训练和后训练里相同。真实预训练没有这种切法。分析主线假设可实现(πD 在模型类里),错指定只对凸类给了更好的界。覆盖对 BoN 是充分必要,对 RL 只援引了 Yue、Gandhi、Wu 的经验,最小条件没证。
实验全是分层 DAG 寻路,模型 6 层 384 维,没有真实语言模型、没有真实 RL 后训练对照。Adam 与覆盖的关系写明是推测。覆盖本身只看预测概率,不看表示里的「语义覆盖」,作者也承认可能偏保守。Tournament 要对候选两两算经验覆盖,类大了就贵。