DeepMind 论文揭示 Softmax 与交叉熵的浮点舍入 Bug,Gemini Flash 3.7 率先发现并修复
AI教科书全错!底层公式惊天Bug曝光,Gemini率先自我修复
AI 导读
Google DeepMind 的 Jon Barron 团队在 arXiv 提交论文《Softmax和交叉熵的修复》,指出 PyTorch、JAX 及教科书中的标准 Softmax 与交叉熵实现存在浮点舍入 Bug。标准实现为防溢出先减去最大得分,分母中极小的数字在模型足够自信时会被舍入为零,正确梯度随之消失,论文称之为 Softmax 崩溃,此前被当作顿悟特征的弹弓效应实为该 Bug 所致。修复方案是对交叉熵改用 log-sum-exp 计算边距并返回 softplus,蒸馏场景则在对数空间使用 expm1 和 log1p 以消除幽灵梯度。在模加法(a + b mod 31)任务中,bfloat16 精度下标准代码测试准确率仅 93.3% 且极不稳定,修复后达 100.0%。
推荐理由
文章讲清了模型越自信、正确梯度越容易被浮点舍入抹掉的机制,并给出对应的 Softmax 与蒸馏修复写法。
相关论文