基于在线因果卡尔曼滤波的稳定高效策略优化 Online Causal Kalman Filtering for Stable and Effective Policy Optimization
用卡尔曼滤波平滑token级重要性采样比率,提升大语言模型强化学习的稳定性与效果
前置知识
重要性采样比率(Importance Sampling Ratio)
在离策略强化学习中,重要性采样比率 $r_t = \frac{\pi_\theta(y_t|x, y_{ 1$ 时表示当前策略对该token的概率估计高于旧策略(up状态),$r_t < 1$ 则相反(down状态),$r_t = 1$ 表示on-policy。这个比率直接影响策略梯度的权重,其稳定性对训练至关重要。
本文的核心问题正是token级IS比率的高方差和结构不一致性导致训练不稳定,理解IS比率的含义是理解全文问题动机的基础。
GRPO(Group Relative Policy Optimization)
GRPO是DeepSeek提出的组相对策略优化方法,是PPO的一种轻量变体。对于每个prompt,采样一组G个响应,用验证器评分后通过组内标准化构建序列级优势估计 $\hat{A}_{i,t}$,从而避免了显式的值函数模型。其目标函数采用PPO风格的clipped surrogate形式,但优势估计在序列内所有token间共享。这种方法大幅降低了内存开销,在数学推理等任务上取得了显著成功。
KPO是在GRPO框架上进行改进的,理解GRPO的工作机制(特别是其token级策略梯度公式)才能理解KPO的改进点在哪里。
卡尔曼滤波(Kalman Filtering)
卡尔曼滤波是一种最优递归估计算法,用于从含噪声的观测序列中估计隐藏状态。它包含三个核心步骤:预测步(用过程模型预测下一状态)、计算卡尔曼增益(决定对新观测的信任程度)、更新步(用观测修正预测)。在标量情况下,卡尔曼增益 $K_t = \frac{P_{t|t-1}}{P_{t|t-1} + V} \in [0,1]$,其中 $P_{t|t-1}$ 是预测不确定性,$V$ 是观测噪声方差。增益越大越信任观测,越小越依赖历史平滑。
本文将token级IS比率建模为时间序列,用卡尔曼滤波进行在线平滑估计。理解卡尔曼滤波的预测-更新机制是理解KPO方法的关键。
离策略优化(Off-policy Optimization)
在RL训练中,当用于更新的样本不是由当前最新策略生成时,就构成了离策略设置。在GRPO中,一个训练batch通常包含多个mini-batch,只有第一个mini-batch是on-policy的(IS比率全为1),其余mini-batch的样本来自旧策略,其IS比率会偏离1。这种离策略偏差会放大策略梯度的方差,特别是在大规模训练中可能导致训练崩溃。
本文发现的token级IS比率结构不一致性正是在离策略设置下观察到的,这是驱动本文研究的核心现象。
状态空间模型(State-Space Model)
状态空间模型是一类用隐藏状态变量描述系统动态的概率模型,包含过程方程(描述隐藏状态如何随时间演化)和观测方程(描述隐藏状态如何产生观测值)。在本文中,过程方程为 $\rho_t = \rho_{t-1} + \eta_t$(随机游走),观测方程为 $z_t = \rho_t + \epsilon_t$(带噪声观测),其中 $\rho_t$ 是潜变量(真实的IS比率),$z_t$ 是观测值(计算得到的IS比率)。
KPO的核心技术贡献就是将IS比率平滑问题建模为状态空间模型中的滤波问题,这个建模视角是理解方法创新性的关键。
研究动机
在大语言模型的强化学习训练中,特别是使用GRPO等组相对策略优化方法时,token级重要性采样(IS)比率存在严重的高方差和结构不一致性问题。具体而言,当训练batch中包含离策略样本时(例如mini-batch更新中只有第一个mini-batch是on-policy的),每个token的IS比率会剧烈波动。论文通过在Qwen3-4B上运行GRPO并记录960个样本的token级IS比率,设计了三个互补统计量来刻画这种现象:(1)窗口级离策略频率随序列位置递增,说明序列后半部分的离策略偏差更严重;(2)离策略token的游程长度很短(up状态仅1.64个token,down状态仅1.57个token),表明离策略状态极其短暂;(3)状态切换频率高达0.43,意味着几乎每两个token就会切换一次状态。这种局部结构不一致性会扭曲相邻token的策略梯度更新,最终导致GRPO训练崩溃——论文观察到GRPO在约200步后就开始发散,奖励持续下降。
本文的目标是本文的目标是设计一种既能平滑token级IS比率噪声、又能保留序列内局部结构一致性的方法,从而实现稳定且有效的策略优化。具体而言,作者希望:(1)消除IS比率中的高频噪声尖峰,降低策略梯度方差;(2)保持相邻token间离策略偏差的局部一致性,避免过度平滑导致的结构信息丢失;(3)在多个数学推理基准上超越现有的序列级比率方法(如GMPO、GSPO),同时保持训练过程的稳定性。从实验结果看,KPO确实实现了这些目标,在AIME'24上将avg@16从32.70提升至37.91,同时训练曲线平稳上升,没有出现GRPO的发散现象。
与已有工作不同的是,现有方法对IS比率问题的处理存在两个根本性的盲区。第一类方法(如GSPO、GMPO)使用固定的序列级IS比率——将整个序列的所有token级比率平均为一个标量,然后对所有token使用同一个比率。这种方法虽然有效降低了方差,但完全忽略了序列内不同语义段(如不同的推理步骤)之间的离策略异质性,导致所有token被一视同仁地处理,丢失了细粒度的信用分配信息。第二类方法(如SAPO、ASPO)虽然保留了token级比率,但独立地调整每个token的比率,完全忽略了相邻token之间的时间依赖关系。本文的独特切入角度是:将token级IS比率视为一个有结构的时间序列,从时间序列分析的视角来理解和处理这个问题。作者首次通过实证分析揭示了token级IS比率的局部结构不一致性这一反直觉现象,并提出用因果卡尔曼滤波来进行在线、结构感知的平滑——这是一种全新的技术路线,既不同于序列级的粗粒度聚合,也不同于token级的独立调整。
核心方法
KPO的核心直觉可以用一个类比来理解:想象你在听一段有噪声的录音,录音中包含真实的语音信号和随机噪声。序列级IS比率方法相当于把整段录音压缩成一个音量值——虽然噪声被消除了,但语音的抑扬顿挫也消失了。而token级独立调整方法相当于逐个采样点处理——保留了细节但噪声也被保留了。卡尔曼滤波则像一个智能的降噪耳机:它知道相邻时刻的语音应该是连贯的(局部一致性假设),所以当遇到一个突兀的噪声尖峰时,它会根据周围的声音来判断这是真实的语音变化还是噪声,从而做出最优的估计。技术路线上,KPO首先将token级IS比率取对数得到观测序列 $z_t = \log r_t$,然后将其建模为一个状态空间模型:潜变量 $\rho_t$(真实的对数IS比率)按随机游走演化,观测值 $z_t$ 是潜变量加上高斯噪声。接着应用因果卡尔曼滤波(只使用过去和当前token的信息)来在线估计潜变量,得到平滑后的估计 $\hat{\rho}_{t|t}$,最后指数变换回比率空间得到 $\tilde{r}_t = \exp(\hat{\rho}_{t|t})$,用于替换GRPO目标中的原始IS比率。
KPO与已有方法最本质的区别在于它引入了**时间维度上的因果依赖**来处理IS比率。具体来说,已有方法存在两种极端:序列级方法(GSPO、GMPO)将所有token的IS比率压缩成一个全局标量,本质上是在时间维度上做了完全平均,丢失了所有局部结构信息;token级独立调整方法(SAPO、ASPO)则假设每个token的IS比率与其他token无关,完全忽略了相邻token之间的语义连续性。KPO的创新在于认识到:虽然离策略偏差在整个序列上是异质的(global heterogeneity),但在局部语义段内应该是同质的(local homogeneity)——因为相邻token通常共享相似的语义,所以它们的离策略偏差应该缓慢变化而非剧烈跳变。基于这个洞察,KPO将IS比率建模为一个潜变量时间序列,用卡尔曼滤波的预测-更新机制来实现因果平滑:预测步假设潜变量按随机游走演化($\hat{\rho}_{t|t-1} = \hat{\rho}_{t-1|t-1}$),更新步用卡尔曼增益 $K_t$ 自适应地权衡历史预测和当前观测。关键在于卡尔曼增益的自适应性:当预测不确定性 $P_{t|t-1}$ 大时(说明历史信息不可靠),$K_t$ 增大,滤波器更信任当前观测;当观测噪声 $V$ 大时(说明当前观测不可靠),$K_t$ 减小,滤波器更依赖历史平滑。这种机制使得KPO能够:(1)平滑掉孤立的噪声尖峰(高频分量),(2)保留持续的离策略偏差模式(低频分量),(3)保持相邻token间离策略状态的结构一致性。
方法步骤详情
KPO的完整流程包含以下步骤:**步骤1:计算原始对数IS比率。** 对序列中的每个token位置 $t$,计算 $z_t = \log \pi_\theta(y_t|x, y_{<t}) - \log \pi_{\theta_{old}}(y_t|x, y_{<t})$,即新旧策略对数概率之差。这是卡尔曼滤波的观测值。**步骤2:初始化卡尔曼滤波器。** 设置初始后验均值 $\hat{\rho}_{0|0} = 0$(对应IS比率为1,即on-policy),初始后验方差 $P_{0|0} = P_0$。设置过程噪声方差 $Q$ 和观测噪声方差 $V$。**步骤3:因果卡尔曼滤波(逐token自回归处理)。** 对 $t = 1, 2, ..., T$:(a)预测步:$\hat{\rho}_{t|t-1} = \hat{\rho}_{t-1|t-1}$,$P_{t|t-1} = P_{t-1|t-1} + Q$;(b)计算新息(innovation):$\delta_t = z_t - \hat{\rho}_{t|t-1}$;(c)计算卡尔曼增益:$K_t = \frac{P_{t|t-1}}{P_{t|t-1} + V}$;(d)更新步:$\hat{\rho}_{t|t} = \hat{\rho}_{t|t-1} + K_t \delta_t$,$P_{t|t} = (1-K_t)P_{t|t-1}$。**步骤4:变换回比率空间。** 对每个token计算 $\tilde{r}_t = \exp(\hat{\rho}_{t|t})$。**步骤5:构造KPO目标函数。** 用滤波后的比率 $\tilde{r}_t$ 替换GRPO目标中的原始比率 $r_t$,得到 $J_{KPO}$。论文提出了两个变体:KPO-clipped(保留PPO风格的clipping,$\tilde{r}'_t = \text{clip}(\tilde{r}_t, 1-\epsilon_-, 1+\epsilon_+)$)和KPO-unclipped(不使用clipping)。实验中KPO-clipped使用 $Q = 1 \times 10^{-6}$,$V = 1$,$\epsilon_- = 0.0003$,$\epsilon_+ = 0.0004$。
技术新颖性
KPO的技术新颖性体现在三个层面。**第一,视角创新:时间序列分析视角。** 这是首次将token级IS比率视为结构化时间序列来分析。论文通过精心设计的三个统计量(窗口频率、游程长度、切换频率)实证揭示了token级IS比率的局部结构不一致性——这是一个反直觉的发现,因为直觉上相邻token应该表现出相似的离策略偏差。**第二,建模创新:状态空间模型建模。** 将IS比率平滑问题建模为状态空间模型中的滤波问题是一个新颖的技术路线。过程方程采用随机游走模型 $\rho_t = \rho_{t-1} + \eta_t$,观测方程 $z_t = \rho_t + \epsilon_t$ 直接对应IS比率的计算和噪声。这种建模方式自然地分离了信号(潜变量的缓慢演化)和噪声(观测的高频波动)。**第三,算法创新:因果卡尔曼滤波。** 与序列级方法的关键区别在于KPO是因果的(causal)——它只使用过去和当前token的信息来估计当前的IS比率,这与自回归生成的因果性质一致。与token级独立调整方法的区别在于KPO引入了时间依赖——当前token的估计会考虑相邻token的历史信息,从而保持局部一致性。此外,卡尔曼增益的自适应机制使得KPO能够自动平衡平滑程度和响应速度,无需手动设计启发式规则。
实验结果
论文在六个数学推理基准上进行了全面实验,使用Qwen3-4B作为基础模型,每个问题采样16个候选解来计算avg@16和pass@16。**核心发现1:KPO在所有基准上一致性地超越了GRPO、GMPO和GSPO三个基线。** KPO-clipped在五个基准上取得最佳avg@16:AIME'24(37.91 vs GSPO的32.70,提升16%)、AIME'25(36.87 vs 29.16,提升26%)、AMC'23(87.50 vs 76.56,提升14%)、MATH500(89.42 vs 87.41)和OlympiadBench(54.06 vs 51.37)。在pass@16上,KPO-clipped在AIME'25(60.00 vs 50.00)、MATH500(94.80 vs 94.00)和OlympiadBench(66.27 vs 63.00)取得最佳。**核心发现2:KPO在最具挑战性的基准上提升最大。** AIME'24和AIME'25是提升最显著的两个基准,因为它们需要长链条的多步推理,累积误差使得训练稳定性尤为关键。KPO-clipped在AIME'25上将GSPO的29.16/50.00提升至36.87/60.00,提升幅度接近26%。**核心发现3:KPO-clipped通常优于KPO-unclipped。** 在大多数基准上,clipped变体表现更好,最大差距出现在AIME'24、AIME'25和AMC'23上。这说明虽然卡尔曼滤波平滑了比率噪声,但不能完全消除真正极端的离策略token,PPO风格的clipping仍然有补充作用。**核心发现4:训练动态分析表明KPO兼具稳定性和有效性。** GRPO在约200步后发散,奖励持续下降;GSPO和GMPO中期达到峰值后平台期;KPO则全程稳定提升,最终取得最高奖励。GRPO的熵早期就崩溃到接近零,而KPO和GMPO保持了相对较高的熵。GRPO的策略梯度损失呈现大幅振荡,而KPO保持低变异性的稳定更新。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| AIME 2024 | avg@16 | 37.91 (KPO-clipped) | 32.70 (GSPO) | +5.21 (+16%) |
| AIME 2024 | pass@16 | 66.67 (KPO-unclipped) | 60.00 (GSPO) | +6.67 (+11%) |
| AIME 2025 | avg@16 | 36.87 (KPO-clipped) | 29.16 (GSPO) | +7.71 (+26%) |
| AIME 2025 | pass@16 | 60.00 (KPO-clipped) | 50.00 (GSPO) | +10.00 (+20%) |
| AMC 2023 | avg@16 | 87.50 (KPO-clipped) | 76.56 (GMPO) | +10.94 (+14%) |
| MATH500 | avg@16 | 89.42 (KPO-clipped) | 87.41 (GSPO) | +2.01 (+2.3%) |
| OlympiadBench | avg@16 | 54.06 (KPO-clipped) | 51.37 (GSPO) | +2.69 (+5.2%) |
局限与改进
论文存在以下几个局限性。**作者承认的局限:**(1)由于KPO需要按token顺序进行因果卡尔曼滤波,其滤波过程难以像自回归生成那样并行化,这会增加一定的计算开销。作者在结论中明确提出未来需要设计并行化的卡尔曼滤波算法。(2)卡尔曼滤波的超参数 $Q$ 和 $V$ 需要根据具体场景进行调优——例如使用MoE模型或存在训练-推理不匹配时,IS比率波动更快,需要增大 $Q$ 以提高响应性。**我观察到的局限:**(1)实验仅在数学推理任务上验证,未涉及代码生成、信息检索、设备控制等论文开头提到的其他应用领域,泛化性有待验证。(2)基础模型仅使用Qwen3-4B(4B参数),未在更大规模模型(如70B、数百B)上验证,而论文强调的大规模训练稳定性问题在更大模型上可能更突出。(3)论文未与SAPO(软门控函数调整token级比率)和ASPO(非对称比率处理)进行实验对比,只比较了序列级方法(GMPO、GSPO)和基础GRPO。(4)消融实验主要关注 $Q/V$ 比值的影响,未单独分析 $Q$ 和 $V$ 的作用,也未探讨不同初始方差 $P_0$ 的影响。
独立分析的弱点
基于对论文的深入分析,我认为KPO存在以下弱点和改进方向。**弱点1:因果性带来的计算瓶颈。** 卡尔曼滤波的逐token自回归处理与模型的自回归生成具有相同的时间复杂度问题——无法并行化。在长序列(如4096 token)场景下,这会成为训练的瓶颈。改进方向:可以探索并行卡尔曼滤波的近似算法,例如基于前缀和(prefix-sum)的并行扫描算法,或者将长序列分成多个窗口分别滤波再拼接。**弱点2:超参数敏感性。** 实验表明 $Q/V = 10^{-6}$ 表现最佳,而 $Q/V = 10^{-2}$ 会导致训练后期性能下降。这意味着用户需要仔细调优这些超参数,而论文未提供自动调优的指导。改进方向:可以设计自适应的噪声估计方法,例如用指数移动平均在线估计观测噪声方差 $V$,或者用贝叶斯优化自动搜索 $Q/V$。**弱点3:状态空间模型的假设过于简单。** 随机游走过程模型 $\rho_t = \rho_{t-1} + \eta_t$ 假设潜变量的变化是无方向的,但实际的离策略偏差可能具有趋势性(如论文观察到的窗口频率递增)。改进方向:可以考虑带漂移的随机游走模型或更复杂的ARMA模型。**弱点4:缺乏与token级方法的公平对比。** 论文只与序列级方法(GMPO、GSPO)和基础GRPO对比,未与SAPO、ASPO等token级调整方法进行实验对比,无法确认KPO相对于这些方法的优势。
未来方向
基于KPO的成果,未来研究可以从以下几个方向展开。**作者提出的方向:** 设计并行化的卡尔曼滤波算法,以解决长序列场景下的计算效率问题。**基于方法可延伸的方向:**(1)将KPO应用于更大的模型(如70B、数百B参数)和更多任务类型(代码生成、多轮对话、agent任务),验证其在不同规模和场景下的泛化性。(2)探索KPO与其他GRPO改进技术的组合,例如与DAPO的解耦clipping、Dr. GRPO的偏差修正、BNPO的Beta归一化等方法结合,可能产生叠加效果。(3)将卡尔曼滤波的思想扩展到优势估计本身——当前KPO只平滑IS比率,但token级优势估计也可能存在类似的结构不一致性,可以考虑对优势函数也进行因果平滑。(4)研究 $Q$ 和 $V$ 的自适应估计方法,使KPO能够自动适应不同模型和任务的特性。(5)将KPO的思想应用于多轮RLHF场景,其中序列间的策略漂移可能更复杂,需要更高维的状态空间模型。
复现评估
论文的复现条件相当友好。**开源情况:** 作者已将代码发布在 GitHub(https://github.com/shuohe1995/verl-kpo),使用的是verl框架,这是一个成熟的RL训练框架。**数据集:** 使用DAPO的数学训练语库,这是公开可用的数据集,包含多样化的数学问题和可验证的解答。**算力需求:** 论文使用NVIDIA H100 GPU进行实验,基础模型Qwen3-4B(4B参数)的训练在单机多卡上应该可行,但具体需要几张卡未明确说明。考虑到batch size为32、group size为8、最大序列长度为4096,可能需要4-8张H100。**复现难度:** 中等偏低。KPO的核心实现仅需在GRPO的损失计算前增加一个卡尔曼滤波步骤,算法本身简单清晰(论文附录给出了完整的伪代码)。超参数设置明确($Q = 10^{-6}$,$V = 1$,$\epsilon_- = 0.0003$,$\epsilon_+ = 0.0004$)。主要的复现挑战可能在于verl框架的环境配置和H100算力的获取。
论文图表
该图展示了三部分内容:上方对比了原始token级IS比率(蓝色,高方差、结构不一致)、序列级IS比率(紫色,全局平滑但丢失局部结构)和卡尔曼滤波后的IS比率(红色,局部平滑且结构一致)。左下方的窗口级统计显示离策略频率随序列位置递增;中间的游程长度分布表明离策略状态是短暂的(run-length短);右下方的切换频率高达0.41,表明状态频繁交替。
这是全文的核心动机图,直观展示了token级IS比率的结构性问题(高方差、频繁切换、短游程),以及卡尔曼滤波如何同时实现局部平滑和结构一致性。没有这张图,读者很难理解为什么需要KPO。