DeepMind:JAX/PyTorch 等标准 Softmax/交叉熵藏两处数值洞
Google DeepMind 的 Jonathan Barron 等发文(arXiv:2610.31642):现行 softmax、log-softmax 与交叉熵实现普遍存在 Softmax Collapse 与 Softmax Cancellation;用 softplus/expm1/log1p 重写即可修复,并消除 grokking 中的「slingshot」尖刺。Barron 称洞最早由 Gemini Flash 3.7 发现,多数实验由 Flash 3.8 完成。
Collapse:当正确类 logit 远大于其余类时,标准实现把目标梯度舍入成 0,非目标梯度却仍非零,梯度不再和为 0;在 Adam/AdamW 下会触发反复的 loss 尖刺(slingshot)。Cancellation:蒸馏里学生 logit 贴近教师时,分别算概率再相减会丢精度,甚至学生=教师仍给出非零梯度。作者给出 JAX 片段,并称在 bf16/fp32/fp64 上无需抬高精度即可保持准确、零和梯度。
论文还推导:有权重衰减时,logit margin 会在约 log(1/ε) 处与 Adam 的 ε 达成平衡;默认 ε=1e-8 恰好比 fp32 的精度悬崖略高,解释了为何标准实现容易撞 cliff。Barron 在 X 补充写作流程:Gemini 4 Argon 起草后按其旧文风格改写。这是训练基建向新闻,不是新模型发布;但对高置信预测与蒸馏流水线,值得当 drop-in 候选。


