← 返回 2026-01-16

未来KL正则化GRPO:从f-散度正则化推导过程级信用分配 Future-KL Regularized GRPO: Process-Level Credit Assignment from f-Divergence Regularization

Jiarui Yao, Ruida Wang, Hao Bai, Tong Zhang 📅 2026-05-23 👍 10 2026-07-13 08:35
GRPO KL正则化 大语言模型 强化学习 数学推理 策略优化

在GRPO优势之后加反向累积log比,修正自回归KL信用分配

前置知识

GRPO (Group Relative Policy Optimization)

GRPO 是 DeepSeek-Math 提出的一种无需 critic 的策略优化方法。其核心思想是:对每个 prompt 采样一组 G 个回复,用 verifier 给出标量奖励,然后在组内做标准化得到优势估计:$\hat{A}_i^{GRPO} = (r_i - \mu_G)/\sigma_G$。这避免了训练额外的 value model,但代价是所有 token 共享同一个 trajectory 级别的优势信号,无法区分同一回复内不同 token 的贡献。GRPO 广泛用于数学推理等可验证任务的大模型后训练。

本文的全部分析和改进都建立在 GRPO 的框架之上,理解其 group normalization 机制是理解本文非线性效用分析的前提。

KL 正则化与参考策略

KL 散度正则化是 LLM 训练中稳定策略更新的标准技术。通过在目标函数中加入 $\beta \cdot D_{KL}[\pi_\theta \| \pi_{ref}]$ 项,约束当前策略 $\pi_\theta$ 不要偏离参考策略 $\pi_{ref}$ 太远。这防止了 reward hacking、保持通用能力、避免分布坍塌。在实践中,KL 项通常用 token 级别的采样估计器实现,如 Schulman (2020) 提出的 k1、k2、k3 估计器,其中 k3 因其无偏性和非负性最常用。

本文的核心贡献就是指出这种标准的 token 级别 KL 实现在自回归设置下是不完整的,遗漏了关键的未来信号。

自回归策略梯度

LLM 生成是自回归的:$\pi_\theta(o|x) = \prod_{t=1}^T \pi_\theta(o_t|x, o_{<t})$。当我们对整个 trajectory 的期望求梯度时,改变第 $t$ 个 token 的分布不仅影响第 $t$ 步的局部目标,还改变了后续所有 token 的前缀分布,从而影响后续步骤的目标。这种因果结构导致策略梯度天然包含一个 return-to-go 形式的项,即当前 token 对未来所有步骤的影响。

这正是本文的核心发现:局部 KL 损失忽略了这种因果结构,遗漏了 future regularization return-to-go。

f-散度 (f-divergence)

f-散度是 KL 散度的推广形式,由凸函数 $f$ 生成:$D_f[p\|q] = \sum_x q(x) f(p(x)/q(x))$。不同的 $f$ 对应不同的散度:$f(u)=-\log u$ 对应反向 KL,$f(u)=u\log u$ 对应前向 KL,$f(u)=-\log u+u-1$ 对应 k3 估计器。本文的理论推导在一般的 token 级别 f-散度正则化框架下进行,因此结论对多种 KL 估计器和方向都适用。

论文将分析扩展到一般 f-散度框架,使得结论不仅限于反向 KL,而是具有更广泛的适用性。

PPO-Style Clipped Surrogate

PPO 使用重要性采样比 $\rho_t = \pi_\theta(o_t|s_t)/\pi_{\theta_{old}}(o_t|s_t)$ 和裁剪机制来限制策略更新幅度:$\min[\rho_t \hat{A}_t, \text{clip}(\rho_t, 1-\varepsilon, 1+\varepsilon)\hat{A}_t]$。这允许在旧策略的 rollout 数据上做多轮更新,同时防止过大的策略偏移。GRPO 继承了这一 surrogate 结构,但用 group-normalized advantage 替代了 value-based advantage。

FRPO 的 future-KL 修正被纳入 advantage 后,与 PPO clipping 机制自然兼容,共享同样的 importance ratio 校正。

研究动机

在 GRPO 的标准实现中,KL 正则化以 token 级别的损失项形式加入,通常使用 k3 估计器 $\hat{D}_t^{(k3)} = 1/\alpha_t + \log \alpha_t - 1$,其中 $\alpha_t = \pi_\theta(o_t|s_t)/\pi_{ref}(o_t|s_t)$。这种实现方式将每个 token 的 KL 惩罚视为独立的可微损失项。但问题在于,即使在 on-policy 设置下($\pi_{\theta_{old}} = \pi_\theta$),改变第 $t$ 个 token 的分布会改变后续 token 的前缀分布,从而改变后续所有位置的 KL 散度。局部损失只对采样 token 处的 KL 惩罚求导,得到的是 $-f'(u_t)u_t$,但遗漏了 score function 贡献 $\sum_{j \geq t} f(u_j)$,即当前 token 对未来所有 KL 项的因果影响。这不仅仅是 off-policy 的实现问题——即使 rollout 完全 on-policy,标准的 loss-side KL 实现也不是 trajectory 级正则化目标的正确策略梯度。

