同种子配对:两个模型越像,比较的噪声越小

只差一个小设置的两个模型,用同一组种子按种子相减,比较噪声从 0.0087 降到 0.0036。机制之一是评分窗口:分数只看最后 64 步,步数相同的两个模型在同一段文本上打分,噪声相关 +0.29。

分数只看最后 64 步,而那 64 步喂的是哪段文本由种子和步数决定

分数是训练最后 64 步的在线 loss(每步先在新数据上算 loss 再更新)。数据按种子随机取窗口,所以同一个种子下,第 i 步的文本对所有模型都一样。两个模型步数接近,评分窗口就落在几乎同一段文本上。

同一个种子:第 i 步喂进去的文本对所有模型都一样 模型甲:分数 = 最后 64 步的平均 loss 模型乙:多跑几步 → 窗口大部分重叠 → 噪声相关 模型丙:步数差很多 → 窗口不重叠 → 噪声无关 (示意,不按比例)
灰块是每一步的一批文本,彩条是各模型的评分窗口。

评分窗口重叠时两个模型的噪声相关 +0.29,错开约 100 步后消失

我从 2960 个跑满 4 个种子的模型里随机抽了 299888 对,比较它们在同一种子上偏离各自均值的方向。步数差越小越相关,到 64 步(窗口长度)附近降到接近 0。所以种子噪声里大约 29% 是“评分文本的难度”,和模型无关;其余来自初始化和训练过程本身。

-0.1 0 +0.1 +0.2 +0.3 0 64 128 192 256 320 两个模型同一种子的步数差 噪声的相关系数 窗口长 64 步
每 8 步一个区间。150–210 步附近有小的负相关,原因未查明。

配对只对很像的模型有大用:只差 softcap 时噪声降到 42%,随机两个模型几乎不降

两个模型越像,同种子配对越有用,因为它们共享的不只是评分文本,还有初始化和训练轨迹。只差 softcap 的两个模型,配对差值的噪声只有不配对的 42%。要把 0.002 的差别看清(2 个标准误),不配对需要约 76 个种子,配对只需约 14 个。

0 0.0025 0.0050 0.0075 0.0100 两个模型的分数差,每个种子的标准差 两次独立运行(不配对) 0.0087 同种子,随机两个模型 0.0085 同种子,步数差 < 8 0.0078 同种子,只差 softcap 0.0036
单个模型的种子标准差是 0.0061;不配对的差值标准差是它的 √2 倍。

怎么用

比较两个候选时,用同一组种子,按种子相减再平均,不要各自平均后再比。

候选差别大时(例如层数不同),配对帮助很小,要多跑种子。

用固定的留出评估集打分(同事 spec 里固定 512 条验证序列就是这样),能去掉“评分文本难度”这部分噪声。在线训练 loss 做分数时,这部分噪声会随步数漂移。