《BAPO:用 Adaptive Clipping 稳定 LLM 的 Off-Policy RL,把“熵塌缩”变成可控变量》

BAPO: Stabilizing Off-Policy Reinforcement Learning for LLMs via Balanced Policy Optimization with Adaptive Clipping

2025-10-21
Zhiheng Xi, Xin Guo, Yang Nan, Enyu Zhou, Junrui Shen, Wenxiang Chen, Jiaqi Liu, Jixuan Huang, Zhihao Zhang, Honglin Guo, Xun Deng, Zhikai Lei, Miao Zheng, Guoteng Wang, Shuo Zhang, Peng Sun, Rui Zheng, Hang Yan, Tao Gui, Qi Zhang, Xuanjing Huang
总结
问题
方法
结果
要点

本文研究的是面向大语言模型的 off-policy reinforcement learning 稳定性问题,提出了 BAPO(Balanced Policy Optimization with Adaptive Clipping),通过自适应调整 PPO/GRPO 风格目标中的 clipping 边界来平衡正负 advantage 样本贡献并维持策略熵。该方法在 AIME 2024/2025 上取得同尺度模型中的 SOTA:7B 模型超过 SkyWork-OR1-7B,32B 模型不仅领先同规模开源模型,还超过 o3-mini-medium 与 Gemini-2.5-Flash-Thinking。

核心速览

TL;DR

  • 这篇论文讨论的不是“如何让 RL 再涨一点分”,而是一个更底层的问题:为什么 LLM 在 off-policy RL 中这么容易训练崩掉
  • 作者指出,PPO/GRPO 式目标在 stale data 下会出现两个结构性问题:负 advantage token 对梯度的主导,以及 固定 clipping 对熵增长更新的系统性压制
  • 基于这个分析,论文提出 BAPO,通过 Adaptive Clipping 动态调整 clipping 上下界,让正样本贡献保持在目标比例附近,同时保留更多有助于探索的低概率正 token。
  • 实验上,BAPO 在 7B 和 32B 数学推理模型上都显著优于 GRPO,并在 AIME 2024/2025 上达到同尺度开源 SOTA,32B 甚至超过部分 proprietary systems。

背景定位

这篇工作不是简单的“又一个 RL trick”,而是典型的 机制解释 + 训练算法修补 + 刷榜验证 三位一体的论文。它在学术坐标系中的位置更接近:为 LLM off-policy RL 提供一个可操作的稳定化原则。如果说早期很多工作只是在调 clip、控 entropy、做 curriculum,那么 BAPO 的贡献是把这些经验现象归结到一个统一框架下。


痛点与动机

为什么 off-policy RL 对 LLM 很诱人?

原因很现实:

  • 样本效率更高:可以重复利用旧 rollout。
  • 更适合工程系统:现代训练基础设施里常有 sample replay、partial rollout、异步采样。
  • 长轨迹任务更需要它:推理、Agent、多轮决策都很难完全 on-policy。

但问题也同样现实:只要数据稍微 stale 一点,训练就开始不稳

不同数据陈旧度下的训练现象

图 2 非常关键。它说明随着 data staleness 增大:

  • 训练 reward 波动加剧;
  • gradient 可能爆炸;
  • policy entropy 持续下降;
  • 严重时直接 collapse。

这里最重要的观察不是“off-policy 有偏”,而是:它会把策略推向越来越尖锐、越来越不探索的分布

现有方法错在哪里?

论文认为,Prior Work 往往只抓住了一部分现象:

  • 有些工作尝试放宽上界,比如 Clip-Higher,让正样本更容易进入更新;
  • 有些工作通过 target entropy 或 high-entropy token 筛选维持探索;
  • 也有工作做 asymmetric clipping。

但这些方法普遍没有直接回答两个核心问题:

  1. 为什么负样本会系统性主导优化?
  2. 为什么固定 clipping 会天然打压熵增长?

作者的关键 Insight 是:PPO 风格 clipping 并不是中性的安全装置,它本身就在重塑可被优化的 token 子集。一旦这个子集偏向“高概率正 token + 低概率负 token”,策略就会越来越尖,entropy 就会塌。


方法论详解

从 PPO 梯度重写开始:谁真的参与了更新?

PPO 类目标本质上是:

  • 正 advantage token:当 importance ratio 没超上界时参与更新;
  • 负 advantage token:当 importance ratio 没低于下界时参与更新。

