论文选读-DAPO
1. DAPO论文概述与研究定位1.1 论文基本信息项目内容论文名称DAPO: An Open-Source LLM Reinforcement Learning System at Scale中文理解面向大规模LLM强化学习的开放式训练系统时间2025年核心方法DAPODecoupled Clip and Dynamic sAmpling Policy Optimization基础算法GRPO基础模型Qwen2.5-32B主要任务数学推理、长CoT推理主要结果Qwen2.5-32B经过DAPO训练后在AIME 2024上达到50分开源内容算法、训练代码、DAPO-Math-17k数据集等核心问题长CoT强化学习中的熵坍塌、无效样本、长度偏置、超长回答与奖励噪声1.2 DAPO的研究定位DAPO并不是完全脱离PPO、GRPO的新型强化学习范式而是在GRPO基础上针对大规模LLM推理强化学习进行系统级优化。其发展关系可以概括为PPO - GRPO - DeepSeekMath - DAPO方法核心贡献主要解决问题PPO概率比率Clip约束优势函数稳定策略更新GRPOGroup Relative Advantage去掉Critic降低RL训练成本DeepSeekMath将GRPO用于数学推理RL验证LLM推理RL有效性DAPOClip-HigherDynamic SamplingToken-Level LossOverlong处理解决大规模长CoT RL中的系统瓶颈因此DAPO最重要的理解方式不是“重新发明RL”而是GRPO负责基本RL框架DAPO负责解决GRPO在长CoT大规模训练中的实际失效问题。2. DAPO与GRPO的整体关系2.1 GRPO的基本训练逻辑对于一个Prompt旧策略π_old生成G个回答Prompt - G个Response - Reward - Group Advantage - Policy Update假设一个Prompt产生G个回答其奖励分别为r₁,r₂,...,r_G则Group Relative Advantage通常计算为Aᵢ (rᵢ - mean(r)) / (std(r) ε)这种设计不需要额外训练Value Model因此GRPO相对于PPO的重要变化是PPOGRPO需要Value Model不需要独立CriticAdvantage依赖Value估计Advantage来自同一Prompt内部的相对奖励单样本价值估计Group内部相对比较训练成本较高更适合LLM大规模RL2.2 GRPO的核心问题GRPO虽然降低了LLM RL的训练成本但在大规模长CoT训练中出现了几个明显问题。问题根本原因对训练的影响Entropy Collapse高奖励Token概率快速集中探索能力下降Zero-GradientGroup内部奖励完全相同样本无法提供有效相对梯度Length Bias长回答包含大量Token长回答对更新贡献可能失衡Overlong Response模型不断生成更长CoT计算成本增加Truncation Noise达到最大长度后被截断可能产生错误负向训练信号因此DAPO实际上是在回答四个问题有没有有效梯度- Dynamic Sampling梯度是否可信- Overlong Filtering不同Token如何贡献梯度- Token-Level Loss策略更新允许走多远- Clip-Higher同时还有一个辅助机制如何阻止回答无限变长- Soft Overlong Punishment3. 核心算法一Clip-Higher3.1 PPO与GRPO中的传统ClipPPO通常限制新旧策略之间的概率比率ρᵢ,ₜ πθ(oᵢ,ₜ | q,oᵢ,t) / πθ_old(oᵢ,ₜ | q,oᵢ,t)传统Clip使用对称区间clip(ρ,1-ε,1ε)如果ε0.2则更新范围为[0.8,1.2]其目的就是防止一次Policy Update改变过大。3.2 DAPO为什么需要修改Clip长CoT RL中存在一个重要现象奖励提升 - 高奖励Token概率增加 - Token分布越来越集中 - Entropy下降 - 探索能力降低因此DAPO认为传统Clip的两个边界没有必要完全对称。传统方式[1-ε,1ε]DAPO[1-ε_low,1ε_high]典型设置参数传统PPO/GRPODAPO示例ε_low0.20.2ε_high0.20.28下界0.80.8上界1.21.28因此DAPO允许负优势Token仍然限制下降幅度正优势Token允许更大的概率提升3.3 为什么只提高Upper Clip考虑正优势A0ρA越大代表模型越希望增加这个Token的概率。如果上限只有1.2则策略很快达到Clip边界ρ 1.2 - 被截断 - 继续增加概率无法获得额外梯度DAPO提高上限ρ 1.28 - 才开始Clip于是正优势Token拥有更大的更新空间。可以理解为传统Clip - 强约束策略更新Clip-Higher - 保留下界稳定性同时放宽正向探索空间因此Clip-Higher的核心目标不是单纯“让更新更大”而是防止LLM推理RL过程中因为概率快速集中而发生Entropy Collapse。4. 核心算法二Dynamic Sampling4.1 为什么Group Sampling会产生无效样本GRPO依赖Group内部奖励差异。例如G4PromptResponse奖励Group情况有效性P₁1,1,1,1全部正确无效P₂0,0,0,0全部错误无效P₃1,1,0,0正确率存在差异有效P₄1,0,1,0正确率存在差异有效对于P₁mean(r)1std(r)0因此Aᵢ (rᵢ-mean(r))/(std(r)ε)所有Aᵢ都接近0无法形成有效的Group Relative Gradient。P₂同样如此。所以全对Prompt - 没有相对差异全错Prompt - 没有相对差异部分正确Prompt - 能产生有效相对梯度4.2 Dynamic Sampling的基本思想传统训练Prompt - 固定采样G个回答 - 无效Group也进入训练DAPOPrompt - 采样G个回答 - 判断Reward是否存在差异 - 无效Group丢弃 - 重新采样Prompt - 获得有效Group即Prompt Sampling - Group Rollout - Reward统计 - std0过滤 - 重新Sampling - 有效Group进入训练4.3 Dynamic Sampling实际上改变了什么它并不是简单地“增加困难样本”而是改变了训练数据的有效梯度密度。假设一个Batch包含100个Prompt情况Prompt数量有效Group全对400全错300部分正确3030传统GRPO实际只有30个Prompt产生有效相对梯度。Dynamic Sampling则不断采样直到获得足够多的有效Group。因此可以理解为Dynamic Sampling 提高有效RL训练样本比例。4.4 与Curriculum Learning的关系Dynamic Sampling会产生类似Curriculum Learning的效果。因为过于简单 - 全部正确 - 被过滤过于困难 - 全部错误 - 被过滤模型能力附近 - 一部分正确、一部分错误 - 保留因此训练数据会自然集中到当前模型能力边界附近的Prompt。但需要注意DAPO的直接目标不是设计新的Curriculum Learning而是解决GRPO中的Zero-Gradient问题。5. 核心算法三Token-Level Loss与Overlong处理5.1 Token-Level Policy Gradient Loss这是DAPO解决长CoT训练中“长回答权重问题”的核心机制。假设一个Group中存在多个Response每个Response长度不同。传统Response-Level平均可以理解为L_response (1/G) Σᵢ (1/Tᵢ) Σₜ Lᵢ,ₜ这里每个Response先计算平均Loss然后所有Response等权。因此短回答 - T小长回答 - T大最终二者都只有一个Response级权重。5.2 DAPO的Token-Level聚合DAPO采用Token-Level LossL_token Σᵢ Σₜ Lᵢ,ₜ / Σᵢ Tᵢ也就是整个Batch中的每一个有效Token直接参与全局平均。因此一个长度为2000 Token的Response天然拥有比长度为200 Token的Response更多的Token贡献。这并不意味着“回答越长奖励越高”。真正含义是如果一个长CoT包含更多有效推理Token那么这些Token不应该因为Response-Level平均而被人为压缩权重。5.3 Response-Level与Token-Level的核心区别对比项Response-Level LossToken-Level Loss聚合单位ResponseToken长Response先内部平均每个Token直接参与短Response与长Response最终权重相同Token数量较少长CoT适应性较弱更适合主要问题长度信息被平均掉保留Token数量信息因此DAPO的Token-Level Loss可以理解成将“一个Response是一票”改成“每个Token是一票”。5.4 Overlong问题LLM推理RL中另一个严重问题是模型发现生成更长的CoT可能提高找到正确答案的概率于是不断增加输出长度。最终出现Reward提升 - CoT变长 - 计算量增加 - 接近最大长度 - 截断 - Reward信号异常因此DAPO把Overlong处理进一步拆成两个机制机制作用核心思想Overlong Filtering处理已经被截断的Response截断样本不参与Policy GradientSoft Overlong Punishment处理即将超长的Response在达到最大长度前逐渐施加惩罚5.5 Overlong Filtering假设最大生成长度L_max 20480某个Response实际生成到20480 Token仍然没有结束被系统强制截断。如果直接将其当作普通错误回答正确答案但没生成完 - Reward0 - Advantage0 - 模型学习降低相关Token概率这可能产生错误梯度。因此DAPO直接过滤这类Overlong Response使其不参与Loss。核心思想已经发生截断 - 不确定真正结果 - 不把错误负奖励传回模型。5.6 Soft Overlong Punishment只过滤已经截断的Response还不够因为模型可能持续向最大长度靠近。因此DAPO在达到最大长度之前增加软惩罚。典型设置参数含义示例L_max最大Response长度20480L_cache软惩罚缓冲区4096开始惩罚位置L_max-L_cache16384长度奖励可以表示为r_length(x,y)0当|y|≤L_max-L_cacher_length(x,y)(L_max-L_cache-|y|)/L_cache当L_max-L_cache|y|≤L_maxr_length(x,y)-1当|y|L_max因此Response长度长度奖励≤1638401638420480从0逐渐下降到-120480-1其作用可以概括为Soft Punishment 提前刹车Overlong Filtering 撞到上限以后不要产生错误梯度两者解决的是不同阶段的问题。6. DAPO完整训练算法与实验结论6.1 DAPO整体训练过程完整过程可以压缩为Prompt - Group Rollout - Reward - Overlong处理 - Dynamic Sampling - Group Advantage - Token-Level Loss - Clip-Higher - Policy Update其中每一步对应的问题如下训练阶段DAPO机制解决问题Reward之后Soft Overlong Punishment防止长度无限增长Reward之后Overlong Filtering消除截断噪声Group构造Dynamic Sampling消除Zero-GradientLoss计算Token-Level Loss解决长CoT聚合问题Policy UpdateClip-Higher缓解Entropy Collapse6.2 DAPO目标函数DAPO整体Policy Objective可以概括为J_DAPO(θ)E[1/(Σᵢ|oᵢ|) Σᵢ Σₜ min(ρᵢ,ₜAᵢ, clip(ρᵢ,ₜ,1-ε_low,1ε_high)Aᵢ)]其中ρᵢ,ₜ πθ(oᵢ,ₜ|q,oᵢ,t) / πθ_old(oᵢ,ₜ|q,oᵢ,t)Aᵢ Group Relative Advantageε_low 下Clip范围ε_high 上Clip范围|oᵢ| 第i个Response的Token数量这个公式实际上把DAPO的核心思想集中起来Group Advantage Token-Level Aggregation Decoupled Clip而Overlong Filtering和Dynamic Sampling则主要作用于Loss计算之前的数据处理过程。6.3 四个核心机制的分工这是理解DAPO最重要的一张表DAPO机制核心问题本质问题Dynamic SamplingGroup全部正确/全部错误梯度有没有Overlong FilteringResponse被截断梯度是否可信Token-Level LossResponse长度不同梯度怎么加权Clip-Higher概率更新受限梯度能走多远Soft Overlong PunishmentResponse不断变长如何控制长度因此可以形成一个非常重要的记忆框架Dynamic Sampling保证有梯度Overlong Filtering保证梯度干净Token-Level Loss决定梯度权重Clip-Higher决定梯度步幅Soft Overlong Punishment控制CoT长度6.4 Ablation实验逻辑DAPO论文中的渐进式实验可以理解为方法AIME 2024表现Naive GRPO30 Overlong Filtering36 Clip-Higher38 Soft Overlong Punishment41 Token-Level Loss42 Dynamic Sampling50该实验非常重要因为它说明DAPO并不是依赖某一个“神奇技巧”。它实际上是多个系统瓶颈逐层解决 - RL训练稳定性和最终推理能力逐层提升。其中Dynamic Sampling加入后的提升尤其明显说明在大规模推理RL中大量无效Group确实可能成为重要瓶颈。7. DAPO核心公式与精读框架7.1 必须掌握的五个公式7.1.1 Group Relative AdvantageAᵢ (rᵢ - mean(r))/(std(r)ε)理解重点奖励不是直接决定更新而是先转换成Group内部的相对优势。7.1.2 Policy Ratioρᵢ,ₜ πθ(oᵢ,ₜ|q,oᵢ,t) / πθ_old(oᵢ,ₜ|q,oᵢ,t)理解重点衡量新策略相对于旧策略提高或降低某个Token概率的程度。7.1.3 Clip-Higherclip(ρ,1-ε_low,1ε_high)理解重点下界保持保守上界放宽从而给正优势Token更大的更新空间。7.1.4 Token-Level LossL_token Σᵢ Σₜ Lᵢ,ₜ / Σᵢ Tᵢ理解重点Loss从Response级平均变成Token级全局平均。7.1.5 Soft Overlong Rewardr_length(x,y)0当|y|≤L_max-L_cacher_length(x,y)(L_max-L_cache-|y|)/L_cache当L_max-L_cache|y|≤L_maxr_length(x,y)-1当|y|L_max理解重点不是等到超长以后才惩罚而是在进入超长风险区间后逐渐增加惩罚。7.2 三个必须真正推导的问题7.2.1 为什么全对Group没有有效梯度如果r₁r₂...r_G那么rᵢ-mean(r)0因此Aᵢ≈0最终Policy Gradient趋近于0。所以Dynamic Sampling并不是简单的数据清洗而是在提高有效Group / 总Group这一比例。7.2.2 为什么Clip-Higher能够缓解Entropy Collapse如果高奖励Token不断得到正优势A0传统Clipρ1ε - 梯度被截断DAPOρ1ε_high - 才被截断因此DAPO允许高优势Token继续获得更大的概率提升同时没有放宽负方向约束。最终更新空间扩大 - Token概率不会过早因为Clip停止变化 - 有利于维持探索。需要注意Clip-Higher并不等于直接“增加Entropy”而是通过放宽正向概率更新空间间接缓解Entropy快速下降。7.2.3 为什么Token-Level Loss适合Long-CoT假设两个ResponseResponse A100 TokenResponse B2000 TokenResponse-LevelA和B最终各贡献一个Response级权重。Token-LevelA贡献100个TokenB贡献2000个Token因此对于长CoTResponse-Level容易把大量Token压缩成一个Response的平均值。Token-Level保留了长推理轨迹内部的大量Token梯度信息。但必须注意Token-Level Loss并不是鼓励模型生成更长答案而是改变不同长度Response对Batch Gradient的聚合方式。7.3 DAPO最核心的整体理解可以把DAPO浓缩成下面这条链GRPO提供Group Relative Policy Optimization - Dynamic Sampling解决无效Group - Overlong Filtering解决截断噪声 - Token-Level Loss解决长CoT梯度聚合 - Clip-Higher缓解Entropy Collapse - Soft Overlong Punishment抑制长度爆炸最终可以用一句话记忆DAPODAPO 面向长CoT大规模RL的GRPO系统优化其核心不是重新定义RL而是同时优化“样本是否有效、奖励是否可信、Token如何加权、策略如何更新以及Response如何控长”。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →