logit softcap 30 → 15:159 个模型里 157 个变好
把输出 logits 的上限从 30 降到 15,平均好 0.0038,比单次种子噪声小,但几乎每个模型都同向变好,所以是真的。12–20 都一样好,排名基本不变。
- 训练 120 秒 · 1 张 RTX PRO 5000
- 分数 最后 64 步训练 loss,越低越好
- 数据 FineWeb · 1024 词表 · 序列长 256
- 种子 每个模型 42–45 各一次
- 模型 159 对,宽 256 或 384,3–11 层
159 个模型里 157 个变好,幅度集中在 0.002–0.006
每个模型都在同样 4 个种子(42–45)上,用 softcap 30 和 15 各跑一次。logit softcap 把输出 logits 变成 c·tanh(z/c),c 越小,单个 token 的 logit 越难变得极端。平均变化 -0.0038 ± 0.0002(标准误),中位数 -0.0034。
12 到 20 是平台,7.5 明显过头
11 个模型扫过 4 个以上的 softcap 值。橙色是中位数:12、15、20 几乎一样,7.5 反而比 30 还差。在同时测过 15 和 20 的 60 个模型里,15 更好的占 50%,两者打平。
排名基本不变:softcap 是整体平移(两份排行榜的名次相关 0.78)
把 softcap 30 下的排行榜整体换成 15,点基本落在下移后的对角线上。散开的部分和两次独立测量的噪声同一量级,所以已有排名不用重跑也能沿用。
层数越多、GDN 越多,收益越小
收益在浅层模型上最大:3 层 -0.0047,4 层 -0.0038,5 层 -0.0023。含两层 GDN 的模型收益也小一些。这和“softcap 限制的是输出端的极端 logit”一致:更深或带递归记忆的模型可能本来就不那么容易出现极端 logit,但这里没有直接测 logit 分布。
还没回答的问题
只测了 120 秒。更长的训练里 softcap 的作用可能变小或变大。
同一模型、同一种子的两次 softcap 对比,差值本身的噪声只有 0.0030,远小于两次独立运行的 0.0087(见“种子噪声”报告),所以 0.004 的平移在每个模型上都能单独看出来。