本文的目标是本文的目标是从 on-policy 目标函数出发,严格推导 GRPO 风格目标在 token 级别 f-散度正则化下的策略梯度公式,识别出遗漏的 future regularization return-to-go 项,并提出一个轻量级的修正方法(FRPO),在不引入 critic 或额外前向传播的情况下恢复这一缺失的信用分配信号。

与已有工作不同的是,现有关于 KL 正则化策略梯度的分析(如 soft-Q、MaxEnt RL、KL-in-reward PPO/GAE)都针对 reward 线性的目标 $\mathbb{E}_\pi[r] - \beta \mathbb{E}_\pi[D_{KL}]$,其中 reward 和正则化器可以融合为增强 reward。但 GRPO 的结构根本不同:其 group normalization 引入了非线性效用函数 $\ell(p) = 2\arcsin\sqrt{p}$(对二值 verifier reward),使得 $\ell(\mathbb{E}[r - \beta D_{KL}]) \neq \ell(\mathbb{E}[r]) - \beta \mathbb{E}[D_{KL}]$。这意味着在 normalization 之前将 KL 融入 reward 不仅在数值上不准确,在结构上就是错误的——它改变了隐含的 arcsin 目标。这种非线性效用 + token 级正则化的组合此前从未被严格分析过,是本文独特的切入角度。

核心方法

FRPO 的方法设计遵循一个清晰的逻辑:首先,论文通过理论分析揭示 GRPO group normalization 引入的非线性效用结构;然后,在一般 f-散度正则化框架下推导 on-policy 策略梯度,发现 reward 项携带依赖 prompt 的增益 $\ell'$ 而正则化项不携带;这种不对称性决定了 future-KL 修正必须放在优势构建之后,而非通过 reward shaping。最终的算法极为简洁:在标准 GRPO 优势之上,添加一个反向累积和的 token 级 KL 修正项,约十行代码改动,无需额外前向传播或 critic 模型。

本文的核心创新在于识别并利用了 GRPO 的结构性质:group normalization 不是中性的数值预处理,而是定义了一个非线性 prompt 级效用函数。对二值 reward,隐含效用是 $\ell(p) = 2\arcsin\sqrt{p}$,其导数 $\ell'(p) = 1/\sqrt{p(1-p)}$。这带来两个关键后果:第一,reward 和 KL 不可融合——KL-in-reward 会改变 group 均值和标准差,从而扭曲隐含的 arcsin 目标;第二,on-policy 梯度中 reward 项乘以 $\ell'$ 而正则化项不乘,因此两者的自然插入点不同。标准 loss-side KL 只捕捉了 $-f'(u_t)u_t$(局部导数),遗漏了 $\sum_{j \geq t} f(u_j)$(未来因果项)。对反向 KL,这给出一个简单的修正:在优势构建后加上 per-token log ratio 的反向累积和。这与 KL-in-reward、loss-side KL、actor-critic GAE 方法都有本质区别。

方法步骤详情

FRPO 的算法流程分为三步。第一步,标准 GRPO 优势计算:对每个 prompt $x$ 采样 $G$ 个回复 $\{o_i\}_{i=1}^G \sim \pi_{\theta_{old}}(\cdot|x)$,用 verifier 得到奖励 $r_i$,计算组内均值 $\mu_G$ 和标准差 $\sigma_G$,得到标准化优势 $\hat{A}_i^{GRPO} = (r_i - \mu_G)/\sigma_G$。第二步,future-KL 修正计算:对每个回复 $i$ 的每个 token $t$,计算 log ratio $\delta_{i,j} = \log \frac{\pi_\theta(o_{i,j}|s_{i,j})}{\pi_{ref}(o_{i,j}|s_{i,j})}$,然后从末尾向前做反向累积和得到 future-KL return-to-go $\sum_{j=t}^{T_i} \delta_{i,j}$。实际实现使用 rollout log-probabilities 以提高效率。第三步,组合优势:最终 token 权重为 $\hat{A}_{i,t}^{FRPO} = sg\left(\hat{A}_i^{GRPO} - \beta \sum_{j=t}^{T_i} \delta_{i,j}\right)$,其中 $sg$ 表示 stop-gradient(采样系数作为不求导权重)。然后将此权重代入标准 PPO clipped surrogate 进行优化。由于 future-KL 修正被纳入 advantage,PPO 的 importance ratio $\rho_{i,t}$ 同时作用于 verifier reward 信号和正则化信号。

技术新颖性

