∇-Reasoner:在潜空间中通过测试时梯度下降实现大语言模型推理 nabla-Reasoner: LLM Reasoning via Test-Time Gradient Descent in Latent Space
把一阶梯度下降搬进 LLM 解码循环,直接优化 token logits 来精细化推理策略
前置知识
自回归语言模型与 token logits
大语言模型按从左到右的方式逐 token 生成文本。给定前缀,模型输出的是词表上每个 token 的未归一化分数(logit),经过 softmax 后变成概率分布。Token logits 既是离散采样的源头,也是后续优化最自然的连续松弛空间。
∇-Reasoner 直接把梯度施加在 logits 上,所以理解 logits 如何控制采样以及如何影响下游 reward,是读懂方法的关键。
奖励模型 (Reward Model, RM)
奖励模型通常是基于 Transformer 的序列打分器,输入是 (问题, 回答) 对,输出是一个标量分数 $r(y|x)$,反映回答质量。在数学题里常用 outcome reward(结果奖励)——只给最终答案打分。本文的 DTO 需要 reward 模型是可微的,这样才能反向传播梯度到 logits。
∇-Reasoner 的方向信号完全来自 RM 梯度;RM 的强度和词表兼容性直接决定了方法的有效性。
Gumbel-Softmax 直通估计器 (Straight-Through Estimator)
离散 token 不能直接反向传播。Gumbel-Softmax 在前向用 argmax 得到 one-hot,但反向时把 softmax 的梯度当作 one-hot 的梯度,相当于把离散的采样松弛成连续向量。论文写作 $y^{(t)}_i = \delta_{j^*} + \text{softmax}(z^{(t)}_i/\tau) - \text{StopGrad}(\text{softmax}(z^{(t)}_i/\tau))$。
这是 DTO 能在 logits 上做梯度下降同时保持端到端可微的核心技巧,不懂这个就看不懂 Algorithm 2。
KL 正则化强化学习与 PPO
PPO 等 RL 算法通常优化 $\mathcal{L}_{PPO}(\rho) = -\mathbb{E}_{y\sim\rho}[\lambda r(y)] + D_{KL}(\rho\|\pi_{LLM})$,即在 KL 约束下最大化期望奖励。DPO、GRPO 等都是这条线的变体。
Theorem 4.1 把 DTO 与 PPO 在数学上联系起来,理解 PPO 的目标函数才能体会这个理论结果的意义。
测试时计算扩展 (Test-Time Scaling)
推理时不增加模型参数,而是通过增加采样、搜索、迭代次数来提升表现。代表方法有 CoT、Self-Consistency、Best-of-N、ToT、MCTS-based RAP 等。本文主张在 reward 景观上做梯度下降而非离散搜索。
全文都围绕这个范式展开,需要先理解 BoN/SC 是怎么做的以及它们有什么局限,才能体会 ∇-Reasoner 的'范式转变'。
研究动机
现有测试时推理扩展方法几乎都是零阶搜索:以 Best-of-N 为代表,采样 N 条完整回答再用 reward 选最优;以 Tree-of-Thought、RAP 为代表,把推理当成决策过程做 MCTS 或树搜索,通过 rollout 估计 Q-function 来挑选分支。这些方法在 reward 稀疏、长链推理场景下表现很快饱和——搜索空间随序列长度指数增长,标量 reward 又只给方向不给梯度,单纯靠试错很难走出局部最优。具体来看,作者在 MATH-500、AMC、AIME 这类数学推理基准上观察到,零阶方法的性能曲线在 N 增大到 8 之后就明显趋平,难以继续扩展。
本文的目标是本文提出一种一阶(first-order)测试时推理方法 ∇-Reasoner,把 LLM 推理重新定义为在 reward 景观上的连续优化问题。目标是不改模型参数、不做额外训练的前提下,用 reward 模型的梯度直接驱动 token logits 朝着高 reward 方向移动,让每一步解码都在'有方向'地优化,最终在相同或更少的模型调用下获得显著更高的准确率。
与已有工作不同的是,既有的可微生成方法(如 COLD decoding、MuCoL、Langevin-based EBM)通常把整段文本当作连续潜变量做端到端能量最小化,过程非常不稳定,容易产生断句或不收敛,无法用在长链推理上。∇-Reasoner 的独特切入点是:(1) 优化对象是每个 token 的 logit 而非整段 hidden state,配合 Gumbel-Softmax 直通估计器保证离散输出不变;(2) 把优化过程嵌入到逐 token 的解码循环里,每次只优化一个 token 的 logit,把全局目标局部化,从而避免了端到端优化的不稳定性;(3) 理论上证伪这条路径等价于在样本空间做 PPO,给出了把'测试时缩放'与'训练时对齐'统一起来的视角。
核心方法
∇-Reasoner 的整体思路是把推理变成一个'生成—优化—再生成'的迭代循环。给定前缀 $x$,先用 LLM 采样一条完整回答 $y^{(0)}$ 及其逐 token 的 logits $z^{(0)}$,然后进入核心模块 Differentiable Textual Optimization(DTO):固定当前离散 token,把 logits $z$ 当作连续参数,通过最小化 $\mathcal{L}(y) = -\lambda r(y|x) - \log \pi_{LLM}(y|x)$ 来更新 $z$,目标既让 reward 高,又不偏离 LLM 自身的分布(KL 正则)。优化完后,取出第一个 token 对应的更新后 logits $\tilde{z}_1$,从中重新采样得到候选 token $\tilde{y}_1$,并要求它在后续 rollout 中拿到比原 token 更高的 reward,否则拒绝(rejection sampling)。接受后,把 $\tilde{y}_1$ 拼到前缀末尾,进入下一步解码。直觉上,这相当于在每一步解码前先用梯度信号给 LLM '提个醒',让它在被采样之前就倾向于选更高 reward 的 token,再配合拒绝采样保证不退化。
与传统零阶方法最本质的区别在于:BoN/SC/ToT/RAP 都只用到 reward 的标量值去排序或做 Q-value 估计,相当于在 reward 景观上做随机游走;而 ∇-Reasoner 把 reward 模型当作可微函数,沿 $\nabla_z \mathcal{L}$ 的方向精确更新 logits,等于在样本空间做一阶优化。第二个关键差异是优化粒度——以往的 EBM-based 方法(如 COLD decoding)一次性优化整段序列 embedding,极易崩溃;本文只在每个解码步骤优化当前 token 的 logit,其余 token 保持不变,把全局问题拆成一系列稳定的小问题。第三个差异是 DTO 的双向梯度:$\delta_{postfix}$ 通过 attention 把后续 token 的信息反向传到当前 token,再叠加上 $\delta_{reward}$ 的序列级奖励信号,等价于在每个 token 上都做了'前向看 + 后向看'的局部修正,更接近 ToT/RAP 想做但没能做到的全局一致性。
方法步骤详情
完整流程如 Algorithm 1/2/3 所示,主要包含四步。第一步是初始 rollout:$y, z \sim \pi_{LLM}(\cdot|x)$,得到完整回答和它的 logits 矩阵。第二步是 DTO 优化(Algorithm 2):把 token 用 straight-through Gumbel-Softmax 表示为 $y^{(t)}_i = \delta_{j^*} + \text{softmax}(z^{(t)}_i/\tau) - \text{StopGrad}(\text{softmax}(z^{(t)}_i/\tau))$,然后计算总损失 $\mathcal{L} = \mathcal{L}_{nll} + \lambda \mathcal{L}_{reward}$,其中 $\mathcal{L}_{nll} = -\sum_i \log \pi_{LLM}(y^{(t)}_i | y^{(t)}_{\leq i-1}, x)$ 提供分布正则,$\mathcal{L}_{reward} = -r(y^{(t)}|x)$ 提供方向信号;用梯度下降 $z^{(t+1)} = z^{(t)} - \eta \nabla_z \mathcal{L}$ 迭代 $T$ 次,得到 $\tilde{z}$。第三步是再采样与拒绝:从 $\tilde{z}_1/\tau$ 采出候选 $\tilde{y}_1$,若 $\tilde{y}_1 = y_1$ 则直接接受并进入下一步;否则让 LLM 用 $\tilde{y}_1$ 作前缀做一次新 rollout $\tilde{y}$,比较 $r(\tilde{y},\tilde{y}_1|x)$ 与 $r(y|x)$,只保留 reward 更高的那个。第四步是加速策略:(a) Gradient Caching,因为 argmax 的结果往往连续多步不变,把 $\partial \mathcal{L}/\partial y$ 缓存下来,下一轮用 surrogate loss $\sum y^\top_i g_i$ 直接复用,可以跳过 63.8% 的梯度反传;(b) Rollout Reusing,拒绝时直接把当前 token 之后的轨迹滑到下一个位置作为新 rollout,省掉一次额外生成;(c) Confidence/Gradient-Guided Token Selection,用熵阈值 $\epsilon_{ent}=0.25$ 和梯度范数阈值 $\epsilon_{grad}=8$ 跳过那些 logits 已经自信或梯度太小的 token,可以省掉 89.2% 的 DTO 调用;(d) 早停,当 rollout 总数达到 $N_{max}=8$ 时切换到普通自回归解码。
技术新颖性
本文的技术新颖性主要体现在三点。第一,把一阶梯度信息显式地引入 LLM 测试时推理的解码循环中,并用 straight-through estimator 把离散 token 与连续 logits 的优化无缝衔接,避开了以往 EBM-based 方法端到端优化不稳定的问题。这一点在方法论上是范式转变——从'采样+打分'到'打分+梯度+采样'。第二,提出 token 级的 DTO 目标 $\mathcal{L} = \mathcal{L}_{nll} + \lambda \mathcal{L}_{reward}$,并推导了 Proposition C.1 把梯度分解为 $\delta_{prefix}$、$\delta_{postfix}$、$\delta_{reward}$ 三项,揭示了 attention 机制天然支持的双向信号传播,这是把 ToT 类搜索算法'编译'进一个并行梯度步的关键。第三,给出 Theorem 4.1 的理论结果:在分布空间做 Wasserstein gradient flow 最小化 PPO 目标,等价于在样本空间对每个样本做 DTO 的随机梯度流 $dx_t/dt = -\nabla \mathcal{L}(x_t) + \sqrt{2}\epsilon_t$。这把'训练时 RL 对齐'与'测试时解码优化'放在同一个数学框架下,统一了 parametric inference(训练)与 particle-based inference(测试时)的视角,是论文最具理论深度的贡献。
实验结果
作者在四个数学推理基准(MATH-500、AMC、AIME24、AIME25)上对比了 greedy、SC、BoN、ToT、RAP、TPO 以及训练式方法 SFT、GRPO,模型覆盖 Qwen-2.5-7B、Qwen-2.5-7B-Instruct、Llama-3.1-8B-Instruct。核心发现可归纳为四点。第一,∇-Reasoner 在所有测试时方法里几乎全面领先:在 Qwen-2.5-7B-Instruct 上拿到 MATH-500 80.4%、AMC 56.8%、AIME24 26.6%、AIME25 20.0%,其中 AIME24 比最强训练式方法 GRPO 还要高出约 5.8 个百分点(26.6% vs 20.8%)。第二,在 base 模型上甚至能跟 GRPO(用 35k 样本训练)打平:Qwen-2.5-7B base 上 ∇-Reasoner 在 MATH-500 拿到 71.0%,比 GRPO 的 70.8% 略高,说明梯度优化的推理可以媲美昂贵的 RL 训练。第三,compute 效率显著优于 BoN/SC:在指令微调模型上模型调用数下降最多 40.2%,在 base 模型上只需要约 90% 的调用就能超过所有 baseline。第四,缩放曲线(Figure 4)在三种模型上都显示 ∇-Reasoner 的曲线恒在 BoN/SC 之上,意味着同样算力下准确率更高、同样准确率下算力更省。表 3 的 rejection rate 分析进一步验证了 DTO 的有效性:纯拒绝采样(等同 BoN)的拒绝率是 65.9%-66.9%(接近理论 66.0%),而加上 DTO 后降到 28.9%-40.1%,说明 DTO 优化后的 token 确实更可能引向高 reward 续写。最后 Table 2 显示换成 8B 的更强 RM 时准确率只提升 0.3-0.4 个百分点,证明小 RM 足以驱动 DTO,对部署成本友好。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| MATH-500 | Accuracy (%) | 71.0 (Qwen-2.5-7B) / 80.4 (Qwen-2.5-7B-Instruct) / 55.8 (Llama-3.1-8B-Instruct) | BoN N=8: 70.2 / 77.8 / 52.2;GRPO: 70.8 / – / – | 相对 BoN 提升 0.8 / 2.6 / 3.6 个百分点,相对 GRPO 在 Qwen base 上 +0.2 |
| AMC | Accuracy (%) | 51.5 (Qwen-2.5-7B) / 56.8 (Qwen-2.5-7B-Instruct) / 28.9 (Llama-3.1-8B-Instruct) | BoN N=8: 50.1 / 55.9 / 26.1;GRPO: 52.8 / – / – | 相对 BoN 提升 1.4 / 0.9 / 2.8 个百分点,Llama 上几乎翻倍于 greedy 的 19.3% |
| AIME24 | Accuracy (%) | 23.3 (Qwen-2.5-7B) / 26.6 (Qwen-2.5-7B-Instruct) | BoN N=8: 22.5 / 22.5;GRPO: 20.8 / – | 相对 BoN 提升 0.8 / 4.1 个百分点,相对 GRPO +2.5 |
| AIME25 | Accuracy (%) | 15.0 (Qwen-2.5-7B) / 20.0 (Qwen-2.5-7B-Instruct) | BoN N=8: 13.3 / 18.3;SC N=8: 20.0 / 22.5 | 相对 BoN 提升 1.7 / 1.7 个百分点,但低于 SC 在 Instruct 上的 22.5% |
| MATH-500 | Reject Rate (%) | 32.8 / 28.9 (Instruct) | BoN 拒绝率 65.9 / 66.5 (理论 66.0%) | 拒绝率下降 33.1 / 37.6 个百分点,说明 DTO 让候选 token 更优 |
| AIME24 | Model Calls | 约 1000 calls (Qwen-2.5-7B) | BoN N=8 约 6000+ calls | 节省约 80%+ 调用(Figure 3, base 模型维持 90%) |
局限与改进
作者在 Limitations 中明确承认三点:(1) 上限受限于 base LLM 与 reward model 的能力,弱模型/弱 RM 下 DTO 也救不了多少;(2) base 模型和 RM 必须共享同一个词表,否则 logits 空间无法端到端优化,这意味着 Skywork-V2 这类 RM 只能用在对应词表的模型上,限制了跨模型组合;(3) 集成到 vLLM 等高效 serving 框架需要额外的系统工程,比如梯度步与生成步的并行调度,本文虽然在 Tab.5 中展示了理想并行下 wall-clock 与 BoN 相当(152.1s vs 136.1s),但绝对 FLOPs 多了约 26 倍($2.46\times10^{17}$ vs $9.54\times10^{15}$),实际能拿到的加速取决于硬件是否真能把注意力并行利用起来。从我的观察看,还有一个隐性局限:实验只在 7B/8B 量级上做了验证,作者明确把'应用到 o1/R1 这类 long-CoT RLHF 模型'留作 future work,意味着在更大、更长推理链上 DTO 的稳定性和加速比还需要验证;另外论文没有给出 diversity 与 hallucination 方面的系统评估,DTO 引入的 reward shaping 风险(reward hacking)作者只在 KL 正则上做了抑制,没有定量分析。
独立分析的弱点
我认为主要有三处可以进一步加强。第一,KL 正则强度 $\lambda$ 固定为单一标量(实际靠 $\mathcal{L}_{nll}+\lambda \mathcal{L}_{reward}$),但不同 benchmark、不同难度下 $\lambda$ 的最优值可能差异很大;论文所有实验共用一组超参($\epsilon_{ent}=0.25, \epsilon_{grad}=8, lr=0.01, T=20$),缺少对超参敏感度的报告。建议改成自适应 $\lambda$ 调度,例如随 reward 变化幅度动态调整、或在训练时用元学习得到任务相关的 $\lambda$。第二,DTO 的并行能力虽然靠 attention 实现,但每次解码仍要执行一次完整前向 + 后向,在 batch size 不够大时 wall-clock 不一定优于 BoN;附录 D.3 也承认 FLOPs 远高于 BoN(差 26 倍),只是恰好硬件能并行才打平。改进方向是把 DTO 与 speculative decoding 结合:用小模型快速预填草稿,对不确定 token 调用 DTO,可以进一步摊薄单 token 的成本。第三,依赖 outcome reward 意味着 reward 信号稀疏、且只有最终答案对的题才能拿到梯度;对于多步推理,中间步骤错了也无信号,作者虽提到可以扩展到 process reward,但实验里并未验证。建议引入 process reward(PRM)配合 DTO,并对每一个 thought boundary 做局部优化,从根本上解决长链推理里 reward vanishing 的问题。
未来方向
作者在 Related Work 末尾和 Conclusion 里给出了几个明确方向:(1) 把 DTO 应用到 o1、DeepSeek-R1 这类已经过 RL 训练的 long-CoT 模型上,把它们的推理链再用一阶梯度细化;(2) 与 prompt 优化方法结合,因为 DTO 在输出空间、prompt 优化在输入空间,两者互补;(3) 与 continuous latent space reasoning(如 Geiping et al. 的 recurrent depth)协同,把隐空间推理与 token 空间推理做层次化。从结果延伸,我还能想到几条:(a) 用 DTO 训练出更小的 RM 蒸馏版,把 4B RM 压到 1B 同时保留梯度质量,进一步降低部署成本;(b) 把 Theorem 4.1 的 Wasserstein 视角推广到多模态(图像/视频生成),用相同框架做文/图生成的对齐;(c) 设计 reward-gradient 本身的正则化(如 Jacobian 谱约束)来缓解 reward hacking;(d) 在 agentic / tool-use 场景下,把 tool 调用结果当作额外 reward 信号纳入 DTO,让 agent 在测试时也能边走边优化。
复现评估
论文整体可复现性较好。作者明确给出代码仓库 https://github.com/VITA-Group/Nabla-Reasoner,附录 D.1 列出全部超参(温度 0.5、top-p 0.95、最大长度 1024/3072、$\epsilon_{ent}=0.25$、$\epsilon_{grad}=8$、学习率 0.01、$T=20$、Adam-W + cosine scheduler),Algorithm 1-4 提供完整伪代码,Appendix C 给出 Theorem 4.1 的推导。所用模型 Qwen-2.5-Math-7B/7B-Instruct、Llama-3.1-8B-Instruct、Skywork-V2-Qwen3-4B/8B、Llama-3.1-8B 均为 HuggingFace 开源。数据集 MATH-500、AMC、AIME24/25、Open-thoughts、Numina-Math 也全部公开。算力方面,附录 D.3 提到在 8x H200 (140GB) 上做 AMC 上 83 prompts 的 wall-clock 评测;考虑到 DTO 单次前向+反向要过两个 7-8B 模型,且要做 20 步梯度下降 + 最多 8 次 rollout,完整跑一遍表 1 的全部实验估计需要 4-8 张 A100/H100 跑数天,对个人研究者门槛中等偏高。最大难点其实是工程实现:(i) 要把 Gumbel-Softmax 直通估计器与 HuggingFace logits 对齐;(ii) Gradient caching 需要在自定义 forward 里拦截 argmax 变化;(iii) Rollout reusing 必须维护正确的 KV cache,否则会引入 off-by-one 错误。论文给到了伪代码和 hyperparameter,但具体的工程 hook 仍需读源码。
论文图表
左边画的是传统测试时缩放方法(zeroth-order):在 reward 景观上撒很多候选点,根据 reward 值挑高的那个。右边画的是本文提出的一阶方法:直接把 reward 梯度信息用起来,引导样本朝高 reward 区域移动。
这是整篇论文的 motivation 图,用一张直觉对比图说明为什么'有方向'比'撒点筛'更高效,对理解论文核心思想非常关键。
展示了 ∇-Reasoner 的迭代解码流程图:base LLM 先生成完整 rollout 与 logits,进入 DTO 模块(Algorithm 2)做梯度下降优化,输出的 logits 喂回 LLM 做 resample,再走 rejection sampling。
把 Algorithm 1 和 Algorithm 2 串成一张可读的 pipeline 图,是理解方法全貌的入口。