论文把梯度拆成正负两部分后,得到一个非常直观的表达:被 clipping 掉的 token,梯度直接消失。这件事在 on-policy 下问题还不严重,但在 off-policy 下,importance weight 偏离 1 更频繁,于是“哪些 token 能进更新集”就变成了核心问题。

洞察一:Imbalanced Optimization

作者发现,训练中负 advantage token 的数量和 loss 贡献都显著更高。原因主要有两个:

  • 难题会生成更长轨迹,所以失败样本往往带来更多 token;
  • 训练早期模型能力不够,负样本比例天然更高。

这意味着什么?

  • 梯度主要被“惩罚性信号”驱动;
  • 即使某些 token 只是中性或局部正确,也可能被负样本洪流淹没;
  • 大量低概率负 token 还会带来数值不稳定,诱发 gradient explosion。

这不是简单的数据不平衡,而是 token-level optimization imbalance

洞察二:Entropy-Clip Rule

这是本文理论上最值得记住的部分。

作者推导出策略熵变化近似满足:

[ \Delta \mathcal{H}(\pi_ heta) \approx -\eta \cdot \mathrm{Cov}[\log \pi_ heta(y_t), A_t \cdot \mathcal{X}(y_t) + C] ]

其中 (\mathcal{X}(y_t)) 表示这个 token 是否没有被 clipping 掉。核心含义是:

  • 只有未被 clipping 的 token 才影响熵变化
  • 熵变化由 token 的 log probability 与 advantage 的协方差决定。

作者进一步分析四类 token:

  • 高概率 + 高 advantage:降低熵
  • 高概率 + 低 advantage:提升熵
  • 低概率 + 高 advantage:提升熵
  • 低概率 + 低 advantage:降低熵

这件事的直觉非常强:

  • 如果你总在强化“本来就高概率且回报高”的 token,分布会更尖;
  • 如果你允许“低概率但其实有价值”的 token 被强化,分布会更平滑,探索能力被保留。

而标准对称 clipping 的问题是:

  • 它经常把低概率正 token裁掉;
  • 却保留了不少低概率负 token的惩罚。

于是优化方向天然偏向熵下降。

BAPO 与对称 clipping 的机制对比

这张图几乎就是全文思想的可视化总结。左边是基线:固定对称 clipping 导致过度 exploitation。右边是 BAPO:通过动态调节上下界,让进入更新的 token 集合重新平衡。

先做验证:Asymmetric Clipping 确实有用

作者先做了一个很重要的验证实验:

  • 增大上界 (c_{high}):引入更多低概率正 token,性能提升,entropy 下降变慢;
  • 放宽下界 (c_{low}):引入更多低概率负 token,性能变差,entropy 更快塌缩。

这一步很关键,因为它说明熵控制真的可以通过“选择哪些 token 进更新”来实现,不是附带现象。

BAPO:Balanced Policy Optimization with Adaptive Clipping

真正的方法非常朴素,但也因此很有工程吸引力。

BAPO 的目标不是手工指定某个固定 clip 区间,而是在每个 batch 上动态寻找一对 ((c_{low}, c_{high})),使得:

  • 正 token 对 policy loss 的贡献占比至少达到阈值 (\rho_0)。

形式化地,它控制的是:

  • 分子:正 advantage token 的 loss 贡献;
  • 分母:全部 token 的 loss 贡献;
  • 比值大于某个目标阈值 (\rho_0)。

算法流程大致是:

  1. 初始化较保守的上下界;
  2. 如果正 token 贡献还不够:
    • 优先增大 (c_{high}),让更多低概率正 token 进入;
    • 若上界已到范围上限,再提高 (c_{low}),过滤部分负 token;
  3. 直到正 token 贡献达到目标;
  4. 用这个自适应 clip 区间执行当前步更新。

从直觉上看,BAPO 在做三件事:

  • 让正样本不再是少数派
  • 避免低概率负样本过度支配梯度
  • 把 entropy preservation 变成优化约束的一部分

它和 DAPO、DCPO 的差异也在这里:

  • DAPO 更像“固定地调高上边界”;
  • DCPO 是 token-level 的概率感知 clipping;
  • BAPO 是 从全局 loss contribution 角度动态调边界

这个视角更“优化论”,而不只是 token 启发式。


实验与结果

主结果:BAPO 不只是更稳,也确实更强

主结果图

主实验结论很明确:

