论文精读

精读:Ares——把 RLVR 的更新秩交给梯度谱,账本落在截断之后

RLVR 的梯度谱在训练中越来越集中,所以 Ares 把更新秩从「外部指定」改成「每步从谱里读」,1.7B/4B/8B 上比 AdamW 高 5.0/2.7/2.3 分。逐项对账后有三处对不上:真正扛事的是截断之后两次未在算法里定义的缩放(合计 5.4 分,超过总增益),而「动态秩」只值 0.6/0.9;论文用来做动机的覆盖率秩(90% 能量要 43–46 维)若直接实现只拿到 22.3,与 AdamW 持平;Ares 实际跑在 14–18 维,而 top-32 能量占比只有 17%,与前者差五倍。

论文: Spectral-Driven Adaptive-Rank Optimizer for Large Language Model Reinforcement Learning with Verifiable Rewards
作者: Zhipeng Chen, Wayne Xin Zhao, Ji-Rong Wen
arXiv: 2610.16533
RLVR 优化器 低秩更新 梯度谱 谱熵定秩 GaLore AdamW 后训练

1 论文概览

本文是 arXiv:2610.16533(中国人民大学高瓴人工智能学院,cs.CL 主分类,v1 2026-10-12)。本专栏此前四十二期改的都是训练信号怎么造、怎么记账、从哪条通道进来;这一期换了一根轴——更新量本身怎么落到参数上。优化器在 RLVR 里几乎从来是被继承的常量,这篇把它当成变量。

一句话总结:RLVR 的梯度谱在训练中越来越集中,所以更新秩不该由人预先指定,而该从梯度谱里现读;沿着这个思路换掉 AdamW,1.7B/4B/8B 上平均分涨 5.0/2.7/2.3。

核心问题:SFT 的梯度锚定在参考续写上,RLVR 的梯度是「正优势样本抬概率、负优势样本压概率」的有符号叠加,方向随采样漂移,作用在一个已经成型的策略上。这两种更新动力学若真有区别,该不该在梯度的谱结构上留下可观测的印记?如果留下了,优化器要不要照着这个印记重新设计?

主要贡献

  1. 给出一份谱观测:RLVR 训练中前三十二个奇异方向的能量占比从 8% 升到 17%,SFT 在同一测法下从 40% 降到 30%,把可验证奖励换成随机奖励后这条上升被压制到 7.7%→11.6%。
  2. 提出 Ares(Adaptive Rank-Effective Spectral Optimization):用随机块幂迭代取前导奇异子空间,用谱能量的香农熵换算成有效秩,做指数滑动平均后截断重建梯度,再走 AdamW 的逐坐标更新。
  3. 在三个尺度、七个数学基准、三种 RLVR 算法(RLOO / REINFORCE++ / GDPO)与十四个 MMLU-Pro 子域上给出增益,SFT 上则退化成与 AdamW 无差别。
  4. 用一个三轴表(是否低秩 / 秩怎么定 / 是否谱驱动)把 SGD、AdamW、Sophia、Shampoo、SOAP、Muon、GaLore 排进同一坐标系。

2 方法详解

流水线三步。每步对每个二维权重矩阵做一次:RBPI 取前导子空间、由谱能量定秩、在秩内重建梯度并更新;一维参数(LayerNorm、bias)走标准 AdamW。

第一步的因式分解用随机块幂迭代。取高斯测试矩阵 Ω∈Rn×ℓ\Omega\in\mathbb{R}^{n\times\ell}(ℓ=k+p\ell=k+p),先做 sketch Y=AΩY=A\Omega,交替乘 A⊤A^\top 与 AA 各 qq 次并在每次后做 QR 重正交,得到基 QQ,再把 AA 投影成小矩阵 B=Q⊤AB=Q^\top A 做廉价 SVD。幂迭代把奇异值抬成 σi2q+1\sigma_i^{2q+1},前导与尾部的间隔被放大后再取子空间,精度比一次性随机投影稳。

第二步把谱读成秩。令 pi=σi2/∑jσj2p_i=\sigma_i^2/\sum_j\sigma_j^2,取 H=−∑ipilog⁡piH=-\sum_i p_i\log p_i,则 r^t=exp⁡(H)\hat r_t=\exp(H)。原文对这个量的解释是:

“The r^\hat r admits a direct interpretation as the number of directions over which the energy is effectively spread: when the energy is uniform across the ℓ\ell retained directions the entropy is maximal and r^t\hat r_t attains its upper bound ℓ\ell, whereas when the energy collapses onto a few leading components the entropy shrinks and r^t\hat r_t becomes small.”(§4.2)

