RFG: Test-Time Scaling for Diffusion Large Language Model Reasoning with Reward-Free Guidance
核心思想
如何在不训练奖励模型的情况下,提升扩散语言模型(dLLM)的推理能力?
RFG(Reward-Free Guidance) 发现:一个经过 RL/指令微调的 dLLM 与其未微调的参考模型之间的对数似然比,天然就是一个隐式奖励信号:
\[r_\theta(x) = \beta \log \frac{p_\theta(x)}{p_{\text{ref}}(x)}\]在推理时用这个信号引导去噪过程 → 无需额外训练,性能一致提升。
背景知识
dLLM 的测试时缩放挑战
| 方面 | 自回归 LLM | 扩散 LLM |
|---|---|---|
| 搜索方法 | beam search 成熟 | 缺乏有效搜索 |
| 过程奖励模型 | 可以逐 token 打分 | 无法定义 token 级奖励 |
| CFG | 不常用 | 可以用但需要适配 |
隐式奖励的直觉
RLHF 理论表明:最优策略 $\pi^*$ 与参考策略 $\pi_{\text{ref}}$ 的比率编码了奖励信息:
\[r(x) \propto \log \frac{\pi^*(x)}{\pi_{\text{ref}}(x)}\]如果我们有一个经过 RL 训练的模型 $\pi_\theta \approx \pi^*$,那么 $\log(\pi_\theta / \pi_{\text{ref}})$ 就是隐式奖励。
与分类器引导/CFG 的关系
| 方法 | 引导信号 | 需要训练? |
|---|---|---|
| 分类器引导 | 分类器梯度 | 需要训练分类器 |
| CFG | 条件/无条件模型比 | 不需要 |
| 过程奖励模型 | 逐步奖励 | 需要训练奖励模型 |
| RFG | 策略/参考模型比 | 不需要 |
方法详解
1. 轨迹级隐式奖励
\[r_\theta(x) = \beta \log \frac{p_\theta(x)}{p_{\text{ref}}(x)}\]- $p_\theta$:经过 RL/指令微调的策略模型
- $p_{\text{ref}}$:未微调的参考模型
- $\beta$:温度参数
2. 逐步过程奖励分解
将轨迹级奖励分解为去噪步骤级:
\[r_\theta^t(x_{t-1} | x_t) = \beta \log \frac{p_\theta(x_{t-1} | x_t)}{p_{\text{ref}}(x_{t-1} | x_t)}\]每一步都有奖励信号 → 可以在去噪过程中逐步引导。
3. 引导采样(Proposition 3.1)
引导后的采样分布:
\[\log \pi_{\text{RFG}} = (1 + w) \log \pi_\theta - w \log \pi_{\text{ref}} + C\]- $w = \beta / \gamma$:引导强度
- $C$:归一化常数
- $w > 0$:增强策略模型的”改进方向”
- $w < 0$:可以修正过度优化的模型
4. 实现(Algorithm 1)
输入:策略模型 π_θ,参考模型 π_ref,引导强度 w
初始化全掩码序列 [MASK]^L
for t = N → 1:
计算策略模型 logits:log π_θ(x_{t-1}|x_t)
计算参考模型 logits:log π_ref(x_{t-1}|x_t)
组合:log π_RFG = (1+w) log π_θ - w log π_ref
用引导 logits 采样下一步
返回最终序列
核心优势:无需训练,仅需两次模型前向传播(策略 + 参考)。
实验结果
数学推理
| 模型 | GSM8K 原始 | GSM8K RFG | MATH-500 原始 | MATH-500 RFG |
|---|---|---|---|---|
| LLaDA Instruct | 79.8% | 81.3% | 38.4% | 39.6% |
| Dream Instruct | 80.9% | 82.1% | 43.6% | 46.4% |
| d1-LLaDA | 82.5% | 84.7% | 38.8% | 41.6% |
| LLaDA 1.5 | 81.6% | 82.1% | 42.4% | 44.4% |
代码生成
| 模型 | HumanEval 原始 | HumanEval RFG | MBPP 原始 | MBPP RFG |
|---|---|---|---|---|
| LLaDA Instruct | 45.1% | 47.6% | 49.8% | 50.6% |
| Dream Instruct | 62.2% | 65.2% | 64.6% | 70.4% |
| DiffuCoder | 69.5% | 78.7% | 72.8% | 74.3% |
DiffuCoder 在 HumanEval 上 +9.2% 是最大提升。
关键特性
一致性:在所有 6 个模型变体、4 个基准上全部正向提升。
鲁棒性:在宽泛的引导强度 $w$ 范围内保持强性能,不需要精细调参。
灵活性:负值 $w$($-1 < w < 0$)可以修正过度优化的模型。
与朴素集成的对比
RFG 始终优于朴素 logit 平均(简单取两个模型的平均 logits)→ 原则性的引导优于简单集成。
定性改善
- 数学任务:更连贯的多步推导,减少幻觉
- 代码生成:语法更正确,边界情况处理更好
个人思考
- “策略-参考比 ≈ 隐式奖励” 是来自 RLHF 理论的优雅推论:RL 训练后模型与基线模型的差异正是奖励信号所塑造的 → 这个差异本身就是奖励的代理。
- 与 CFG 的类比非常清晰:CFG 用”条件/无条件”比增强条件信号,RFG 用”策略/参考”比增强 RL 训练信号 → 同一思想在不同维度的应用。
- 负引导强度是独特的灵活性:如果模型在某个任务上过度优化(如风格偏差),可以用 $w < 0$ 往回拉 → 这是传统搜索方法做不到的。
- 两次前向传播的开销是唯一的额外成本——在需要最大化准确率的场景(如竞赛编程、数学考试),这个成本完全可以接受。
- DiffuCoder +9.2% 的巨大提升说明代码生成任务从 RFG 受益最多——可能因为代码的正确性更容易被隐式奖励捕获(编译通过/不通过)。