7B 模型

  • BP-Math-7B-SFT:AIME24 66.9,AIME25 59.0,平均 62.9
  • BP-Math-7B-GRPO:69.2 / 59.2 / 64.2
  • BP-Math-7B-BAPO:70.8 / 62.5 / 66.7

相对 GRPO:

  • AIME24 +1.6
  • AIME25 +3.3
  • 平均 +2.5

相对 SFT:

  • AIME24 +3.9
  • AIME25 +3.5

并且它超过了 SkyWork-OR1-7B(62.4 平均),特别是在 AIME25 上高出 7.9 分

32B 模型

  • BP-Math-32B-SFT:84.4 / 78.1 / 81.3
  • BP-Math-32B-GRPO:84.6 / 78.8 / 81.7
  • BP-Math-32B-BAPO:87.1 / 80.0 / 83.5

相对 GRPO:

  • AIME24 +2.5
  • AIME25 +1.2
  • 平均 +1.8

相对 SFT:

  • AIME24 +2.7
  • AIME25 +1.9

更重要的是横向对比:

  • 超过 Qwen3-32B:AIME24 +5.7,AIME25 +7.1
  • 超过 SkyWork-OR1-32B:AIME24 +4.9,AIME25 +6.7
  • 超过 o3-mini-medium 与 Gemini-2.5-Flash-Thinking

这说明 BAPO 不是只对弱 baseline 生效,而是有真实的 SOTA 竞争力。

训练动态:为什么它更稳?

BAPO 训练动态

训练动态图反映了几个关键点:

  • reward 上升更快;
  • 正 token loss contribution 更高;
  • gradient norm 更平稳;
  • entropy 不再持续单边下滑。

这其实正对应 BAPO 的设计初衷。它不是靠更激进更新刷出更高 reward,而是通过重新组织有效更新子集,让训练处在更健康的探索-利用平衡点上。

对不同 staleness 的鲁棒性

论文还专门测了不同陈旧度的 off-policy 设置。结论是:

  • staleness 越高,基线越容易崩;
  • Clip-Higher 有帮助,但不够;
  • BAPO 在各种 staleness 下都持续领先

这说明它并不是只在轻微 off-policy 条件下有效,而是对 stale data 具有系统性的缓解作用。

Partial Rollout:工业场景下更重要

现代 LLM RL 系统里,partial rollout 很常见。长轨迹切段回放能提速,但天然引入 off-policy 问题。论文在这个设置下也验证了 BAPO:

  • 相比 GRPO,优化更稳定;
  • 对 replay/异步基础设施更鲁棒。

这一点非常有产品价值。很多算法在论文基准里有效,但一到真实系统里就被异步、缓存、分段采样击穿。BAPO 的优势恰恰在于它正面对准了这个问题。

与其他 RL 变体对比

在 BP-Math-7B 骨干上:

  • SFT:62.9
  • GRPO:64.2
  • DAPO:64.6
  • TOPR:64.6
  • DCPO:63.4
  • BAPO:66.7

这说明 BAPO 不只是“比原始 GRPO 好”,也优于若干最近提出的稳定化变体。

泛化到其他推理任务

论文还给出跨领域结果,尤其值得注意:

  • AMC 2023:从原始 73.3 提到 92.5
  • OlympiadBench:33.6 到 58.4
  • ARC-AGI:0 到 3.2
  • GPQA-Diamond:42.4 到 51.3

虽然这里训练设置和数据不同,不能简单横向类比,但至少说明 BAPO 的收益并不局限于 AIME 数学题,而是对更广义 reasoning task 也有帮助。


深度洞察与总结

这篇论文最本质的贡献是什么?

我认为不是“adaptive clipping”这四个字本身,而是以下三点:

  • 把 off-policy LLM RL 的不稳定性拆成了两个可解释机制

    • 正负样本贡献失衡
    • clipping 导致熵提升更新被系统性屏蔽
  • 把 entropy maintenance 从正则项问题变成了 sample selection 问题

    • 不是额外加一个 entropy bonus,
    • 而是直接控制哪些 token 允许参与优化。
  • 给出了一种足够简单、能接到现有 PPO/GRPO 管线里的修补方式

    • 不需要大改系统;
    • 只改 clipping 策略;
    • 很适合工业落地。

为什么 BAPO 会有效?

一句话总结:

它不是在“放大正样本”,而是在“重构有效梯度的组成”。

这两者有本质区别。

