←新闻详情

腾讯混元 Research更新于 10月14日 12:28

腾讯混元提出 GradLoc 与 LayerClip:定位 RLVR 训练崩溃的异常词元

Stabilizing RLVR via Token-level Gradient Diagnosis and Layerwise Clipping

AI 导读

腾讯混元提出梯度异常定位器 GradLoc,基于分布式二分搜索将 RLVR 训练中的梯度突刺定位到单个异常词元,复杂度为 O(log N)。GradLoc 还识别出一类新崩溃模式——层间梯度异质性:异常词元的重要性采样比率处于合理区间,但某些层的梯度范数极端大。为此团队提出分层梯度裁剪 LayerClip,基于各层历史统计量分别施加动态约束,显著提升 RLVR 训练稳定性。

正文

# 核心发现

🔥 核心发现

梯度突刺导致的RLVR 训练崩溃 :频繁的梯度突刺与训练崩溃,阻碍了 RLVR 在大语言模型上的性能持续提升。先前方法大多使用黑盒启发式策略,来缓解以训练-推理不一致为代表的问题;但由于梯度突刺并非单一原因导致,依然难以实现长期训练的稳定性。

将梯度突刺定位到单个异常词元 :我们从黑盒启发式策略转向白盒诊断,提出适用于分布式计算的 异常梯度定位工具(Gradient Anomaly Localizer (GradLoc)) ,将梯度突刺精准定位到 异常词元(token) 。GradLoc基于二分搜索,具有$O(\log N)$的复杂度和较高的定位成功率。 (详见 §GradLoc)

新的崩溃模式:层间梯度异质性 :GradLoc定位到的异常词元显示,异常往往源自 语义连贯 但具有病态 数值属性 (如极端重要性采样比率 (IS ratio))的词元,而不是语义层面的“脏数据”。除已知的训练-推理不一致外,GradLoc 还识别出一类新异常:这些词元的重要性采样比率处于合理区间内,但呈现严重的 层间梯度异质性 特点:该词元对应的梯度中,来自模型某些层的梯度范数极端大,而来自其他层的部分则相对正常。 (详见 §Type B(新): 层间梯度异质性)

分层梯度裁剪(LayerClip) :在层间梯度异质性发生时,全局梯度裁剪会因少数异常层的主导作用而失去效果。为此,我们提出分层梯度裁剪(Layerwise Gradient Clipping, LayerClip),基于各层的历史统计量分别对其梯度施加动态约束,从而显著提升 RLVR 训练的稳定性。 (详见 §Type B 解决方案: 分层梯度裁剪)

# 梯度突刺导致的RLVR 训练崩溃 训练易崩溃是大语言模型的可验证奖励强化学习(Reinforcement Learning with Verifiable Rewards,RLVR )[^OpenAI o1][^DeepSeek-R1] 的重要挑战,这种训练崩溃常表现为模型性能指标在训练中的突然下降,伴随着频繁的**梯度突刺**(gradient spikes)。现代大模型训练框架[^verl][^areal][^slime]为支持基于长思维链推理的高效 RLVR 训练,引入了KV-cache 量化[^KVQuant]、自定义 kernel 融合[^vLLM]、异步数据生成[^Kimi k1.5] 等加速手段,进一步放大了这种不稳定性。这些加速策略会引入来自数值精度损失、数据陈旧等来源的近似误差,导致工业生产中的 RLVR 训练逐渐演化成为一个复杂系统,使得 RLVR 难以在长期训练中保持稳定,且使对 RLVR 训练动态的分析变得困难。

本质上,训练崩溃源于由累积的梯度异常导致的参数更新异常。在全局监控指标中,这些异常频繁表现为梯度突刺(gradient spikes)。为消除这些突刺,先前工作通常采取黑盒“猜测-验证”范式:基于全局指标的观察推测一个潜在的原因(例如**训推不一致**[^TIS]),再施加宽泛的缓解措施(例如系统侧调整[^FP16][^LR_Scheduling] 或基于重要性采样比率的约束[^TIS][^IcePop][^SeqClipNoDetail][^SeqClip])。但由于 RLVR 训练作为复杂系统,梯度突刺由多种因素导致,这些方法会因为缺乏数据层面的具体证据,导致对问题的分析和解决不完整,缺乏系统性,从而使得其修复脆弱,在后续训练中再度遭遇崩溃。