FRPO 的技术新颖性体现在多个层面。首先,理论层面:论文首次严格推导了 GRPO 风格非线性效用 + token 级 f-散度正则化下的 on-policy 策略梯度(Theorem 4.1),揭示了 $\ell'$ 在 reward 和正则化项间的不对称性(Corollary 4.2),并证明了 loss-side KL 在 on-policy 下仍遗漏 future state-distribution 项(Proposition 4.3)。其次,概念层面:论文明确区分了两个常被混淆的问题——estimator 问题(rollout 分布失配)和 objective 问题(即使 on-policy 也遗漏未来项),并指出 GRPO 的非线性效用使得 reward 和 KL 不可融合,这在 MaxEnt RL 的线性设置下是不存在的。第三,算法层面:future-KL 修正的解耦放置——保留 GRPO 的 outcome-level normalization 同时在之后添加 token 级 KL 修正——不同于 KL-in-reward(在 normalization 前融合)、loss-side KL(只求局部导数)、和 GAE + KL-in-reward(引入 critic 并改变 normalization 语义)。最后,论文还从 KL 正则化最优策略的角度(Theorem 5.3)给出了 process reward 解释,建立了策略梯度推导和最优性条件之间的桥梁。

Comparison between GAE and GRPO advantage estimation, both with future KL.
Figure 4: Comparison between GAE and GRPO advantage estimation, both with future KL.

实验结果

实验在 Qwen3-1.7B-Base、Qwen3-4B-Base 和 Qwen3-30B-A3B-Base 三个模型上进行,使用约 12,000 个数学问题训练,评估 MATH500、AIME24、AIME25、AMC23、OlympiadBench 和 MinervaMath 六个基准。核心发现如下:第一,FRPO 在大模型(30B MoE)上效果显著,MATH500 pass@16 从 KL-loss 的 90.23% 提升到 96.07%(+5.84%),AIME24 从 51.25% 提升到 63.88%(+12.63%),AIME25 从 22.04% 提升到 45.23%(+23.19%),这是非常大的提升。第二,KL-in-reward 方法在所有模型上都导致训练坍塌(collapse),这完美验证了 Proposition 3.2 的理论预测——在非线性效用下将 KL 融入 reward 会扭曲隐含目标。第三,FRPO 相比 KL-loss 保持了更高的最终 entropy 和更低的 PPO-KL(策略漂移),说明 future-KL 信用分配帮助模型在不过度偏离参考策略的情况下激发推理能力。第四,小模型(1.7B)上 FRPO 效果较弱(MATH500 85.30% vs KL-loss 77.07%),但 AIME 表现不如 KL-loss,作者推测该模型在当前训练预算下已接近推理能力上限。第五,反向 KL 优于前向 KL,k1 估计器优于 k3 估计器,因为 k3 的非负性使 future-KL 项总是惩罚方向,缺乏区分相对优劣的能力。

Full evaluation results of pass@16 (%) for Qwen3-1.7B-Base, Qwen3-4B-Base, and Qwen3-30B-A3B-Base on different benchmarks.
Table 1: Full evaluation results of pass@16 (%) for Qwen3-1.7B-Base, Qwen3-4B-Base, and Qwen3-30B-A3B-Base on different benchmarks.
Ablation studies with subtracting a baseline from the nonnegative k3 KL estimator.
Table 2: Ablation studies with subtracting a baseline from the nonnegative k3 KL estimator.
The training dynamics of Qwen-30B-A3B-Base with different KL integrations.
Figure 2: The training dynamics of Qwen-30B-A3B-Base with different KL integrations.
Reverse KL versus forward KL, with k1 and k3 as the estimators on Qwen3-1.7B-Base.
Figure 3: Reverse KL versus forward KL, with k1 and k3 as the estimators on Qwen3-1.7B-Base.
查看结构化数据
任务指标本文基线提升
MATH500 pass@16 (%) FRPO: 96.07 (1.54) GRPO KL-loss: 90.23 (1.17); GRPO no KL: 91.63 (0.87) +5.84% 绝对提升(vs KL-loss),+4.44%(vs no KL)
AIME24 pass@16 (%) FRPO: 63.88 (3.86) GRPO KL-loss: 51.25 (4.52); GRPO no KL: 53.06 (2.99) +12.63% 绝对提升(vs KL-loss),+10.82%(vs no KL)
AIME25 pass@16 (%) FRPO: 45.23 (3.41) GRPO KL-loss: 22.04 (3.05); GRPO no KL: 27.45 (2.30) +23.19% 绝对提升(vs KL-loss),+17.78%(vs no KL)
AMC23 pass@16 (%) FRPO: 94.25 (1.35) GRPO KL-loss: 89.06 (2.57); GRPO no KL: 91.44 (1.31) +5.19% 绝对提升(vs KL-loss),+2.81%(vs no KL)
OlympiadBench pass@16 (%) FRPO: 77.71 (0.47) GRPO KL-loss: 62.86 (0.49); GRPO no KL: 66.33 (0.49) +14.85% 绝对提升(vs KL-loss),+11.38%(vs no KL)
MinervaMath pass@16 (%) FRPO: 58.65 (0.71) GRPO KL-loss: 55.51 (0.70); GRPO no KL: 57.46 (0.68) +3.14% 绝对提升(vs KL-loss),+1.19%(vs no KL)