很多工作只是在某一侧加权,比如提高正样本权重。但如果负样本仍旧海量涌入,且低概率负 token 继续主导更新,那么训练动力学并不会从根本上改变。BAPO 的优势在于:

  • 同时操作上界和下界;
  • 动态按 batch 调整;
  • 用“正 token 贡献比例”作为闭环信号。

因此它形成了一个反馈控制系统,而不是一次性超参数设定。

局限性

这篇论文也有几个需要冷静看的地方:

  • 理论建立在 tabular softmax 与局部近似上
    Entropy-Clip Rule 很有启发性,但从 tabular softmax 到超大 Transformer 的迁移,严格性仍然有限,更像机制解释而非完备理论。

  • 核心阈值 ρ0 依然是人为设定
    虽然论文显示其鲁棒,但本质上这是一个任务相关的控制目标。未来是否能自适应地学习 ρ0,会更自然。

  • 主要验证集中在 reasoning / math 场景
    尽管有跨任务实验,但代码、Agent、多模态、对话安全等场景是否同样受益,还需要更系统验证。

  • 与 KL-based trust region 或 explicit entropy regularization 的关系仍可深化
    BAPO 实际上在做一种隐式 exploration control,未来可以与更强的优化理论统一起来。

未来展望

我认为这条路线接下来有三个很值得追的方向:

  • 从全局 clipping 到分层 clipping

    • 现在是 batch 级全局边界;
    • 将来可以做 prompt-level、trajectory-level,甚至 layer-aware clipping。
  • 与 replay buffer 策略联合设计

    • 既然 stale data 是根源之一,那么 clipping 与 sample selection 应该协同优化,而不是分开处理。
  • 扩展到 Agent / long-horizon decision making

    • 在长轨迹任务里,负 token 多、staleness 强、partial rollout 常见;
    • BAPO 这类方法理论上会比在短推理任务上更有价值。

最后的 Takeaway

BAPO 的真正启发是:

  • 在 LLM 的 RL 里,“更新哪些 token”“怎么更新参数” 一样重要;
  • clipping 不是纯粹的稳定器,而是一个会改变探索结构的选择器;
  • 要做稳定的 off-policy RL,关键不是一味压更新幅度,而是让有效梯度的组成保持平衡,并给探索留出生存空间

如果你正在做 LLM reasoning、Agent RL 或任何需要 replay/partial rollout 的系统,这篇论文非常值得细读。它提供的不只是一个能涨分的算法,更是一套理解训练动力学的视角。

发现相似论文

试试这些示例

  • 查找最近其他试图解决大语言模型 off-policy reinforcement learning 中 stale data 导致训练不稳定、熵塌缩和梯度爆炸问题的论文,重点关注 asymmetric clipping、entropy control 和 replay-aware optimization 方法。
  • 哪篇论文最早系统提出或分析了 PPO/GRPO 中 clipping 机制对策略熵与探索能力的影响,本文提出的 Entropy-Clip Rule 相比这些工作有哪些理论推进与实证差异?
  • 有哪些研究已经尝试将类似 BAPO 这种基于 adaptive clipping 或正负样本贡献平衡的 RL 优化策略应用到多模态推理、代码生成、Agent 决策或音频模型训练中?
目录
《BAPO:用 Adaptive Clipping 稳定 LLM 的 Off-Policy RL,把“熵塌缩”变成可控变量》
1. 核心速览
1.1. TL;DR
1.2. 背景定位
2. 痛点与动机
2.1. 为什么 off-policy RL 对 LLM 很诱人?
2.2. 现有方法错在哪里?
3. 方法论详解
3.1. 从 PPO 梯度重写开始:谁真的参与了更新?
3.2. 洞察一:Imbalanced Optimization
3.3. 洞察二:Entropy-Clip Rule
3.4. 先做验证:Asymmetric Clipping 确实有用
3.5. BAPO:Balanced Policy Optimization with Adaptive Clipping
4. 实验与结果
4.1. 主结果:BAPO 不只是更稳,也确实更强
4.1.1. 7B 模型
4.1.2. 32B 模型
4.2. 训练动态:为什么它更稳?
4.3. 对不同 staleness 的鲁棒性
4.4. Partial Rollout:工业场景下更重要
4.5. 与其他 RL 变体对比
4.6. 泛化到其他推理任务
5. 深度洞察与总结
5.1. 这篇论文最本质的贡献是什么?
5.2. 为什么 BAPO 会有效?
5.3. 局限性
5.4. 未来展望
5.5. 最后的 Takeaway