精读: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%,与前者差五倍。
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 的梯度是「正优势样本抬概率、负优势样本压概率」的有符号叠加,方向随采样漂移,作用在一个已经成型的策略上。这两种更新动力学若真有区别,该不该在梯度的谱结构上留下可观测的印记?如果留下了,优化器要不要照着这个印记重新设计?
主要贡献
- 给出一份谱观测:RLVR 训练中前三十二个奇异方向的能量占比从 8% 升到 17%,SFT 在同一测法下从 40% 降到 30%,把可验证奖励换成随机奖励后这条上升被压制到 7.7%→11.6%。
- 提出 Ares(Adaptive Rank-Effective Spectral Optimization):用随机块幂迭代取前导奇异子空间,用谱能量的香农熵换算成有效秩,做指数滑动平均后截断重建梯度,再走 AdamW 的逐坐标更新。
- 在三个尺度、七个数学基准、三种 RLVR 算法(RLOO / REINFORCE++ / GDPO)与十四个 MMLU-Pro 子域上给出增益,SFT 上则退化成与 AdamW 无差别。
- 用一个三轴表(是否低秩 / 秩怎么定 / 是否谱驱动)把 SGD、AdamW、Sophia、Shampoo、SOAP、Muon、GaLore 排进同一坐标系。
2 方法详解
流水线三步。每步对每个二维权重矩阵做一次:RBPI 取前导子空间、由谱能量定秩、在秩内重建梯度并更新;一维参数(LayerNorm、bias)走标准 AdamW。
第一步的因式分解用随机块幂迭代。取高斯测试矩阵 (),先做 sketch ,交替乘 与 各 次并在每次后做 QR 重正交,得到基 ,再把 投影成小矩阵 做廉价 SVD。幂迭代把奇异值抬成 ,前导与尾部的间隔被放大后再取子空间,精度比一次性随机投影稳。
第二步把谱读成秩。令 ,取 ,则 。原文对这个量的解释是:
“The admits a direct interpretation as the number of directions over which the energy is effectively spread: when the energy is uniform across the retained directions the entropy is maximal and attains its upper bound , whereas when the energy collapses onto a few leading components the entropy shrinks and becomes small.”(§4.2)
逐句读, 量的是「能量摊得多开」,不是「覆盖多少能量要几个方向」。这两件事在长尾谱上不是一回事——后面第 4 节会看到它们差了将近三倍。
第三步做滑动平均并截断:,,,然后用 重建梯度,喂给 AdamW 的一二阶矩与逐坐标步长,。
关键创新点:秩的来处。GaLore 把秩当压缩预算,取常数;秩调度取一条预设曲线;Shampoo/SOAP 调预条件;Muon 只正交化方向、不约束维数。Ares 的秩是每步从观测到的谱里读出来再平滑跟踪的。这个定位在 Table 1 的三轴表里站得住,也确实没有第二个方法把「低秩」与「谱驱动」两格一起占住。
一个必须点出来的边界。原文自己写得很清楚:
“Because can only decrease from the ceiling , Ares performs adaptive truncation within a preset maximum-rank budget rather than discovering a rank above .”(§4.2)
的取值域是 ,初值就是 , 与 GaLore 的常数秩 64 完全一样。所以「自适应」的真实含义是「从 64 往下削」,不是「从零往上找」。削到多少,靠的是 这道天花板之下的熵值,天花板本身仍由人给定。
还有一处口径: 的归一化只在 RBPI 保留的 个方向上做。原文承认 “the normalization is over the retained subspace rather than the full gradient”。窄窗口意味着 ,窗口外的能量不参与计算,这个量对「梯度整体有多分散」是盲的。
3 实验结果
主表(GRPO,DAPO 数据集,300 步,七个数学基准 avg@8):
| 优化器 | 1.7B | 4B | 8B |
|---|---|---|---|
| AdamW | 22.2 | 35.8 | 39.8 |
| Adam | 22.6 | 34.0 | 38.0 |
| GaLore(固定秩 64) | 22.9 | 32.8 | 38.8 |
| RMSprop | 8.7 | 11.2 | 10.4 |
| Muon | 2.3 | 5.8 | 8.9 |
| SGD | 2.0 | 4.6 | 7.2 |
| Ares | 27.2 | 38.5 | 42.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 交代了调参方式:每个优化器都在 与 这五个点上搜,按最终训练准确率选,Ares 选中 。问题在这五个点全部落在 Adam 族的量级上。Muon 的更新是正交化后的矩阵,逐元素量级约 ,而 Adam 族的 逐元素量级约 1——两者差着 这个因子, 时约 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、截断、一二阶矩、 这六步。这两项在 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 , 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 所画的那个量——「覆盖 能量需要多少秩」。论文用来做动机的度量,直接实现出来只值 0.1 分。 真正跑赢的是 这个熵映射,它与覆盖率是两套几何。
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。这个数离 很远,也离 Fig. 1 的 45 很远。横轴只画到 210 步左右,而附录 A 说训练 300 步。
- Fig. 10:初始秩 从 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 那条不是单调的, 低于 ,而选中的 比两侧邻居高出 0.8–1.2,是整条曲线唯一的局部峰。
4 个人分析
亮点
第一,问题选得准。RLVR 的配方迭代已经到了「每篇论文改一个超参」的密度,优化器这条轴在开源工作里几乎空着,而它恰好是每个配方都要经过的一环。把「优化器是不是该跟着训练范式走」提成一个可测的问题,比再调一个裁剪区间有价值。
第二,论证结构完整。观测(谱集中)→ 假设(秩该跟着谱走)→ 方法(读谱定秩)→ 跨尺度验证 → 反向对照(SFT 上无效)。这个闭环写得干净,SFT 那 0.5 分的对照是全文最有说服力的一处,因为它主动去测了一个「应该没效果」的场景。
第三,把梯度能量的会计算清楚了。 加熵再取指数,这是物理里算有效自由度的手法,搬到梯度谱上没有违和感,也不需要额外拟合参数。
局限性
最要紧的一条:卖点与账本错位。论文的主张是「秩由谱决定」,消融给出的价格是 +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”,在 这个位置上,「忠实」是相对于熵而言,不是相对于能量而言。三个数里没有一个能把剩下两个一起解释掉。
第三条: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 量级,。真正可信的是那个跨七个基准的均值,不是任何一格。
第七条:开销的测法只覆盖了一种工况。Fig. 4 报的是整步耗时涨 3%,而这个整步被 rollout 占掉了大半。按论文自己的超参(、),单矩阵的浮点量约是 AdamW 的 倍——两个数不矛盾,但后者才是模型变大、rollout 变短时的工况。D.1 也承认 “we do not claim a fully compute-matched speedup”,这句限定把效率主张收到了一个很窄的位置。
对大模型领域的影响
优化器这条轴大概率会被跟。RLVR 的后训练成本已经高到「换一个更懂梯度的更新规则」比「多训两轮」更划算的量级,而 Ares 证明了一件事:把梯度截到十几个方向再放大回来,效果比原样用 AdamW 好。这个结论即使机制解释错了也仍然成立,因为它是一个可复现的操作性事实。
这篇的写法也给后来者留了一个坏示范:用一套度量做动机(覆盖率)、用另一套度量做实现(熵)、再用第三套度量做验证(跟踪到的秩),三套之间不做桥接。跟这条线的人第一件该做的事,是把这三套数对齐,而不是再换一个 。
5 实践启示
可以直接借鉴的三件事
一,截断 + 加权重建。 与「投影到子空间后在子空间里更新」(GaLore 的做法)在数学上不等价:前者保留奇异值权重,后者把梯度压到正交基坐标里。GaLore 22.9 对 Ares-固定秩 26.6 这 3.7 分,相当一部分该记在这里。任何已有低秩优化器都可以只改这一行做个对照。
二,用熵而不是覆盖率定秩。 对谱形状连续,Threshold 对谱形状阶跃,前者 27.2、后者 22.3。工程上这条几乎零成本:反正 SVD 已经算了,多算一个熵不多花时间。
三,秩只降不升这个约束本身是个稳定器。 初值取天花板、单调下削,等于给更新子空间加了一条「维数不会突然变大」的硬约束。配合 的 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。
- 反向用法:把 的轨迹当成诊断量。若某次训练的有效秩在 50 步内从 20 掉到 5,说明梯度塌进了一两个方向,这通常是策略多样性耗尽的早期信号,比等到熵曲线塌掉更早。
若要复现,建议按这个顺序核
- 先按 Algorithm 1 逐行实现,看能否复现 23.2 / 37.5 这一档;能复现,说明增益确实在未写出的两项里。
- 拿 GaLore 固定秩 64 做对照,再单独把「投影更新」改成「 加权重建」,分离这 3.7 分。
- 把 Fig. 1 与 Fig. 2 的口径统一(按层还是按平均谱),重画一遍,看 17% 与 45 哪个是对的。
- 加三个种子,先给 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. 同期把「失败」写进奖励的工作。
相关精读
- 本篇把本专栏连续四十三期的主线再挪一格:此前四十二期回答的是「挑哪些 token、挑哪些轨迹、信用按哪套口径记账、信号被消费时旧了多少、数据分布离基座多远、整条响应有没有资格参与这次更新、策略容量会不会被优化动力学耗光、教师分布里哪些位置允许比较、事后经验除了改行为还能不能改行动之前的那次预测、参考模型的 KL 该从哪条边进组相对更新、教师的意见从哪条通道进 RL、off-policy 校正的记账区间有多长、裁剪区间那两个端点由什么决定、干预落在流水线的哪一环、逐步信用从哪个模型里来、一个已经报出来的增益该怎么拆账」,这一期问的是这些信号最终以什么形状落到参数上——不是改梯度的内容,是改梯度的维数。
- 精读:Thinking Leakage——no-think 模式下的 RL 增益有多少是从 think 模式漏过来的
- 精读:LVRL——把价值函数从「训出来的部件」换成「冻结的前沿 LLM」
- 精读:RTI——把干预从优化期搬到采样期
- 精读:GPPO——把 PPO 的裁剪区间拆成「散度」与「估计器」两维
- 精读:TAPO——把状态校正的记账区间从两端挪到前缀
- 精读:Residual Advantage——让教师只重分信用,不改响应总分
- 精读:ZCPO——把参考 KL 从损失支搬进组内系数
- 精读:SRD——把事后回顾蒸成事前先见
- 精读:跨分词器 OPD——把对齐覆盖度补满反而掉点
- 精读:Mesh Learning——把 RLVR 的坍塌解释成策略容量的供需冲突
- 精读:CARM——把响应级掩码的判据从净位移换成双向漂移
- 精读:把 off-policy 专家数据 MCMC 投影成 on-policy 数据
- 精读:GMC-GRPO——把重要性比从逐条裁剪换成整组收缩
- 精读:SCAPO——用「扰动下不动」给 token 记一笔负账
- 精读:ARCUS——prompt 的选择也有一条弧
- 精读:把中间那一步的信号从模型里搬进环境——用沙箱回滚跑出免费过程奖励
- 精读:把特权信息从损失搬到采样器——多轮 agent 里自蒸馏为什么会崩
- 精读:OC-GRPO 与离上下文重要性校正
- 精读:不跑 RL,先把新奖励的结果预测出来
- 精读:给 token 级信用一个唯一解,然后把它求和掉
- 精读:把后训练配方本身当成果,再逐阶段对账
- 精读:STAR-E——按惊讶度给 token 重加权 advantage
- 精读:按梯度可估性给 token 分配蒸馏监督
- 精读:TrimSFT——按 logit 间隔剪掉 SFT 里的低信息 token
- 精读:ESFT 与端点 SFT 对中段推理链的裁剪
- 精读:把中间状态的价值估计整体消掉
- 精读:ActObs——把被 mask 掉的那 45% 观察 token 重新纳入损失
- 精读:SP³O——一条响应里只给三个位置价值监督
- 精读:教师引导的课程 RLVR——把解不出的题变成可解的题
- 精读:DataFlex-RL 与均匀采样的替代策略
- 精读:NGU 与 RL 里的马太效应
- 精读:按排序可分辨性做 RLVR 数据联合工程
- 精读:模型与外壳共演化时的同策略校正
- 精读:OPD-then-RL——顺序摆信号胜过同 step 混信号
- 精读:One-Shot OPD 与状态覆盖吸收率
- 精读:Compile by Training——把 LLM 降级为构建期依赖
- 精读:Terminal-Universe——轨迹反向造环境
- 精读:OPSA——无教师的同策略自适应
- 精读:SPADE——把优化对象从轨迹上移到生成器
- 精读:DART-SD——标注单元从轨迹换成状态图