Grokking or Glitching? How Low-Precision Drives Slingshot Loss Spikes¶
会议: NeurIPS 2026
arXiv: 2605.06152
代码: https://github.com/google-deepmind/nanodo
领域: 优化/理论
关键词: 弹弓机制 (Slingshot), 浮点精度限制, 吸收误差, 神经坍缩 (Neural Collapse), 数值特征膨胀 (NFI)
一句话总结¶
论文证明无正则长周期训练中周期性出现的“弹弓”损失尖峰(Slingshot Loss Spikes)并非模型固有的优化动态,而是交叉熵中低浮点精度吸收误差破坏类别梯度的零和约束后,引发分类器与特征均值反向指数膨胀(数值特征膨胀 NFI),进而因梯度突然重现与 Adam 膨胀步长共同诱发的大幅参数震荡。
研究背景与动机¶
在神经网络的超长周期训练与 Grokking(泛化延迟突破)研究中,模型在训练准确率达到 100% 之后经常表现出极其奇特的周期性不稳定性:倒数第二层特征与输出分类器权重的范数呈现出接近指数级的剧烈增长,随后训练损失突然发生剧烈爆炸(暴增至接近随机猜测水平),紧接着测试准确率呈阶梯式跃升。这一现象被称为“弹弓机制”(Slingshot Mechanism)。过去的主流观点通常将其归因于模型内部的优化动力学,例如解释为优化器在损失曲面上周期性跨越稳定边界(Edge of Stability, EOS),或者是自适应优化器如 Adam 在不同尺度梯度交互下的本征动力学行为。
然而,基于连续梯度流和光滑优化的传统理论分析与这一现象存在根本性矛盾。理论上,在无显式权重衰减的交叉熵损失下,随着预测概率趋近于单热标签(One-hot),Hessian 矩阵的最大特征值 \(\lambda_{\max}\) 会渐近趋近于零,损失曲面在后期应当极端平坦,根本不存在促成传统 EOS 剧烈振荡的曲率条件;若仅靠纯实数域梯度下降实现无正则 Grokking,理论估计甚至需要天量(约 \(10^{100}\) 步)时间。近期有研究虽然注意到降低计算精度会加剧尖峰,并揭示了当正确类 logit 远大于错误类时会引发反向传播正确类梯度截断为零的“Softmax 坍缩”(Softmax Collapse, SC),但大多将其视为单纯阻碍泛化或模型自我逃离的被动反应,未曾理清弹弓尖峰的真正因果链条。
本文的切入视角直指深层训练实现中最底层的基础设施——浮点运算的有限精度吸收误差。在实数计算下,交叉熵对各类别分类权重的梯度天然满足严格的零和约束,全局分类器均值本应静止不动;然而一旦进入高置信阶段触发 SC,正确类别梯度截断为零而错误类别梯度依然保留微弱残差,零和约束被硬生生打破。核心 idea:浮点吸收误差打破了跨类别梯度的零和约束,诱发分类器全局均值与特征全局均值形成反平行正反馈闭环(数值特征膨胀 NFI),驱动范数指数暴涨直至离群样本裕度失守、正确类梯度突现,在 Adam 极大有效学习率放大下直接引爆弹弓尖峰。
方法详解¶
整体框架¶
本文构建了从底层浮点截断误差到顶层网络损失震荡的完整物理闭环。整个动态演化可划分为三个核心阶段:高置信下的浮点吸收与 Softmax 坍缩、由零和破缺引发的数值特征膨胀(\(\mathcal{NFI}\))正反馈循环、以及边界脆弱性诱发的梯度重现与 Adam 暴击。
在训练后期,模型特征收敛到神经坍缩(Neural Collapse, NC)构型,样本特征向类均值聚集且居于单纯形等角紧框架(Simplex ETF)。当置信度进一步增高,正确类别 logit 与错误类别之差超过尾数精度阈值,Log-Sum-Exp 中的微弱残差被吸收,导致正确类梯度严格归零。此时类别梯度的代数和不再为零,产生的微小残差沿特征全局均值方向对分类器均值施加定向漂移;分类器均值的偏移反过来通过反向传播将特征均值推向反平行方向,二者互为因果形成离散动力学中的超不稳定正反馈。随着特征均值无限暴涨,类内离群样本在判定边界处发生裕度坍塌,沉寂已久的正确类梯度瞬间重现,撞上被 Adam 状态估计放大到极致的有效步长,产生百倍幅度的参数跃迁,瞬间砸烂原有特征构型并导致损失激增。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["高置信训练后期<br/>Logit 差超出尾数精度阈值"] --> B["浮点吸收误差与零和破缺<br/>正确类梯度归零,残差留在错误类"]
B --> C["数值特征膨胀正反馈 (NFI)<br/>分类器均值与特征均值反平行指数暴涨"]
C --> D["裕度脆弱化与梯度重现<br/>离群样本跌破吸收阈值,正确类梯度突现"]
D --> E["Adam 有效步长脉冲放大<br/>有效学习率激增,引发弹弓损失尖峰"]
关键设计¶
1. 浮点吸收误差与零和约束破缺:截断失衡引入确定性漂移
在理想的无偏实数算术中,交叉熵损失对样本在分类器第 \(k\) 行权重 \(\bm{W}_k\) 上的梯度为 \(\nabla_{\bm{W}_k}\mathcal{L} = (\hat{y}_k - y_k)\bm{h}\)。对所有 \(K\) 个类别求和时,由于预测概率归一化 \(\sum_k \hat{y}_k = 1\) 且标签单热和 \(\sum_k y_k = 1\),类别梯度之和恒等于零:
$\(\sum_{k=1}^K \nabla_{\bm{W}_k}\mathcal{L} = \left(\sum_{k=1}^K \hat{y}_k - \sum_{k=1}^K y_k\right)\bm{h} = 0\)$
因此分类器的全局权重中心 \(\bm{W}_G = \frac{1}{K}\sum_k \bm{W}_k\) 的理论期望梯度为零。然而,在以 Float32(尾数精度 \(p=24\))实现的 PyTorch Log-Sum-Exp 算子中,当正确类 logit \(z_r\) 与其他 logit 的差距满足 \(z_r - \max_{k \neq r} z_k > (p-1)\ln 2 \approx 15.94\) 时,浮点加法发生吸收误差,计算所得的分母对数完全由 \(z_r\) 占据,导致反向传播计算所得的正确类梯度 \(g_r = \hat{y}_r - 1 = e^{z_r - z_r} - 1 = 0\) 严格为零。但对于错误类别 \(k \neq r\),其梯度仍保留极小的非零正值 \(g_k = e^{z_k - z_r} > 0\)。代数求和因此变为 \(\sum_k \nabla_{\bm{W}_k}\mathcal{L} \xrightarrow{SC} \sum_{k \neq r}\hat{y}_k \bm{h} = \epsilon \bm{h}\),其中 \(\epsilon = \sum_{k \neq r}\hat{y}_k > 0\)。在平衡批次特征均值为 \(\bm{\mu}_G\) 的前提下,这赋予了全局分类中心一个沿着 \(-\bm{\mu}_G\) 方向的确定性持续漂移:
$\(\mathbb{E}_{\mathcal{B}}[\Delta \bm{W}_G] = -\frac{\eta \epsilon}{K}\bm{\mu}_G\)$
2. 数值特征膨胀机制(NFI):反平行耦合下的指数级范数爆炸
一旦分类器均值 \(\bm{W}_G\) 偏离原点,其几何结构脱离了标准 Neural Collapse 的 Simplex ETF 形式,转为中心化权重 \(\bm{W}_k^* = \bm{W}_k - \bm{W}_G\) 满足 ETF 对称性且正交于 \(\bm{W}_G\)。在反向传播向倒数第二层特征 \(\bm{h}\) 传递梯度时,\(\nabla_{\bm{h}}\mathcal{L} = \sum_k (\hat{y}_k - y_k)(\bm{W}_G + \bm{W}_k^*)\)。在正确类项归零后,沿 \(\bm{W}_G\) 方向的投影恰好为:
$\(\text{Proj}_{\bm{W}_G}(\nabla_{\bm{h}}\mathcal{L}) = \epsilon \bm{W}_G\)$
这意味着参数更新 \(\bm{h} \leftarrow \bm{h} - \eta \nabla_{\bm{h}}\mathcal{L}\) 会迫使特征均值 \(\bm{\mu}_G\) 叠加一个朝向 \(-\bm{W}_G\) 的位移。由于 \(\Delta \bm{W}_G \propto -\bm{\mu}_G\) 且 \(\Delta \bm{\mu}_G \propto -\bm{W}_G\),两者构成由对角转移矩阵驱动的离散二阶动力学系统:
$\(\begin{bmatrix}\bm{W}_G^{(t+1)} \\ \bm{\mu}_G^{(t+1)}\end{bmatrix} = \begin{bmatrix} I & -\frac{\eta\epsilon}{K} I \\ -\eta\epsilon I & I \end{bmatrix} \begin{bmatrix}\bm{W}_G^{(t)} \\ \bm{\mu}_G^{(t)}\end{bmatrix}\)$
该系统的最大特征值为 \(\lambda_1 = 1 + \eta\epsilon/\sqrt{K} > 1\),对应的主特征向量严格满足 \(\bm{W}_G = -\frac{1}{\sqrt{K}}\bm{\mu}_G\)。这导致 \(\bm{W}_G\) 与 \(\bm{\mu}_G\) 的余弦相似度在长时间迭代下必然趋近于 \(-1\)(完全反平行),同时两者的范数按 \((1 + \eta\epsilon/\sqrt{K})^t\) 发生指数级暴涨,并迫使全部特征向一维均值子空间凝聚。
3. 边界裕度坍缩与梯度重现:Adam 放大倍率引爆参数震荡
在 \(\mathcal{NFI}\) 的指数膨胀阶段,由于漂移增量与各样本的错误类概率残差 \(\epsilon_i\) 成正比,靠近决策边界的样本(残差更大)在 \(\bm{\mu}_G\) 方向漂移速度显著快于中心样本。这使得类内方差逐步反超类间区分度,部分离群样本与决策边界的实际裕度不升反降,最终跌破浮点吸收阈值 \((p-1)\ln 2\)。此时,沉寂已久的正确类别梯度 \(g_r\) 发生阶跃式突现(从精确的 \(0\) 突跳至 \(> 1.19 \times 10^{-7}\))。在此之前,长期处于近乎零梯度的 Adam 优化器二阶矩累积量 \(v_t\) 已衰减至微小数值,有效学习率上界被推高到 \(\eta / \varepsilon_{\text{Adam}} = 10^{-3} / 10^{-8} = 10^5\)。突跳的梯度在未经阻尼的一阶矩与极小二阶矩共同作用下,瞬时更新步长激增超过 40-50 倍,对全网参数施加剧烈的定向震荡,将损失强行炸回无序猜测量级,由此触发宏观可见的弹弓尖峰。
损失函数 / 训练策略¶
实验统一采用无显式权重衰减(Weight Decay = 0.0)的标准交叉熵损失,搭配 Adam 优化器进行全批次(Full-batch)或大批次长步数训练。对于模运算任务,采用 2 层 Transformer(\(d_{model}=128\), \(n_{head}=4\))与 6 层 MLP 在素数 \(p=97\) 上训练 100,000 步;CIFAR-10 上评估 6 层 MLP、VGG11、ResNet18 及 12 层 ViT,训练周期长达 10,000 个 Epoch,初始学习率 \(\eta=10^{-3}\),Adam 参数通常设为 \(\beta_1=0.9, \beta_2=0.95\) 或 \(0.999\),\(\varepsilon=10^{-8}\)。
实验关键数据¶
主实验¶
论文在多种模型与任务体系上跨架构验证了 Slingshot 机制的存在性与触发规律,并重点考察了架构动力学对残差概率 \(\epsilon\) 的抑制能力。
| 数据集 / 任务 | 模型架构 | 是否出现 Slingshot 尖峰 | 关键动力学机制表现 | 验证位置 |
|---|---|---|---|---|
| 模算术除法 (\(p=97\)) | 2-layer Transformer | 是 (Yes) | 周期性尖峰伴随测试准确率阶梯式跃升至 100% | 图 6 |
| 模算术除法 (\(p=97\)) | 6-layer MLP | 是 (Yes) | 准确率阶梯上升,分类器与特征范数指数增长 | 图 7 |
| CIFAR-10 图像分类 | 6-layer MLP | 是 (Yes) | \(\bm{W}_G\) 与 \(\bm{\mu}_G\) 反平行对齐 (\(\cos \to -1\)),强尖峰 | 图 8 |
| CIFAR-10 图像分类 | VGG11 (无分类前BN) | 是 (Yes) | 长期低损失后突发震荡,残差 \(\epsilon\) 衰减停滞 | 图 9 |
| CIFAR-10 图像分类 | VGG11 (仅卷积层带BN) | 是 (Yes) | 后续 ReLU 重新引发秩坍缩,尖峰依然存在 | 图 10 |
| CIFAR-10 图像分类 | ViT (12-layer, 10M) | 是 (Yes) | 注意力架构同样触发 \(\mathcal{NFI}\) 指数膨胀与尖峰 | 图 11 |
| CIFAR-10 图像分类 | ResNet18 | 否 (No) | 残差 \(\epsilon(t)\) 极速衰减 (\(\propto 1/t\)),先验阻断指数级膨胀 | 图 12 |
消融实验¶
针对 \(\mathcal{NFI}\) 机制中的各要素,作者设计了针对精度、优化器参数、几何约束与归一化位置的多维度干预消融。
| 配置 / 干预手段 | 关键指标 / 稳定性表征 | 说明 |
|---|---|---|
| Baseline (Float32 Adam, \(\varepsilon=10^{-8}\)) | 周期性剧烈尖峰,损失跃迁至 \(10^0\) | 标准环境,触发 \(\mathcal{NFI}\) 与弹弓尖峰 |
| 纯 Logits/Loss 转 Float64 | 尖峰完全消失 (0 次 Spike) | 吸收阈值推高至 \(2^{-52} \approx 2.22 \times 10^{-16}\),证明源于浮点截断 |
| 梯度强制零和投影 (\(g \leftarrow g - \frac{1}{K}\sum g_k\)) | 尖峰完全消除 | 人工恢复零和约束,阻断 \(\bm{W}_G\) 漂移,消除正反馈 |
| 调大 Adam 阻尼 (\(\varepsilon=10^{-6}\)) | 尖峰发生频率显著降低 | 压缩有效步长上界 \(\eta/\varepsilon\),延缓梯度暴发 |
| 调大 Adam 阻尼 (\(\varepsilon=10^{-5}\)) | 尖峰完全消失 | 有效学习率上界被压制至安全阈值内 |
| 分类器前添加 LayerNorm | 尖峰提前触发且范数呈阶梯暴增 | 约束特征范数使得微小角度偏差即跌破阈值,恶化稳定性 |
| 分类器前紧邻添加 BatchNorm | 尖峰完全消除 | 强行扣除批次均值 \(\bm{\mu}_G\),从根本上斩断 \(\mathcal{NFI}\) 反馈环 |
| 引入标签平滑 (Label Smoothing) | 消除 \(\mathcal{NFI}\) 尖峰,引入 EOS 振荡 | 软标签阻止 logit 无限发散,但使 Hessian 特征值非零 |
关键发现¶
- 尖峰步长的理论与实测完全闭合:理论推导预估在梯度突现瞬间,Adam 的瞬时参数更新量为 \(\eta \frac{m_t}{\sqrt{v_t}+\varepsilon} \approx 4 \times 10^{-4}\);在真实实验测量中,分类器层参数更新分布在尖峰步恰好分裂出分别位于 \(+4 \times 10^{-4}\) 与 \(-4 \times 10^{-4}\) 的两个极端尖锐双峰(平时平均更新仅为 \(1 \times 10^{-5}\)),证实尖峰纯粹是梯度突现遇到过度膨胀有效步长的确定性数值放大。
- ResNet18 免疫的本质是优化速度:残差概率质量 \(\epsilon(t)\) 的演化速度决定了膨胀是指数级还是次线性级。ResNet18 强大的特征提取能力使其分类裕度扩大极其迅猛,\(\epsilon(t)\) 衰减速度达到 \(1/t\) 或更低,导致累积膨胀系数退化为多项式级,从而在 \(\mathcal{NFI}\) 形成杀伤力前脱离了危险区间。
- 隐式微扰助力 Grokking:在模算术等任务中,每一次由数值精度缺陷砸出的弹弓损失爆炸,都等价于一次超大步长的全局参数重置,迫使网络逃离当前过拟合的尖锐极小值,寻找更平坦、更具泛化性的真实算术流形。
亮点与洞察¶
- 将纯优化神秘现象降维为数值精度缺陷:跳出了既往文献单纯在非凸优化、EOS 边缘稳定性和动力系统混沌中兜圈子的局限,清晰指明该现象是由 PyTorch 中极其常见的 Log-Sum-Exp 浮点吸收误差一手造成的,Float64 计算损失即可彻底规避。
- 揭示了深层特征与权重的反平行正反馈闭环:严密证明了在 Neural Collapse 状态下,微弱的非零残差会通过前向投影与反向传递,将原本互不干扰的分类中心与特征中心锁定在余弦相似度 \(-1\) 的极端对冲态,形成了教科书级别的发散动力学模型。
- 厘清了不同归一化层的微观差异:明确指出了 LayerNorm(单样本归一化,管不住整体均值漂移)与 BatchNorm(批次中心化,直接消灭 \(\bm{\mu}_G\))在抑制数值特征膨胀时的截然不同表现,为大模型后期训练的架构设计提供了直接借鉴。
局限与展望¶
- 无约束特征模型(UFM)假设的约束:理论推导中假定倒数第二层特征具有任意表达能力(UFM),特征梯度能直接等价为特征位移;对于浅层网络或受限于严重归纳偏置的结构,特征演化可能被深层约束压制,这也解释了为何浅层网络较难稳定复现弹弓现象。
- 在更广泛语言模型中的机理分流:在自然语言长序列训练中,高频词汇遵循齐夫定律(Zipf's law)带来的天然不平衡性本身就会诱发显著的输出嵌入中心漂移,导致高精度下的 logit 增长反而更为剧烈,说明真实大模型的 logit 发散存在多重数值机制并存。
- 低精度量化时代的隐患应对:当前大模型预训练全面迈向 BF16、FP8 甚至 FP4,尾数位数急剧缩水(如 FP8 尾数仅 2-3 位),吸收误差阈值大幅下移,如何在线监测并校正零和破缺值得成为底层训练框架的标准组件。
相关工作与启发¶
- vs Thilak et al. [1] (Slingshot 原作): 原作将其归因于自适应优化器内在的非凸动力学震荡及 EOS 边缘跃迁;本文通过反证法(Float64 下尖峰完全蒸发、大步长纯 GD 同样复现同周期尖峰)证明其核心诱因完全是浮点吸收误差与 \(\mathcal{NFI}\),而非优化器自身的本征动力学。
- vs Prieto et al. [5] (Softmax Collapse): 前作揭示了高置信下正确类梯度被截断归零的 Softmax 坍缩,但认为其仅导致泛化停滞,并猜测弹弓是模型的主动逃逸;本文指出 SC 的二次效应是打破跨类别零和约束,从因果链上证明了 SC 是直接导致特征膨胀和弹弓爆发的触发器。
- vs Cohen et al. [3] (Edge of Stability, EOS): EOS 依赖于损失函数曲面在训练后期的渐进锐化(Progressive Sharpening);本文证明在交叉熵分类任务中,模型趋于插值解时 Hessian 最大特征值必然趋于零,弹弓损失爆炸与曲率无关,两者物理机制不可混淆。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 颠覆了长久以来对弹弓机制的纯优化解释,理论闭环与机制证明极具穿透力。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖模运算、CV(MLP/CNN/ViT)及大语言模型,理论预测的参数跳变数值与实测完美重合。
- 写作质量: ⭐⭐⭐⭐⭐ 概念清晰,公式推导严谨自洽,对反直觉现象给出了极具说服力的原理解释。
- 价值: ⭐⭐⭐⭐⭐ 为大模型长周期训练稳定性、FP8/FP4 低精度量化训练陷阱的排查提供了至关重要的理论基石。