局限与改进

本文存在以下局限性:第一,实验仅在数学推理任务上进行,使用二值 verifier reward,未验证在开放式生成、代码、多轮对话等其他任务和非二值奖励设置下的效果。第二,小模型(1.7B)上 FRPO 的优势不明显,甚至在 AIME 等高难度基准上不如 KL-loss,说明方法的效果可能依赖于模型规模和能力水平。第三,future-KL 修正使用 rollout log-probabilities 作为近似,而非精确的当前策略概率,在多 PPO epoch 或大策略偏移时可能引入近似误差。第四,对 k3 估计器的 baseline 减除实验(Table 2)未带来性能提升,说明当前的 baseline 估计过于粗糙,未来需要更精细的 baseline 设计。第五,论文没有与 PPO + value function baseline 的完整 GAE 方法做详细比较(只在 Figure 4 中做了初步对比),难以全面评估 critic-free vs critic-based 的 trade-off。第六,FRPO 的理论推导假设 on-policy,但实际训练中 $\pi_{\theta_{old}} \neq \pi_\theta$,虽然 PPO importance ratio 提供了一阶校正,但论文未深入分析这种 off-policy 偏差对 future-KL 项的具体影响。

独立分析的弱点

从独立分析的角度,FRPO 存在以下弱点:第一,future-KL 修正使用单一超参数 $\beta$ 控制正则化强度,但不同 prompt 难度、不同位置的 token 可能需要不同的正则化强度,缺乏自适应机制。改进方向:可以设计 prompt-dependent 或 position-dependent 的 $\beta$ 调度。第二,反向累积和 $\sum_{j=t}^{T_i} \delta_{i,j}$ 对长序列可能累积较大方差,特别是当 response 长度变异大时(论文中 Figure 2 显示 response length 约 1000-3000 tokens)。改进方向:可以引入衰减因子 $\gamma$,使用 $\sum_{j=t}^{T_i} \gamma^{j-t} \delta_{i,j}$ 来降低远期项的影响。第三,k3 估计器的 baseline 减除实验失败,说明当前 baseline 设计粗糙——使用 batch 平均 KL 乘以剩余长度 $(T-i) \cdot \bar{D}_{KL}$ 过于简单。改进方向:可以学习一个 token 级别的 baseline 或使用更精细的方差缩减技术。第四,论文未探索 future-KL 与 process reward model (PRM) 的结合,而 PRM 已经提供 token 级别的信号,两者可能存在互补关系。

未来方向

作者提出的未来方向包括:探索更精细的 baseline 估计方法以改善 k3 估计器下的 future-KL 性能。基于本文成果可延伸的方向更多:第一,将 FRPO 扩展到非数学推理任务,如代码生成、多轮对话、开放式问答,验证 future-KL 信用分配的通用价值。第二,探索 future-KL 与 process reward model 的融合——PRM 提供 token 级别的 outcome signal,future-KL 提供 token 级别的 regularization signal,两者结合可能实现更精细的过程级控制。第三,研究 forward KL 和 reverse KL 的混合策略(如 $\alpha$-divergence 家族),利用 f-散度的一般框架设计自适应正则化。第四,将 future-KL 结构与 RLHF 中的 reward model 结合,探索在非二值、学习到的 reward 下的效果。第五,分析 future-KL 在 reasoning chain 中的分布特性——early tokens 是否确实承担更多 KL 信用,这可以帮助理解模型的推理路径构建过程。

复现评估

论文提供了 GitHub 代码仓库(https://github.com/ScaleML/KL-in-LLM-RL),这对复现很有帮助。训练使用约 12,000 个数学问题(DAPO-Math-17k 的过滤版本),评估涵盖 6 个标准基准,数据获取相对容易。算力方面,实验使用了 Qwen3-1.7B、4B 和 30B-A3B 三个模型,30B MoE 模型的训练需要较大计算资源,但 1.7B 和 4B 的实验应该可以在较小集群上复现。方法本身的实现非常简洁——约十行代码改动,主要是 per-token log ratio 的反向累积和,复现难度低。pass@16 的评估使用 1000 次 bootstrap 采样,这是标准做法但计算量不小。总体而言,复现条件较好,代码开源、方法简单、数据公开。