# 预注册实验:长序列变差与 ema 写入 > 写于实验之前(2026-10-18)。跑完后只在下面追加结果,不改这一节。 **观察**:compare.md 里 ZeroPoint(无 ema)在 1024~4095 字处的 loss(1.70)高于 64~255 字处(1.62)。 **假设 H1**:原因是长期槽(λ 接近 1)的数值随序列长度无界累积,超出训练时(64 字)见过的范围。 **预测**: - ① 直接测:推理时槽值的最大绝对值,无 ema 的模型在 4000 字处明显大于 64 字处(比值 > 2);有 ema 的模型比值接近 1(< 1.5)。 - ② 间接测:开 ema 重新训练(其余完全相同),1024~4095 字处的 loss 不再明显高于 64~255 字处:差值 < 2 × 种子间标准差。 **H1 不成立时会看到**:① 无 ema 的槽值没有明显增长;或 ② 开 ema 后远处 loss 照样升高。 **判定**:① 和 ② 都成立 → 接受 H1,且 ema 是有效的修法;只有 ② 成立 → ema 有效但原因另有其他; 都不成立 → 放弃 H1,下一步查学到的 λ 值。另外要求 ema 不损害短距离:64 字处验证 loss 的差别 < 2 × 标准差。 **对照**:两组用同样的 3 个种子、同样 2000 步、学习率 0.006、同样语料;外推用 32 条 4096 字的验证序列, 两组都用分块并行算法算 loss。(10-18 的修正是把验证序列从 8 条增加到 32 条;分块并行与递推形式数学等价,float32 下 logit 最大差 1.4e-5,不是算法差异。) ## 结果(实验之后写) ### 64 字处的验证 loss(均值 ± 标准差,3 个种子) | 模型 | 验证 loss | |---|---| | no-ema | 1.5214 ± 0.0134 | | ema | 1.5182 ± 0.0076 | ### 长度外推(32 条 × 4096 字,分块并行算法;均值 ± 标准差) | 位置 | no-ema | ema | |---|---|---| | 0 ~ 63 | 1.4372 ± 0.0187 | 1.4308 ± 0.0039 | | 64 ~ 255 | 1.4742 ± 0.0341 | 1.6476 ± 0.0529 | | 256 ~ 1023 | 1.6617 ± 0.0234 | 3.1084 ± 0.2157 | | 1024 ~ 4095 | 1.6932 ± 0.0305 | 3.4153 ± 0.2402 | ### 槽值的最大绝对值(递推推理,3 个种子平均) | 位置 | no-ema | ema | |---|---|---| | 64 | 9.08 | 1.60 | | 256 | 10.07 | 2.34 | | 1024 | 9.88 | 1.51 | | 4000 | 16.07 | 2.27 | ## 判定(按预注册的标准) - 预测 ①(槽值比值 4000 字 / 64 字):无 ema 1.93,有 ema 1.44 → **不成立** - 预测 ②(ema 模型 1024~4095 与 64~255 的 loss 差):+1.7677,噪声阈值 0.4805 → **不成立**(对照:无 ema 的差是 +0.2190) - ema 不损害短距离:64 字处 loss 差 -0.0033 → **成立** **结论**:① ② 都不成立:**放弃 H1**,下一步查学到的 λ 值