逐句读,r^\hat r 量的是「能量摊得多开」,不是「覆盖多少能量要几个方向」。这两件事在长尾谱上不是一回事——后面第 4 节会看到它们差了将近三倍。

第三步做滑动平均并截断:zt=czt−1+(1−c)r^tz_t=cz_{t-1}+(1-c)\hat r_t,rt=clip(round(zt/(1−ct)),1,k)r_t=\mathrm{clip}(\mathrm{round}(z_t/(1-c^t)),1,k),c=0.9c=0.9,然后用 U:,1:rΣ1:rV1:r,:⊤U_{:,1:r}\Sigma_{1:r}V^\top_{1:r,:} 重建梯度,喂给 AdamW 的一二阶矩与逐坐标步长,s=1s=1。

关键创新点:秩的来处。GaLore 把秩当压缩预算,取常数;秩调度取一条预设曲线;Shampoo/SOAP 调预条件;Muon 只正交化方向、不约束维数。Ares 的秩是每步从观测到的谱里读出来再平滑跟踪的。这个定位在 Table 1 的三轴表里站得住,也确实没有第二个方法把「低秩」与「谱驱动」两格一起占住。

一个必须点出来的边界。原文自己写得很清楚:

“Because rtr_t can only decrease from the ceiling kk, Ares performs adaptive truncation within a preset maximum-rank budget rather than discovering a rank above kk.”(§4.2)

rtr_t 的取值域是 [1,k][1,k],初值就是 kk,k=64k=64 与 GaLore 的常数秩 64 完全一样。所以「自适应」的真实含义是「从 64 往下削」,不是「从零往上找」。削到多少,靠的是 kk 这道天花板之下的熵值,天花板本身仍由人给定。

还有一处口径:r^t\hat r_t 的归一化只在 RBPI 保留的 ℓ=k+p=74\ell=k+p=74 个方向上做。原文承认 “the normalization is over the retained subspace rather than the full gradient”。窄窗口意味着 r^t≤74\hat r_t\le74,窗口外的能量不参与计算,这个量对「梯度整体有多分散」是盲的。

3 实验结果

主表(GRPO,DAPO 数据集,300 步,七个数学基准 avg@8):

优化器1.7B4B8B
AdamW22.235.839.8
Adam22.634.038.0
GaLore(固定秩 64)22.932.838.8
RMSprop8.711.210.4
Muon2.35.88.9
SGD2.04.67.2
Ares27.238.542.1

Ares 在三个尺度都排第一,相对 AdamW 的涨幅是 +5.0 / +2.7 / +2.3,换算成相对提升 22.5% / 7.5% / 5.8%。GaLore 在 4B 与 8B 上不如 AdamW(32.8 对 35.8、38.8 对 39.8),这条与作者的论点自洽:有效秩随规模上移,固定秩在大模型上开始割掉有用方向。

基线的崩塌值得单独看。Muon 拿 2.3,SGD 拿 2.0,两个都比随机好不了多少。Appendix A 交代了调参方式:每个优化器都在 {1,2,5}×10−6\{1,2,5\}\times10^{-6} 与 {1,2}×10−5\{1,2\}\times10^{-5} 这五个点上搜,按最终训练准确率选,Ares 选中 5×10−65\times10^{-6}。问题在这五个点全部落在 Adam 族的量级上。Muon 的更新是正交化后的矩阵,逐元素量级约 1/max⁡(m,n)1/\sqrt{\max(m,n)},而 Adam 族的 m^/v^\hat m/\sqrt{\hat v} 逐元素量级约 1——两者差着 n\sqrt{n} 这个因子,n=2048n=2048 时约 45 倍。用一个为 Adam 标定的网格去调 Muon,等于让它以 1/45 的实际步长训练。论文没有给出任何一个基线最终选中的学习率,这条无法证伪。

消融:组件的排序在两个尺度上翻转。

移除项1.7B(27.2)4B(38.5)
w/o Adaptive LR−4.0−1.0
w/o Rank Momentum−3.1−1.4
w/o Spectral Normalize−1.4−4.9
w/o Dynamic Rank−0.6−0.9
w/o Low Rank−24.5−29.9

1.7B 上最要紧的是自适应学习率,4B 上换成了谱归一化;动态秩在两个尺度上都是最弱的一项。论文的叙事是「去任何一个组件都掉点,所以互补」,这张表读出来的东西更具体:哪个组件扛事取决于模型多大。

