TwKit
正在载入
TwKit

流行的标准库pytorch等其他库中,现有 softmax 和 cross-entropy(交叉熵)的实现都有bug! Jon Barron(Google … · @Zen_with_AI · TwKit

@Zen_with_AI

流行的标准库pytorch等其他库中,现有 softmax 和 cross-entropy(交叉熵)的实现都有bug! Jon Barron(Google DeepMind 的首席研究科学家)发现了 所有现有 softmax 和 cross-entropy(交叉熵)实现中的两个微妙数值 bug(包括 JAX、PyTorch、教科书公式等)。 两个 bug 1. Softmax Collapse(Softmax 崩溃) 当某一个 logit 远大于其他 logit 时,该 logit 的梯度会静默地四舍五入变成 0,但其他 logit 的梯度不会,导致梯度总和不再为 0(违反了 softmax 梯度的基本性质)。 这个现象之前被 Prieto 等人(2025)指出过,但没有直接修好。 2. Softmax Cancellation(Softmax 抵消) 当学生模型的软输出 logits 与教师模型的软目标 logits 非常接近时(例如知识蒸馏初始化时 student = teacher),当前实现仍会产生非零梯度,而理论上应该是零。 论文 arXiv:https://arxiv.org/abs/2610.31642 交互式演示:https://jonbarron.info/softmaxfix/demo.html 这个 bug 最初是由 Gemini Flash 3.7 发现并修复的,大部分实验由 Flash 3.8 完成。Gemini 4 Argon 写了论文初稿和图表。 问题是,,,如果这个bug, 根据这个bug写的各种算法,大模型,会不会反而效果变差🤣

曝光 923 · 评论 3 · 点赞 10 · 书签 6

查看原帖