为解决 RLVR 训练不稳定性问题,我们将分析与解决问题的方法论转向**白盒、证据驱动**,建立了一套用于异常归因、分析和解决的系统化框架。具体而言,我们开发了**梯度异常定位器(Gradient Anomaly Localizer, GradLoc)**,将全局梯度突刺定位到具体的**异常词元**。这让分析模式从“碎片化策略”变成对训练崩溃来源的**系统化分类**;通过逐类消除异常,往往能带来 RLVR 训练稳定性的单调增加,大大加速研发节奏。

# GradLoc:将梯度突刺定位到单个异常词元 分析复杂系统的第一步是建立**细粒度的可观测性**。常规日志和全局监测指标只能告诉我们“全局梯度发生突刺”,却无法回答其具体来源。由于缺乏词元级的归因能力,先前方法主要依赖黑盒实验:先基于全局监测指标做出多种原因猜测,然后逐个提出对应的解决方案,最后通过实验验证方案的有效性。重要性采样比率裁剪[^TIS]是一个显著的成功案例,但更多类似的启发式修改并不奏效、也难以泛化,原因在于同一个全局现象(梯度突刺)可能由不同因素导致,因此相关算法改进的整体成功率有限。

为实现精确归因,我们引入基础设施工具**GradLoc**,将全局梯度突刺定位到具体异常词元,从而实现对梯度异常的系统性分类与解决。然而,精确的定位带来了计算挑战:在全局批次($N \sim 10^7$)上进行朴素遍历是不可接受的。GradLoc 通过分布式二分搜索规避了这一问题,将复杂度降低至 $O(\log N)$。在实践中,它作为一个“常驻(always-on)”监控器运行,在正常的训练步中保持休眠,仅在梯度突刺时激活。虽然定位过程会将发生突刺的训练步耗时延长 $1\times$ 到 $3\times$,但摊销后的开销微乎其微:因为突刺要么是健康训练中罕见的异常,要么是不可逆崩溃的症状(此时应终止训练并排查问题)。

## 阈值偏移下的二分定位

**异常定位框架** GradLoc在 FSDP 后端集成了四阶段定位流程。具体来说,GradLoc利用FSDP的前向-反向传播(forward-backward)机制配合损失掩码(loss masking)实现二分搜索中的分支计算,并通过在分布式计算的各个阶段动态设定梯度异常阈值,防止漏检和误检。漏检意味着无法定位异常根源,而误检则会导致在梯度正常的训练步(step)触发检测,造成不必要的训练算力浪费。各阶段的具体定位逻辑如下: * **阶段 1:全局触发**:检查当前 batch 的全局梯度范数 $\|\mathbf{G}\|$,若超过阈值 $\tau_{global}$ 则触发定位流程。 * **阶段 2:Micro-Batch枚举**:遍历缓存的 micro-batch[^FSDP_footnote],锁定包含异常梯度的 micro-batch。 * **阶段 3:Rank 搜索**:跨设备二分搜索,将范围缩小至具体Rank。 * **阶段 4:词元搜索**:在目标rank的micro-batch中做二分搜索[^Phase4_footnote],定位到具体异常词元并存储异常信息。

作为诊断工具,GradLoc 仅在检测到梯度突刺(gradient spikes)的 step 开启“只读”模式,既不干扰优化目标,也不影响参数更新。此外,我们在所有阶段均引入了**提前终止**(Early Stopping)机制:一旦当前搜索分支的梯度范数低于阈值,检测即刻停止,最大程度降低定位开销。在二分搜索的分裂过程中,GradLoc 采用贪心策略,优先遍历梯度范数较大的一侧分支。

**自适应阈值** 为了最大限度减少对训练效率的影响,GradLoc 需在RLVR 训练稳定时保持“静默”,仅在梯度异常发生时被精确触发。实现这一目标的核心难点在于分布式训练中梯度聚合尺度的动态变化:随着搜索范围从全局 Batch 逐级缩小至单个词元,参与聚合的词元数量($N$)剧烈变化,导致聚合梯度的统计特性发生漂移。使用固定阈值极易导致误报或漏报。因此,我们需要基于各阶段的有效聚合规模推导相应的自适应阈值。