更要紧的是表里有两个名字在方法章节里找不到定义。Spectral Normalize 与 Adaptive LR 在 §4、Algorithm 1、Appendix B 里一次都没出现——算法伪代码只写了 RBPI、熵、EMA、截断、一二阶矩、s=1s=1 这六步。这两项在 1.7B 上合计 −5.4,比 Ares 相对 AdamW 的总增益 5.0 还大;在 4B 上 w/o Adaptive LR 单独就落到 37.5,与 AdamW 的 35.8 只差 1.7。照着 Algorithm 1 逐行实现,拿到的就是这一行。

w/o Low Rank 那一行的 −24.5 也不该按字面读。Appendix D.2 主动承认了:

“this row keeps the other Ares components (scale ss, spectral normalization, and learning rate) fixed at values tuned for a low-rank gradient rather than re-tuning them for a full-rank update, so it is a controlled removal rather than an AdamW-equivalent baseline”(Appendix D.2)

这句话是对的,态度也诚实。可紧接着同一段又写它 “confirms the central premise of Sec. 1: RLVR gradients carry their useful signal in a low-dimensional subspace, and confining the update to that subspace is what makes the optimizer work”。既然已经声明这一行不是等价对照,它就不能再当前提的确认——两句话在同一个自然段里互相拆台。

秩策略:动机量与实现量对不上。三种把谱翻成秩的规则里,Threshold(取累计能量达到固定比例的最小秩)最差,1.7B 上 22.3,与 AdamW 的 22.2 基本持平,还低于 GaLore 的 22.9。而 Threshold 正是 §1 里 Fig. 1 所画的那个量——「覆盖 ε\varepsilon 能量需要多少秩」。论文用来做动机的度量,直接实现出来只值 0.1 分。 真正跑赢的是 exp⁡(H)\exp(H) 这个熵映射,它与覆盖率是两套几何。

4B 上还有一条:Linear(按比例线性映射)拿 38.8,反超 Exp 的 38.5。原文的说法是

“The exponential mapping used in Ares performs best overall, attaining the top or near-top accuracy at both scales and never being clearly beaten”(§5.3)

「从未被明显击败」在 4B 上靠的是 0.3 分的差距,而全文没有任何随机种子或置信区间,这 0.3 分无法与噪声区分。Linear 属于 Table 1 里被归为「预设调度、非谱驱动」的那一类,它在 4B 上打平了谱驱动——这条对论文的核心卖点不利。

跨算法与跨域。RLOO / REINFORCE++ / GDPO 换成 Ares 后平均分全部上涨(1.7B 上 +4.2 / +2.9 / +5.1),4B 上 GDPO 只 +0.7,七个基准里两个为负。MMLU-Pro 十四个子域上 1.7B 从 32.5 到 34.9、4B 从 53.5 到 58.9,方向一致;拆开看,1.7B 的 +2.36 里,单是 Engineering 一项(25.6→37.3)就贡献了 1.67,占七成,Philosophy、Other、Psychology 三项为负。

SFT 对照是全文最硬的一条。同一个优化器搬到 SFT 上,34.8 对 35.3,差 0.5。这说明增益确实跟着 RLVR 的梯度几何走,不是「低秩截断本身有正则效果」这类通用解释能覆盖的。

图上的数与正文的数。论文正文只给结论不给读数,把图放大后可以看到四组具体值,它们彼此之间对不齐:

  • Fig. 1(Qwen3-1.7B、GRPO、AdamW):覆盖 90% 能量所需秩从约 46 降到约 43,70% 从 13.3 降到 11.6,50% 从 4.5 降到 3.8。三个降幅按绝对值算 3 / 1.7 / 0.7,按相对算 6.5% / 13% / 16%。
  • Fig. 2:前三十二个方向的能量占比 8%→17%。若 Fig. 1 的「90% 要 45 个方向」成立,top-32 至少该占八成五,实测 17%,两图差五倍。Fig. 2 的图注自己留了退路:“We emphasize the trends, not absolute levels.”
  • Fig. 5:Ares 实际跟踪到的有效秩在 1.7B 上是 16→14,4B 上是 17.5→15.5,纵轴范围 14–18。这个数离 k=64k=64 很远,也离 Fig. 1 的 45 很远。横轴只画到 210 步左右,而附录 A 说训练 300 步。
  • Fig. 10:初始秩 kk 从 16 扫到 256,1.7B 是 25.2 / 26.1 / 27.2 / 27.2 / 27.0,4B 是 37.4 / 37.3 / 38.5 / 37.7 / 37.8。4B 那条不是单调的,k=32k=32 低于 k=16k=16,而选中的 k=64k=64 比两侧邻居高出 0.8–1.2,是整条曲线唯一的局部峰。

