PPO、CISPO 和 DAPO 算法中的 Clip 机制对比讨论:聚焦原理与公式
在基于人类反馈的强化学习(RLHF)任务中,尤其是大型语言模型(LLM)的长序列优化(如数学推理),Clip 机制是核心组件,用于控制重要性采样(IS)权重 rt=πθ(at∣st)πθold(at∣st)r_t = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)}rt=πθold(at∣st)πθ(at∣st) 的极端值。这有助于减少方差、防止梯度爆炸或阻塞,并提升训练稳定性。PPO(Proximal Policy Optimization)、CISPO(Clipped IS-weight Policy Optimization)和 DAPO(Decoupled Clip and Dynamic sAmpling Policy Optimization)都依赖 Clip 来处理少量高质量信号(高优势 AtA_tAt 的 token),但在 Clip 的范围值、应用顺序、辅助机制和数学原理上存在显著差异。这些差异直接影响梯度计算、探索性、熵稳定和整体性能。
本文基于 MiniMax-AI 团队的 CISPO 论文(arXiv: 2506.13585v1, 2025 年)和 DAPO 论文(arXiv: 2503.14476, 2025 年),结合算法原理和实验结果,聚焦 Clip 机制进行详细对比。讨论分为各算法原理详解(包括公式推导)、区别分析、影响评估和总结,帮助理解这些设计在 RLHF 长序列任务(如 GSM8K 或 AIME 数据集)中的作用。
1. 各算法 Clip 机制原理详解
每个算法的 Clip 原理都源于策略梯度优化,但针对 RLHF 的痛点(如梯度饥饿和熵崩塌)进行了定制。以下逐一解释核心公式、梯度计算和原理。
PPO 的 Clip 原理:
PPO 的 Clip 基于 trust region(信任区域)理论,确保新策略 πθ\pi_\thetaπθ 不偏离旧策略 πold\pi_{\text{old}}πold 过远。通过“先乘后剪”的 surrogate 损失(代理损失),Clip 限制 rt⋅Atr_t \cdot A_trt⋅At 的极端值,结合 KL 罚项防止偏移。
核心公式(简化单 token):
LPPO(θ)=Et[min(rtAt,clip(rt,1−ϵ,1+ϵ)At)]−βE[KL(πold∥πθ)] L_{\text{PPO}}(\theta) = E_t[\min(r_t A_t, \text{clip}(r_t, 1-\epsilon, 1+\epsilon) A_t)] - \beta E[\text{KL}(\pi_{\text{old}} \| \pi_\theta)] LPPO(θ)=Et[min(rtAt,clip(rt,1−ϵ,1+ϵ)At)]−βE[KL(πold∥πθ)]
其中 ϵ=0.2\epsilon = 0.2ϵ=0.2(对称范围 [0.8,1.2][0.8, 1.2][0.8,1.2]),AtA_tAt 是优势函数(通常用 GAE 计算),KL\text{KL}KL 是 Kullback-Leibler 散度。
梯度计算原理:
若 rtAtr_t A_trtAt 是 min\minmin 的选择(未触发 Clip 平坦区),梯度:
∇θL=At∇θrt=Atrt∇θlogπθ(at∣st) \nabla_\theta L = A_t \nabla_\theta r_t = A_t r_t \nabla_\theta \log\pi_\theta(a_t|s_t) ∇θL=At∇θrt=Atrt∇θlogπθ(at∣st)
若 Clip 项是 min\minmin 的选择(rtr_trt 极端),则 ∇clip(rt)=0\nabla \text{clip}(r_t) = 0∇clip(rt)=0,梯度为 0(阻塞)。
原理:
min\minmin 操作提供下界保证(保守更新),KL 罚项进一步约束分布偏移。但在 RLHF 长序列中,高 rtr_trt 易触发阻塞,丢失高质量信号(高 AtA_tAt)的信息。论文实验显示,这导致熵崩塌(降至 0.3)和准确率较低(GSM8K ~75%)。
CISPO 的 Clip 原理:
CISPO 回归显式 REINFORCE 形式,通过“先剪后乘” + stop-gradient(sg
)修复 Clip 的非线性阻塞。Clip 直接作用于 rtr_trt,不对称范围宽低端以鼓励低概率高质量信号的探索。
核心公式(简化单 token):
JCISPO(θ)=Et[sg(clip(rt,1−ϵlow,1+ϵhigh))Atlogπθ(at∣st)] J_{\text{CISPO}}(\theta) = E_t[\text{sg}(\text{clip}(r_t, 1-\epsilon_{\text{low}}, 1+\epsilon_{\text{high}})) A_t \log\pi_\theta(a_t|s_t)] JCISPO(θ)=Et[sg(clip(rt,1−ϵlow,1+ϵhigh))Atlogπθ(at∣st)]
其中 ϵlow=0.5\epsilon_{\text{low}}=0.5ϵlow=0.5,ϵhigh=0.2\epsilon_{\text{high}}=0.2ϵhigh=0.2(范围 [0.5,1.2][0.5, 1.2][0.5,1.2]),sg(x)=x.detach()
(正向保留值,反向切断依赖)。
梯度计算原理:
梯度:
∇θJ=Et[sg(r^t)At∇θlogπθ(at∣st)] \nabla_\theta J = E_t[\text{sg}(\hat{r}_t) A_t \nabla_\theta \log\pi_\theta(a_t|s_t)] ∇θJ=Et[sg(r^t)At∇θlogπθ(at∣st)]
其中 r^t=clip(rt,0.5,1.2)\hat{r}_t=\text{clip}(r_t, 0.5, 1.2)r^t=clip(rt,0.5,1.2)。
原理:
sg
将 r^t\hat{r}_tr^t 视为常量,确保即使 Clip 平坦区(∇clip=0\nabla \text{clip}=0∇clip=0),梯度仍以 r^tAt∇logπθ\hat{r}_t A_t \nabla \log\pi_\thetar^tAt∇logπθ 形式流动。宽低端 (0.5) 允许低 rtr_trt(低概率 token)贡献较大梯度,鼓励探索;严格高端 (1.2) 控制方差。论文证明,这保留 AtA_tAt 分辨率(高优势信号不丢),适合长序列(如数学证明),GSM8K 准确率达 85%。
DAPO 的 Clip 原理:
DAPO 引入“解耦 Clip”(独立调整低/高端)和动态采样,类似于 PPO 的 surrogate 但无 KL,宽高端以传递高积高质量信号。动态采样过滤梯度为 0 的样本,提升效率。
核心公式(简化单 token):
JDAPO(θ)=Et[min(rtAt,clip(rt,1−ϵlow,1+ϵhigh)At)] J_{\text{DAPO}}(\theta) = E_t[\min(r_t A_t, \text{clip}(r_t, 1-\epsilon_{\text{low}}, 1+\epsilon_{\text{high}}) A_t)] JDAPO(θ)=Et[min(rtAt,clip(rt,1−ϵlow,1+ϵhigh)At)]
其中 ϵlow=0.2\epsilon_{\text{low}}=0.2ϵlow=0.2,ϵhigh=0.28\epsilon_{\text{high}}=0.28ϵhigh=0.28(范围 [0.8,1.28][0.8, 1.28][0.8,1.28]),“Clip-Higher”策略允许高端宽松。
梯度计算原理:
与 PPO 类似,若未触发 Clip,梯度 Atrt∇θlogπθA_t r_t \nabla_\theta \log\pi_\thetaAtrt∇θlogπθ;若触发,梯度 0。但动态采样优先选择非零梯度样本。
原理:
解耦允许独立调范围,宽高端 (1.28) 确保大积 rt⋅Atr_t \cdot A_trt⋅At(低概率 + 高优势)不完全阻塞,传递信息;严格低端 (0.8) 防不稳定。论文强调,这结合动态采样减少无效更新,训练步骤减 50%,AIME 准确率 50 分。
2. Clip 原理的区别分析
范围与不对称性:
- PPO: 对称保守([0.8,1.2][0.8, 1.2][0.8,1.2]),平衡低/高端,但忽略高质量信号的非对称分布(低概率 token 常见于 RLHF)。
- CISPO: 宽低端不对称([0.5,1.2][0.5, 1.2][0.5,1.2]),聚焦低 rtr_trt 信号的探索(原理:低概率高质量体现为低 rtr_trt,宽下限鼓励 ∇logπθ\nabla \log\pi_\theta∇logπθ 更新)。
- DAPO: 宽高端不对称([0.8,1.28][0.8, 1.28][0.8,1.28]),聚焦高积信号的传递(原理:低概率高质量可通过高 AtA_tAt 放大积,宽上限保留梯度)。
应用顺序与辅助:
- PPO/DAPO: 先乘后剪,易阻塞(min\minmin 选择 Clip 项时 ∇=0\nabla=0∇=0)。
- CISPO: 先剪后乘 +
sg
,保流动(sg
切断 Clip 依赖)。 - 辅助: PPO 用 KL 约束;CISPO 用
sg
冻结;DAPO 用解耦 + 采样过滤。
公式差异:
PPO/DAPO 的 min\minmin 是隐式代理(下界稳定,但阻塞);CISPO 的 sg(clip)⋅logπθ\text{sg}(\text{clip}) \cdot \log\pi_\thetasg(clip)⋅logπθ 是显式梯度(直观探索)。
3. Clip 机制的影响评估
梯度流动:
- PPO: 阻塞常见(公式中 ∇clip=0\nabla \text{clip}=0∇clip=0),高 AtA_tAt 丢失。
- CISPO:
sg
确保完整(梯度 sg(r^t)At∇logπθ\text{sg}(\hat{r}_t) A_t \nabla \log\pi_\thetasg(r^t)At∇logπθ),方差降 50%。 - DAPO: 采样过滤阻塞,宽高端保留大积梯度。
公式影响: 示例(rt=0.3r_t=0.3rt=0.3, At=3A_t=3At=3):PPO 梯度 0;CISPO 0.5⋅3∇logπθ=1.5∇logπθ0.5 \cdot 3 \nabla \log\pi_\theta = 1.5 \nabla \log\pi_\theta0.5⋅3∇logπθ=1.5∇logπθ;DAPO 若积 0.9<1.280.9 < 1.280.9<1.28,梯度保留。
探索性与熵:
- PPO: 对称限探索,熵 0.3。
- CISPO: 宽低端鼓励低概率,熵 0.8–1.2。
- DAPO: 宽高端促高积,熵高于 PPO。
公式影响: CISPO 的 logπθ\log\pi_\thetalogπθ 直接调整概率;DAPO 的 min\minmin 通过积隐式探索。
实际性能:
- PPO: GSM8K 75%,开销高。
- CISPO: GSM8K 85%(+10%),2x 快。
- DAPO: AIME 50 分,步骤减 50%。
公式影响: 不对称 Clip 优化高质量信号,胜率 +15%。
4. 总结
PPO 的对称 Clip 提供下界稳定(公式 min+KL\min + \text{KL}min+KL),但易阻塞。CISPO 的宽低端 + sg
原理聚焦显式探索(公式 sg(clip)⋅logπθ\text{sg}(\text{clip}) \cdot \log\pi_\thetasg(clip)⋅logπθ),适合多样性任务。DAPO 的宽高端 + 解耦原理聚焦高效传递(公式 min\minmin + 采样),适合长 CoT。两者不对称设计是 RLHF 创新,提升 10–15% 性能。
如果本文能对您有所帮助,希望各位大佬帮忙点赞+收藏+关注,感谢!后续会持续产出更多AI领域算法论文