**各阶段阈值计算** 考虑单个词元对应的梯度向量$\mathbf{g} \sim \mathcal{N}(0, s^2 I_D)$,则$n$个词元在 RLVR 训练中对应的聚合后梯度向量$\bar{\mathbf{g}} = \frac{1}{n}\sum_{i=1}^n g_i$范数的期望$\mathbb{E}[n \|\bar{\mathbf{g}}\|_2] = \sqrt{n} \cdot \mathbb{E}[\|\mathbf{g}\|_2]$. 相应的,梯度异常阈值也变为$\frac{\sqrt{n}}{n}$。定义 $\tau_{token}$ 为单个词元梯度范数的异常阈值,在词元平均损失聚合下,新阈值为: $$ \tau = \tau_{token} \cdot \sqrt{n} \cdot \frac{1}{n} $$ 四阶段的自适应阈值分别为[^threshold_footnote]:

**阶段 1:全局触发**:梯度计算涉及全量 $N$ 个词元,聚合效应最强,阈值最低: $$ \tau_{global} = \tau_{token} \cdot \sqrt{N}\cdot \frac{1}{N} = \tau_{token}\cdot \frac{1}{\sqrt{N}} $$

**阶段 2:Micro-Batch枚举**:搜索范围缩小至大小为 $N/M$ 的子集,阈值相应放宽: $$ \tau_{mb} = \tau_{token} \cdot \sqrt{N/M}\cdot \frac{M}{N} = \tau_{token} \cdot \frac{\sqrt{M}}{\sqrt{N}} $$

**阶段 3:Rank搜索**:当检查长度为 $l$ 的 rank 子集时,有效词元数近似为 $N\cdot l/(M \cdot W)$,阈值调整为: $$ \tau_{rank} = \tau_{token} \cdot \sqrt{\frac{N\cdot l}{M\cdot W}}\cdot \frac{M\cdot W}{N\cdot l} = \tau_{token} \cdot \frac{\sqrt{M} \cdot \sqrt{W}}{\sqrt{N}\cdot\sqrt{l}} $$

**阶段 4:词元搜索**:此阶段需在异常 Rank 内重算 $L_{seg}$ 个词元的局部平均损失,阈值设定为: $$ \tau_{seg} = \tau_{token} \cdot \sqrt{L_{seg}} \cdot \frac{1}{L_{seg}} = \tau_{token} \cdot \frac{1}{\sqrt{L_{seg}}} $$

## 计算开销 GradLoc将全局梯度突刺定位到单个异常词元所需的前向-后向计算(forward-backward)总次数为 $O(M + \log N)$。

下表给出了GradLoc在出现梯度突刺的step上,完成异常定位的耗时(最大二分深度 = 60)。尽管检测耗时约为常规 step 训练时间的1-3倍,但它只会在出现突刺时触发。因此,在长跑训练中,摊销后的额外开销几乎可以忽略。

| 重复实验 | 梯度突刺step | 单条数据平均词元数 | 该step常规训练耗时 (s) | GradLoc耗时 (s) | 实验总耗时 (s) | |:------:|:----:|:--------------------:|:-------------:|:------------------:|:-----------------------:| | 1 | 68 | 7,682 | 513 | 1,408 | 38,485 | | 2 | 78 | 15,769 | 1493 | 1,741 | 45,999 | *!12 Table 1: 异常检测工具的计算开销。 !*

## 理论分析 一个常见担忧是:大批次($N$ tokens)数据带来的累积噪声可能掩盖单个异常,导致二分搜索进入无异常路径。在此,我们给出理论分析,说明 LLM 参数的高维度($D$)保证了二分搜索的成功率。