4 个人分析

亮点

第一,问题选得准。RLVR 的配方迭代已经到了「每篇论文改一个超参」的密度,优化器这条轴在开源工作里几乎空着,而它恰好是每个配方都要经过的一环。把「优化器是不是该跟着训练范式走」提成一个可测的问题,比再调一个裁剪区间有价值。

第二,论证结构完整。观测(谱集中)→ 假设(秩该跟着谱走)→ 方法(读谱定秩)→ 跨尺度验证 → 反向对照(SFT 上无效)。这个闭环写得干净,SFT 那 0.5 分的对照是全文最有说服力的一处,因为它主动去测了一个「应该没效果」的场景。

第三,把梯度能量的会计算清楚了。pi=σi2/∑σj2p_i=\sigma_i^2/\sum\sigma_j^2 加熵再取指数,这是物理里算有效自由度的手法,搬到梯度谱上没有违和感,也不需要额外拟合参数。

局限性

最要紧的一条:卖点与账本错位。论文的主张是「秩由谱决定」,消融给出的价格是 +0.6 / +0.9。真正把分抬起来的是截断之后的两次缩放(谱归一化与自适应学习率),这两项在方法章节里没有定义,其中一个单独移除就让 4B 掉回 37.5、1.7B 掉回 23.2。一部按伪代码逐行实现的复现,复现不到 headline 数字。

第二条:动机量、实现量、实际跑的秩是三套数。Fig. 1 说 90% 能量要 43–46 个方向,Fig. 5 说 Ares 实际在 14–18 之间跑,也就是说它每步主动扔掉四分之一到三成的梯度能量。§4.3 把截断描述成 “a faithful truncation of the gradient”,在 r≈15r\approx15 这个位置上,「忠实」是相对于熵而言,不是相对于能量而言。三个数里没有一个能把剩下两个一起解释掉。

第三条:Fig. 1 与 Fig. 2 的口径无法调和。前者是绝对秩(43–46),后者是绝对占比(17%),同一模型同一算法,两者相差五倍。能调和这两张图的写法只有两种——按层算比值再平均,或者先把各层奇异值平均再算比值——两种的平均顺序给出完全不同的集中度,而论文没有交代用的是哪一种,也没有说明统计了多少个矩阵。这个选择直接决定「RLVR 梯度低秩」这个前提有多强。

第四条:「低秩」在绝对量上站不住,成立的是趋势。17% 的前三十二方向能量,反过来说是 83% 的能量散在三十二维之外;同一次测量里 SFT 是 30–40%,比 RLVR 更集中。所以「RLVR 梯度低秩」这句话若按绝对集中度读是错的,只能按方向读——RLVR 在变集中,SFT 在变分散。随机奖励的对照也留了余地:那一段上升是 3.9 个百分点,占正常奖励涨幅的 43%,“largely removed” 是五成七的移除,不是九成。

第五条:短程。全部结论建立在 300 步上,AdamW 的 8B 平均分 39.8、Ares 42.1,这个量级对应的是一次很浅的后训练。D.1 说 AdamW 已经平台化而 Ares 还在涨,可 300 步的窗口里出现的平台不构成平台证据,缺一条 2000 步以上的对照。

第六条:没有种子,没有区间。全文 grep 不到 seed 一词,所有数字是单次训练的单点值。AIME24 在 1.7B 上是 7.9 对 15.0,看着像翻倍,可这个基准只有 30 道题,avg@8 的题间方差远大于采样方差,粗算标准误在 0.06 量级,z<1z<1。真正可信的是那个跨七个基准的均值,不是任何一格。

第七条:开销的测法只覆盖了一种工况。Fig. 4 报的是整步耗时涨 3%,而这个整步被 rollout 占掉了大半。按论文自己的超参(q=20q=20、ℓ=74\ell=74),单矩阵的浮点量约是 AdamW 的 (q+1)ℓ/10≈155(q+1)\ell/10\approx155 倍——两个数不矛盾,但后者才是模型变大、rollout 变短时的工况。D.1 也承认 “we do not claim a fully compute-matched speedup”,这句限定把效率主张收到了一个很窄的位置。

对大模型领域的影响

优化器这条轴大概率会被跟。RLVR 的后训练成本已经高到「换一个更懂梯度的更新规则」比「多训两轮」更划算的量级,而 Ares 证明了一件事:把梯度截到十几个方向再放大回来,效果比原样用 AdamW 好。这个结论即使机制解释错了也仍然成立,因为它是一个可复现的操作性事实。

这篇的写法也给后来者留了一个坏示范:用一套度量做动机(覆盖率)、用另一套度量做实现(熵)、再用第三套度量做验证(跟踪到的秩),三套之间不做桥接。跟这条线的人第一件该做的事,是把这三套数对齐,而不是再换一个 ff。

5 实践启示

可以直接借鉴的三件事

一,截断 + Σ\Sigma 加权重建。g~=U:,1:rΣ1:rV1:r,:⊤\tilde g=U_{:,1:r}\Sigma_{1:r}V^\top_{1:r,:} 与「投影到子空间后在子空间里更新」(GaLore 的做法)在数学上不等价:前者保留奇异值权重,后者把梯度压到正交基坐标里。GaLore 22.9 对 Ares-固定秩 26.6 这 3.7 分,相当一部分该记在这里。任何已有低秩优化器都可以只改这一行做个对照。

二,用熵而不是覆盖率定秩。exp⁡(H)\exp(H) 对谱形状连续,Threshold 对谱形状阶跃,前者 27.2、后者 22.3。工程上这条几乎零成本:反正 SVD 已经算了,多算一个熵不多花时间。

三,秩只降不升这个约束本身是个稳定器。rtr_t 初值取天花板、单调下削,等于给更新子空间加了一条「维数不会突然变大」的硬约束。配合 c=0.9c=0.9 的 EMA,秩轨迹在 200 步里只走 2 格,抖动被压得很平。做低秩微调时这条可以照搬。

不建议照搬的部分

想省显存的话,这篇帮不上。作者自己说当前实现仍维护稠密的一二阶矩,“the present contribution is update quality rather than optimizer-state memory”。真正的显存收益要把矩估计也做成因子化,那是另一篇论文。

想在小模型上追那 5 分的话,先确认 Adaptive LR 与 Spectral Normalize 到底怎么实现——代码在 github.com/RUCAIBox/Ares,这两个名字在正文里没有定义,只能从实现里读回来。这是复现的第一道关。

潜在应用场景

  • 短程 RLVR 后训练(几百步量级):增益最实在的区间,1.7B 上 22.5% 的相对提升值得一试。
  • 多算法叠用:Ares 定义在优化器层,与 RLOO / REINFORCE++ / GDPO 正交,换算法不用改优化器,这条对做配方搜索的团队友好。
  • 梯度去噪的通用场景:截断前导子空间等价于一次谱低通,凡「梯度被采样噪声污染」的场合都能借这个思路,不必是 RLVR。
  • 反向用法:把 rtr_t 的轨迹当成诊断量。若某次训练的有效秩在 50 步内从 20 掉到 5,说明梯度塌进了一两个方向,这通常是策略多样性耗尽的早期信号,比等到熵曲线塌掉更早。

若要复现,建议按这个顺序核

  1. 先按 Algorithm 1 逐行实现,看能否复现 23.2 / 37.5 这一档;能复现,说明增益确实在未写出的两项里。
  2. 拿 GaLore 固定秩 64 做对照,再单独把「投影更新」改成「Σ\Sigma 加权重建」,分离这 3.7 分。
  3. 把 Fig. 1 与 Fig. 2 的口径统一(按层还是按平均谱),重画一遍,看 17% 与 45 哪个是对的。
  4. 加三个种子,先给 AIME24 与 MATH500 两格配上置信区间,再看主表的 2.3 分在 8B 上是否还在。

参考文献

Chen, Z., Zhao, W. X., & Wen, J.-R. (2026). Spectral-Driven Adaptive-Rank Optimizer for Large Language Model Reinforcement Learning with Verifiable Rewards. arXiv:2610.16533 [cs.CL]. Gaoling School of Artificial Intelligence, Renmin University of China. v1 2026-10-12, 23 pages, 11 figures, 8 tables.

Zhao, J., Januszewicz, A., & Jung, T. (2026). Differentially Private Reward-Driven Learning. arXiv:2610.07212. 同期 RLVR 的隐私侧工作,可作旁证。

Arora, D., Liu, X., Singh, H. G., Tajwar, F., Thankaraj, A., Salakhutdinov, R., Feng, H., Song, Y., & Zanette, A. (2026). Training Language Models to Fail Gracefully. arXiv:2610.20401. 同期把「失败」写进奖励的工作。

相关精读