FIPO: Eliciting Deep Reasoning with Future-KL Influenced Policy Optimization
FIPO: Eliciting Deep Reasoning with Future-KL Influenced Policy Optimization
原文链接:https://arxiv.org/abs/2603.19835 作者:Chiyu Ma, Shuo Yang, Kexin Huang, Jinda Lu, Haoming Meng, Shangshang Wang 等 机构:Dartmouth College, 北京大学, 多伦多大学, 南加大, Qwen Pilot Team, 阿里巴巴 发布日期:2026-03-25
速查卡
| 项目 | 内容 |
|---|---|
| 一句话总结 | 用未来KL散度实现token级密集信用分配,无需value model即可突破GRPO推理长度瓶颈 |
| 大白话版 | GRPO训练时给每个token发一样的”奖金”,FIPO根据每个token对后续推理的影响程度发不同的”奖金”,让模型学会更长更深的思考 |
| 核心数字 | AIME 2024 Pass@1: 50%→58%(+16%),CoT长度: 4K→10K+ tokens |
| 评级 | A — 突破性方法论创新,直接挑战GRPO信用分配的根本局限 |
| 代码 | 基于verl框架开源,完整训练代码和配置 |
| 关键词 | FIPO, Future-KL, GRPO, DAPO, 密集优势, token级信用分配, 推理训练, Qwen2.5-32B |
核心 Insight
这篇论文的核心洞察极其精准:GRPO 类算法的性能天花板不是来自模型能力不足,而是来自信用分配的粒度太粗。
在传统 GRPO 框架下,训练使用的是结果奖励模型(ORM)——只要最终答案对了,整条推理链上的每个 token 都拿一样的”奖金”。这就好比一个足球队赢了比赛,从门将到前锋每人发一样的 MVP 奖金,完全无法区分谁才是那个关键进球的人。结果是:模型无法学会哪些推理步骤是关键转折点,推理链长度停滞在 4000 token 左右,无法深入。
FIPO 的破局思路:用未来 KL 散度来衡量每个 token 对后续推理轨迹的影响程度。一个 token 如果让后续的整条推理链都变”好”了(策略被强化),那它就是关键 token,应该获得更大的优势权重;反之则应被削弱。
为什么这个想法 work?
从第一性原理看,推理是一个序列决策过程。每个 token 的真正价值不在于它自身,而在于它”开启”了怎样的后续推理链。FIPO 本质上是在做一件事:把”这个 token 对未来有多大影响”量化为一个可计算的信号,然后用这个信号去调制标准的优势估计。
类比:想象你在下棋。传统 GRPO 就像只看最终输赢来评价每一步棋——赢了全好,输了全差。FIPO 则像一个资深棋评师,能看到某一步”妙手”之后局势完全打开,给这步棋特别高的评价;也能看到某一步”缓手”之后对手逐步占优,给予低评价。而且它不需要额外训练一个”棋评模型”(value model),而是直接从策略本身的变化中读出这个信号。
方法详解
整体架构
输入问题q → 采样G条推理轨迹 → 结果验证(ORM)
↓
计算组相对优势 Â_i
↓
对每个token计算 Δlog p_t(概率偏移)
↓
累加为 FutureKL_t(折扣未来KL散度)
↓
exp + clip → 影响权重 f_t
↓
调制优势:Ã_t = Â_t × f_t
↓
代入DAPO目标函数 → 梯度更新
关键技术组件
组件 1: 概率偏移 Δlog p
做什么: 捕获单个 token 在策略更新前后的概率变化方向和幅度。
怎么做:
- Δlog p > 0:当前策略在强化这个 token(更倾向于生成它)
- Δlog p < 0:当前策略在抑制这个 token(更倾向于不生成它)
直觉解释: 这个值就是”RL训练在这个token上动了多大手脚”。之前的研究(Meng et al., Huang et al.)已经发现,RL 实际上只在 98% 以上的生成步骤中保持分布不变,真正改变的只有极其稀疏的关键 token。Δlog p 就是定位这些关键 token 的原子信号。
组件 2: Future-KL(未来KL散度)
做什么: 将 token 的局部概率偏移聚合为对整条后续轨迹的影响度量。
怎么做(最终公式,含衰减+掩码):
其中:
- 是 Dual-Clip 掩码(过滤极端异常值,c ≥ 10)
- 是指数衰减因子,τ 控制”半衰期”(论文中 τ=32)
直觉解释: FutureKL_t 回答的核心问题是:“从第 t 个 token 开始到结尾,策略在整体上是强化还是抑制了这条推理链?”
- FutureKL > 0:后续轨迹被整体强化 → token t 是”稳定锚点”,它开启了好的推理方向
- FutureKL < 0:后续轨迹被整体抑制 → token t 开启了不好的推理方向
为什么需要衰减和掩码? 没有这两个机制,FutureKL 的方差会爆炸。论文图2展示了不加保护时,约 Step 70 处出现 low-clip fraction 尖峰 → Policy KL 发散 → 梯度范数爆炸 → 响应长度崩塌的连锁反应。掩码过滤掉已被 Dual-Clip 处理的极端 token;衰减则让远距离 token 的影响自然衰减,避免噪声累积。
数值例子: 假设 τ=32(半衰期32 token),当前位置 t=100,序列总长 T=200:
- token 101 (k-t=1): 权重 ≈ 0.979
- token 132 (k-t=32): 权重 = 0.5(半衰期)
- token 164 (k-t=64): 权重 = 0.25
- token 200 (k-t=100): 权重 ≈ 0.116
这意味着距离当前 token 32 步以内的后续行为贡献了约 50% 的 FutureKL 信号,形成一个自然的”软窗口”。
组件 3: 影响权重裁剪与优势调制
做什么: 将 FutureKL 转化为乘性权重,调制标准优势估计。
怎么做:
32B 模型的实际设置:clip 范围 [1, 1.2],即只允许正向放大最多 20%,不做负向缩小(仅对正优势样本生效)。
直觉解释:
- 当 FutureKL > 0 时,f > 1,放大正优势(奖励好的推理锚点)或加重负优势的惩罚(严厉纠错)
- 当 FutureKL < 0 时,f < 1,减弱正优势的奖励(好 token 在坏轨迹中不应被过度奖励)
- 实践中对负优势+大重要性比的 token 重置 f=1,防止过度惩罚
训练策略
- 数据: DAPO-17K 公开数据集(数学推理题),严格对齐基线
- 优化器/学习率: 与 DAPO 一致
- 采样: 每批 512 个 prompt × 16 条响应 = 8192 条轨迹;mini-batch 1024(比 DAPO 的 512 更大,提升稳定性)
- 算力: 基于 VeRL 框架的分布式训练(具体 GPU 数未披露,但 32B 模型 + 20K max tokens 推测至少 32-64×H100)
- 最大响应长度: 20,480 tokens,超过 16,384 时施加 overlong penalty
- 推理超参: temperature=1.0, top_p=0.7, 每题采样 32 次取平均
与现有方法的关键区别
| 维度 | GRPO/DAPO | PPO (VC-PPO/VAPO/T-PPO) | FIPO |
|---|---|---|---|
| 信用分配粒度 | 序列级(所有token相同) | token级(GAE) | token级(FutureKL) |
| 是否需要 Value Model | ❌ | ✅(通常需要预训练) | ❌ |
| 额外计算开销 | 无 | 大(训练+推理value网络) | 小(仅需前向传播的log概率) |
| 外部知识依赖 | 无 | 有(value model可能引入SFT数据的先验知识) | 无 |
| 推理链扩展能力 | 停滞在~4K tokens | 较好 | 突破至10K+ tokens |
| 训练稳定性 | 梯度范数波动大 | 依赖value model质量 | 平稳(掩码+裁剪) |
实验结果
主实验
| 方法 | AIME 2024 Avg@32 | AIME 2024 Cons@32 | AIME 2024 Pass@32 | AIME 2025 Avg@32 | AIME 2025 Cons@32 | AIME 2025 Pass@32 |
|---|---|---|---|---|---|---|
| DAPO (Baseline) | 50.0% | 60.0% | 80.0% | 38.0% | 47.0% | 63.0% |
| FIPO (Ours) | 56.0% | 73.0% | 83.0% | 43.0% | 50.0% | 67.0% |
| 相对提升 | +12.0% | +21.7% | +3.8% | +13.2% | +6.4% | +6.3% |
| DeepSeek-R1-Zero-Math-32B | ~47.0% | — | — | — | — | — |
| o1-mini | ~56.0% | — | — | — | — | — |
解读:
- AIME 2024 上 Avg@32 从 50% 提升至 56%(+6个百分点),峰值达到 58%,超越 o1-mini (~56%)
- 一致性(Cons@32)提升最大 (+21.7%),说明 FIPO 让模型不仅能解出更多题,而且解题过程更稳定可靠
- Pass@32 提升相对温和 (+3.8%),论文合理解释:RL 主要提升模型利用已有知识的效率(可靠性),难以扩展模型的知识边界
- AIME 2025 上同样获得一致提升,表明方法具有跨时间的泛化性
关键训练动态分析
长度-性能耦合(核心发现)
论文图3是全文最关键的实验结果之一:
| 指标 | DAPO 最终状态 | FIPO 最终状态 |
|---|---|---|
| 平均 CoT 长度 | ~4,000 tokens(停滞) | >10,000 tokens(持续增长) |
| 中位数长度 | ~3,500 | >10,000 |
| Q25 长度 | ~1,500 | ~6,000 |
| Q75 长度 | ~5,500 | >14,000 |
关键发现:
- DAPO 的推理长度在训练初期快速增长后进入停滞期,平均约 4K tokens 就不再增长
- FIPO 展现出持续的长度扩展,从 200 tokens 一路攀升至超过 10K tokens
- 长度扩展不是由个别极端样本驱动的——所有分位数(min, Q25, median, Q75)都同步上升,说明这是整体分布的迁移
- 长度和准确率之间存在强正相关,FIPO 成功将增加的”思考空间”转化为了真正的推理深度
优势动态对比
| 指标 | DAPO | FIPO |
|---|---|---|
| 训练奖励 | 更高(因为生成更短,overlong penalty更少) | 较低(更长的生成触发更多 overlong penalty) |
| 响应长度加权平均优势 | 下降趋势 → 正样本长度被负样本主导 | 上升趋势 → 正样本越来越”实在” |
| 采样批次数 | 急剧增加 → 过拟合信号 | 平稳 → 搜索空间更广 |
核心洞察: DAPO 看似奖励更高实则是假象——它只是学会了”写短答案少被罚”的策略,陷入了局部最优。FIPO 的奖励更低但推理更深,它选择了更难但更正确的路。
训练稳定性
| 指标 | DAPO | FIPO |
|---|---|---|
| Policy KL | 波动大 | 平稳递增 |
| 梯度范数 | 剧烈尖峰 | 低且稳定 |
| 策略熵 | 嘈杂振荡 | 平滑上升 |
FIPO 的训练过程显著更稳定。平滑上升的策略熵说明模型在有序地扩展探索空间,而非无序振荡。
SOTA 对照矩阵
| 方法 | 机构 | 模型规模 | AIME 2024 Avg@32 | 需要 Value Model | 需要 SFT/蒸馏数据 | 开源 |
|---|---|---|---|---|---|---|
| DeepSeek-R1-Zero-Math | DeepSeek | 32B | ~47.0% | ❌ | ❌ | ✅ |
| DAPO | 开源社区 | 32B | 50.0% | ❌ | ❌ | ✅ |
| o1-mini | OpenAI | 未知 | ~56.0% | 未知 | 未知 | ❌ |
| VC-PPO/VAPO/T-PPO | 多家 | 32B | ~55-58% | ✅ | ✅(Value Model预训练) | 部分 |
| FIPO | Qwen/阿里 | 32B | 56.0%(峰值58%) | ❌ | ❌ | ✅ |
复现评估
| 维度 | 评分(1-5) | 详细说明 |
|---|---|---|
| 数据可得性 | ⭐⭐⭐⭐⭐ | DAPO-17K 完全公开,训练/评测数据均可获取 |
| 代码可得性 | ⭐⭐⭐⭐⭐ | 基于 verl + DAPO 代码库,完整训练代码和配置公开 |
| 算力需求 | ⭐⭐ | 32B 模型 + 20K max tokens + 8192 条/批 → 至少 32-64×H100 |
| 工程复杂度 | ⭐⭐⭐⭐ | 核心改动集中在优势计算部分,无需额外模型/训练流程 |
| 预期收益 | ⭐⭐⭐⭐ | 32B 规模即可匹配 o1-mini 级别推理,性价比极高 |
复现建议: 最直接的路径是 fork DAPO 代码库,修改优势计算模块加入 FutureKL 逻辑。核心代码改动量估计在 200-500 行以内。算力门槛是主要限制——如果没有多卡 H100 集群,可以先在 7B 模型上验证效果。
批判性分析
局限性(论文承认的 + 我们发现的)
论文自述的局限:
- 成本问题: CoT 从 4K 扩到 10K+ 带来显著的训练和推理开销
- 任务泛化: 仅在数学推理上验证,代码生成/符号逻辑等领域效果未知
- 数据范围: 严格限制在 DAPO-17K 数据集,未探索更大规模数据的扩展性
- 模型范围: 仅测试了 Qwen2.5-32B-Base,其他基座模型效果未知
- 与蒸馏的差距: 纯 RL 自进化仍不如直接从大模型蒸馏
我们额外发现的问题:
- clip 范围 [1, 1.2] 的敏感性未充分探讨: 论文在 32B 上用 [1, 1.2],但这个范围是否是通用最优?不同模型规模和任务可能需要不同的范围
- overlong penalty 的影响未解耦: DAPO 的高奖励部分来自更少的 overlong penalty,但 FIPO 的 overlong penalty 具体有多大影响?如果去掉 penalty,FIPO 会不会生成过长的无效推理?
- 自我验证行为的涌现缺乏因果分析: 论文在附录中展示了模型逐步涌现自我验证行为,但这到底是 FutureKL 直接导致的,还是更长的 CoT 空间本身就会催生自我验证?
改进方向
- 与蒸馏结合: 先用 FIPO 从基座模型激发深度推理能力,再用蒸馏压缩推理链长度(论文也提到这是下一步)
- 多任务扩展: 在代码生成(SWE-Bench)、逻辑推理等任务上验证 FIPO,如果效果一致,将是真正改变范式的工作
- 自适应 τ: 让衰减窗口的半衰期根据问题复杂度动态调整,简单问题用短窗口,复杂问题用长窗口
独立观察(论文没说但我们注意到的)
- FIPO 和 DeepSeek-R1 的 aha moment 有深层联系: R1 论文中观察到模型在 RL 训练中自发涌现”啊哈时刻”(突然开始自我反思),FIPO 的实验中也出现了类似现象(附录D)。FIPO 的 FutureKL 机制可能恰好在强化这些”啊哈时刻”——因为它们通常是后续推理链质量跃升的”锚点”
- 对 GRPO 框架的影响是深远的: FIPO 证明了不需要 value model 就能实现密集信用分配,这直接削弱了”PPO > GRPO”的叙事。如果 FIPO 的思路被广泛采纳,未来 RL4LLM 的主流可能从 PPO 回到改良版 GRPO
- Qwen 团队的战略意图: FIPO 来自 Qwen Pilot Team(阿里巴巴),这表明 Qwen 在推理训练方法论上有独立的研究线路。结合即将发布的 Qwen 3.6,FIPO 很可能已经被整合进了 Qwen 的训练管线