**定理 1**(证明见附录) 令 $\mathcal{G} = \{g_i\}_{i=1}^{N}$ 为逐词元梯度集合,其中 $g_i \in \mathbb{R}^D$。假设 $N-1$ 个词元产生正常随机梯度 $g \sim \mathcal{N}(0, s^2 I_D)$,且存在唯一词元 $k^*$ 产生异常梯度 $g_{k^*} \sim \mathcal{N}(0, \sigma^2 s^2 I_D)$,其中 $\sigma > 1$。当$\epsilon \geq 2e^{-\frac{D}{144\log_2 N}}$且 $\sigma^2 - 1 \geq 2.5 \cdot \frac{N}{\sqrt{D}} \cdot \sqrt{\log \left(1 + \frac{1}{\epsilon}\right)}$时,二分搜索算法能够以至少 $1 - \epsilon$ 的概率定位到 $k^*$。

该定理表明:当方差异常系数 $\sigma$ 超过噪声比值 $\frac{N}{\sqrt{D}}$ 时,可用概率 $1-\epsilon$ 检出异常。这验证了:在高维场景下,用二分搜索做异常定位是数学上可靠的策略。

**模型越大,定位越容易** 从定理 1 得到的关键洞见是:成功概率依赖于 $\frac{N}{\sqrt{D}}$ 这一比值。在现代 LLM 训练中,模型维度 $D$(例如 $10^{10}$)往往远大于 batch 词元数 $N$(例如 $10^{7}$)。这会有效压制 $\frac{N}{\sqrt{D}}$。对典型取值($D=10^{10}, N=10^{7}$),即便对异常强度只有 $\sigma=25$的单个异常词元,理论成功概率也可达到 $99\%$。

# 分析:梯度异常分类 在确认了可行性与可区分性后,我们利用 GradLoc 识别出触发梯度突刺并诱发后续崩溃的确切词元。

**GradLoc 的监控对象:从全局范数到词元梯度** 从标准RLVR 目标出发(以 GRPO[^GRPO] 为代表): $$ \mathcal{J}_{\text{GRPO}}(\boldsymbol{\theta}) = \mathbb{E}_{(q,a) \sim \mathcal{D}, \{o_i\}_{i=1}^G \sim \pi_{\beta}(\cdot|q)} \left[ \frac{1}{G} \sum_{i=1}^G \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} J_{i,t}(\boldsymbol{\theta}) \right] $$ 其中 $J_{i,t}(\boldsymbol{\theta}) = \min \left( r_{i,t} A_{i,t}, \text{clip}(r_{i,t}, 1-\epsilon, 1+\epsilon) A_{i,t} \right)$ 代表单个词元的贡献值。

训练过程中,我们监控**全局梯度范数** $\|\mathbf{G}\|_2$。理论上,这个全局向量就是各词元梯度 $\mathbf{g}_{i,t} = \nabla_{\boldsymbol{\theta}} J_{i,t}(\boldsymbol{\theta})$ 的聚合: $$ \mathbf{G} = \frac{1}{G} \sum_{i=1}^G \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} \mathbf{g}_{i,t} $$ 当训练崩溃发生(表现为 $\|\mathbf{G}\|_2$ 较大,超过阈值)时,**GradLoc** 能把这次全局突刺拆解并精确定位到单个词元 $o_{i,t}$,其对应的个体梯度范数 $\|\mathbf{g}_{i,t}\|_2$ 通常较大。

**GradLoc 输出:词元级证据与异常梯度来源分类** 一旦隔离出这些“异常词元”,就能直接分析它们的属性。由此可以基于具体数据证据结构化地解释为何现有方法会失败,并推动新的算法设计[^exp_setting_footnote]。根据触发崩溃的具体词元,我们把异常梯度来源分为两类:**Type A**(训练-推理不一致)与 **Type B**(层间梯度异质性)。

## Type A:训练-推理不一致

Type A类异常词元的特点是:训练策略与推理/采样策略之间的词元级或序列级概率比率显著偏离 1。

**A.1 词元级不一致**

**GradLoc 的发现** 部署 **GradLoc** 后我们发现:标准 GRPO 下的梯度突刺,常由具有极端**词元级训练-推理不一致**的词元触发。其典型特征是“真实”的重要性采样 (IS) 比率 $\omega_{i,t}(\boldsymbol{\theta})$ 严重偏离 1.0 :例如$ 10^5$:

$$ \omega_{i,t}(\boldsymbol{\theta}) = \frac{\pi_{\boldsymbol{\theta}}(o_{i,t} \mid q, o_{i, **Contributors**: Guanhua Huang$^*$, Tingqiang Xu$^*$, Jinbo Wang$^*$, Guangming Sheng, Siheng Li, Evander Yang, Kejiao Li, Yunxiang Li, Zenan Xu, Qi Yi, Kyrierl Deng, Ziyuan Nan, Yuhao Jiang, Chenchen Zhang, Taiqiang Wu, Feiyuan Zhang, Junhao Wang, Bo Zhou$^{\dagger}$, Alex Chen$^{\dagger}$, Di Wang, Shunyu Yao. > ($*$: equal contribution; ${\dagger}$: corresponding author.)

# Citation ```json @misc{huang-xu-wang-2026-gradloc, title = {Stabilizing { RLVR } via Token-level Gradient Diagnosis and Layerwise Clipping}, author = {Huang, Guanhua and Xu, Tingqiang and Wang, Jinbo and Sheng, Guangming and Li, Siheng and Yang, Evander and Li, Kejiao and Li, Yunxiang and Xu, Zenan and Yi, Qi and Deng, Kyrierl and Nan, Ziyuan and Jiang, Yuhao and Zhang, Chenchen and Wu, Taiqiang and Zhang, Feiyuan and Wang, Junhao and Zhou, Bo and Chen, Alex and Wang, Di and Yao, Shunyu}, year = {2026}, url = {https://hy.tencent.com/research/100015} } ```

# 致谢 我们感谢预训练团队同事在梯度异常问题上的宝贵讨论,以及他们将GradLoc部署到预训练场景后的反馈。同时,感谢后训练团队同事的富有成效的交流,并感谢 Infra 与平台团队提供的技术支持。最后,我们感谢鄂维南、杨周旺、吴磊与王铭泽在大语言模型优化基础理论方面的讨论与交流。

# 附录 ## 定理 1 的证明

**Proof.** 证明依赖于卡方随机变量的集中性性质,以及对算法各步骤的并联合界(union bound)。不失一般性,可令 $s=1$。

**1. 预备知识与记号。** 算法共进行 $L = \log_2 N$ 步。在第 $j \in \{1, \dots, L\}$ 步,令 $\mathcal{S}_\text{anom}$ 表示包含异常向量 $g_{k^*}$ 的子集,$\mathcal{S}_\text{noise}$ 表示只包含标准高斯噪声向量的对立子集。令 $m_j = N / 2^j$ 为第 $j$ 步每个子集中的向量数量。

定义两个子集的和向量为:

$$ X = \sum_{v \in \mathcal{S}_\text{noise}} v, \quad Y = \sum_{v \in \mathcal{S}_\text{anom}} v. $$

由独立高斯的可加性可得分布:

$$ X \sim \mathcal{N}(0, m_j I_D), \quad Y \sim \mathcal{N}(0, (m_j - 1 + \sigma^2) I_D). $$

因此,它们的平方范数服从按比例缩放的卡方分布:

$$ \|X\|^2 \sim m_j \chi^2_D, \quad \|Y\|^2 \sim (m_j + \Delta) \chi^2_D, $$

其中 $\Delta = \sigma^2 - 1$ 为异常带来的额外方差贡献。

**2. 集中界。** 我们使用 Laurent-Massart 对卡方变量 $Z \sim \chi^2_D$ 给出界。对任意 $t > 0$:

$$ \begin{align*} \mathbb{P}(Z - D \geq 2\sqrt{Dt} + 2t) \leq e^{-t}, \\ \mathbb{P}(Z - D \leq -2\sqrt{Dt}) \leq e^{-t}. \end{align*} $$

令 $\delta_j$ 为第 $j$ 步允许的失败概率,取 $t = \log(1/\delta_j)$。

算法在第 $j$ 步出错当且仅当 $\|X\|^2 \geq \|Y\|^2$。我们需要对该事件的概率给出上界。利用集中不等式可得:至少以 $1 - 2\delta_j$ 的概率,有如下界:

$$ \begin{align*} \|X\|^2 \leq m_j (D + 2\sqrt{D t} + 2t) := B_{noise}^{upper}, \\ \|Y\|^2 \geq (m_j + \Delta) (D - 2\sqrt{D t}) := B_{anom}^{lower}. \end{align*} $$

成功($\|Y\| > \|X\|$)的充分条件是 $B_{anom}^{lower} > B_{noise}^{upper}$。代入后:

$$ (m_j + \Delta)(D - 2\sqrt{Dt}) > m_j (D + 2\sqrt{Dt} + 2t). $$

代入 $\Delta = \sigma^2 - 1$,可给出一个充分条件:

$$ \sigma^2 - 1 \geq 5 \frac{m_j}{\sqrt{D}} \sqrt{t} \text{ and } t \le \frac{D}{144}. $$

**3. 并集上界** 算法仅当在所有 $L = \log_2 N$ 步都做出正确选择时才成功。令 $E_j$ 为第 $j$ 步失败事件。我们为每一步分配相同的失败概率预算,设置 $\delta_j = (\frac{\epsilon}{1+\epsilon})^j := \mu(\epsilon)^j$。

由并集上界,总失败概率满足:

$$ \mathbb{P}(\text{Failure}) \leq \sum_{j=1}^{L} \mathbb{P}(E_j) \leq \sum_{j=1}^{L} \mu(\epsilon)^j \leq \frac{\mu(\epsilon)}{1 - \mu(\epsilon)} = \epsilon. $$

将 $t = \log(1/\mu(\epsilon)^j)$ 代回步骤 2 的条件,得到:

$$ \begin{align*} & t \le \frac{D}{144} \\ \Leftrightarrow & -j\log \mu(\epsilon) \leq \frac{D}{144} \text{ for } 1 \leq j \leq \log_2 N \\ \Leftarrow & -\log_2 N \log\frac{\epsilon}{2} \le \frac{D}{144} \text{ by } \frac{\epsilon}{1+\epsilon} \geq \frac{\epsilon}{2} \\ \Leftrightarrow & \epsilon \geq 2e^{-\frac{D}{144\log_2 N}}. \end{align*} $$

并且

$$ \begin{align*} & \sigma^2 - 1 \geq 5 \frac{m_j}{\sqrt{D}} \sqrt{-j\log \frac{\epsilon}{1+\epsilon}} \text{ for } 1 \leq j \leq \log_2 N \\ \Leftrightarrow & \sigma^2 - 1 \geq 5 \frac{N}{\sqrt{D}} \sqrt{\log (1 + \frac{1}{\epsilon})}\frac{\sqrt{j}}{2^j} \text{ for } 1 \leq j \leq \log_2 N\\ \Leftrightarrow & \sigma^2 - 1 \geq 2.5 \frac{N}{\sqrt{D}} \sqrt{\log (1 + \frac{1}{\epsilon})}. \end{align*} $$

第二个 $\Leftrightarrow$ 使用了 $\frac{\sqrt{j}}{2^j} \leq \frac{1}{2}$,因此满足定理 1 中的条件即可。在该条件下,每一步都能选中正确的异常子集,最终以至少 $1-\epsilon$ 的概率定位到唯一异常 $g_{k^*}$。

[^OpenAI o1]: [OpenAI o1 System Card](https://arxiv.org/abs/2412.16720)

[^DeepSeek-R1]: [DeepSeek-R1 incentivizes reasoning in LLMs through reinforcement learning](https://www.nature.com/articles/s41586-025-09422-z)

[^verl]:[HybridFlow: A Flexible and Efficient RLHF Framework](https://arxiv.org/abs/2409.19256)

[^areal]:[AReaL: A Large-Scale Asynchronous Reinforcement Learning System for Language Reasoning](https://arxiv.org/abs/2505.24298)

[^slime]:[slime: An LLM post-training framework for RL Scaling](https://github.com/THUDM/slime)

[^KVQuant]: [KVQuant: Towards 10 Million Context Length LLM Inference with KV Cache Quantization](https://arxiv.org/abs/2401.18079)

[^vLLM]: [Efficient Memory Management for Large Language Model Serving with PagedAttention](https://dl.acm.org/doi/10.1145/3600006.3613165)

[^Kimi k1.5]: [Kimi k1.5: Scaling Reinforcement Learning with LLMs](https://arxiv.org/abs/2501.12599)

[^LR_Scheduling]: [Beyond Precision: Why Training-Inference Mismatch is an Optimization Problem and How Simple LR Schedules Fix It](https://richardli.xyz/mismatch-lr-schedule)

[^TIS]: [Your Efficient RL Framework Secretly Brings You Off-Policy RL Training](https://fengyao.notion.site/off-policy-rl)

[^CISPO]: [MiniMax-M1: Scaling Test-Time Compute Efficiently with Lightning Attention](https://arxiv.org/abs/2506.13585)

[^GPPO]: [CE-GPPO: Coordinating Entropy via Gradient-Preserving Clipping Policy Optimization in Reinforcement Learning](https://arxiv.org/abs/2509.20712)

[^IcePop]: [Small Leak Can Sink a Great Ship—Boost RL Training on MoE with IcePop!](https://ringtech.notion.site/icepop)

[^SeqClip]: [DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models](https://arxiv.org/abs/2512.02556)

[^FSDP]: [PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel](https://arxiv.org/abs/2304.11277)

[^GRPO]: [DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models](https://arxiv.org/abs/2402.03300)

[^Qwen3]: [Qwen3 Technical Report](https://arxiv.org/abs/2505.09388)

[^FP16]:[Defeating the Training-Inference Mismatch via FP16](https://arxiv.org/html/2510.26788v1)

[^1st_approx]: [Stabilizing Reinforcement Learning with LLMs: Formulation and Practices](https://arxiv.org/abs/2512.01374)

[^exp_setting_footnote]: 实验设置:模型:Qwen3-4B-Instruct;学习率 $\eta=2 \times 10^{-6}$;prompt batch size = 128;rollout.n = 8;maximum response length = 32,768;partial rollout chunk size = 4,096;TIS 裁剪区间为 [0, 5];ICEPOP 裁剪区间为 [0.5, 5.0];SeqClip 裁剪区间为 [0.995, 1.005]。

[^FSDP_footnote]: 在 FSDP 中,梯度会跨 micro-batch 累积。如果先做 rank 搜索,那么评估每个 rank 子集都需要在所有 $M$ 个 micro-batch 上重新累积梯度(即 $M$ 次 forward-backward)。先隔离出目标 micro-batch 后,后续的 rank 搜索只需对单个 micro-batch 重算,从而将复杂度从 $O(M \cdot \log W)$ 降为 $O(M + \log W)$。

[^Phase4_footnote]: 实际上,Phase 4 执行的是二叉分段树上的深度优先搜索(DFS),而非标准的单路径二分搜索。在实际诊断中,我们通常无需穷举所有异常 token,只需锁定贡献较大的“罪魁祸首”即可归纳出系统性问题。为此,GradLoc 利用 DFS 机制,在计算预算略高于理论下界($\approx \log N$)的同时,能够在锁定主要异常后于其附近回溯,以几乎不增加额外耗时的代价同时定位出多个异常token。这种设计在检测速度与诊断完整性之间取得了平衡,从而支持对异常来源进行更充分的归因分析。

[^threshold_footnote]:为便于理解,此处展示简化版推导;实际 FSDP 实现中需考虑由分片策略引入的额外系数,详见代码。

[^LayerClip_footnote]: 我们对层间梯度异质性的核心观察也指向了其他潜在解决方案,例如可以通过将各层梯度显式地耦合至跨层平滑统计量(例如 CA 或 EMA)来进行正则化。

[^omega_footnote]:注意到,将损失函数中的$r_{i,t}(\theta)$修正为$\omega_{i,t}(\theta)$后,小$\omega_{i,t}(\theta)$词元才是安全的。在损失函数修正前并不是,因为这时$\| \nabla \log \pi_{\boldsymbol{\theta}}\|$的系数是$r_{i,t}(\theta) \approx 1$ (偏离1的都被裁剪掉了,不参与损失计算),并不能把梯度范数缩小。

来源

腾讯混元 Research