DeepSeek R1 Qwen2-1.5B: RL Algorithm Implementations & Comparison

PPO / DPO / GRPO / DAPO 四种强化学习算法的完整实现、流程分析与深度对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Author: Aitachi
Contact: 44158892@qq.com
License: MIT


目录


Overview

本项目基于 Qwen2-1.5B 模型,实现了四种主流的大语言模型强化学习算法,并进行了全面的对比分析:

AlgorithmFull NameSourceCore Innovation
PPOProximal Policy OptimizationSchulman et al., 2017Clipped surrogate + GAE
DPODirect Preference OptimizationRafailov et al., 2023Preference pairs, no reward model
GRPOGroup Relative Policy OptimizationDeepSeek-AI, 2025Group advantage, no value network
DAPODynamic Advantage Policy OptimizationByteDance, 2025Dynamic sampling + token-level loss

论文下载:


项目结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

├── algorithms/                    # Core implementations
│   ├── ppo_trainer.py            # PPO trainer
│   ├── dpo_trainer.py            # DPO trainer
│   ├── grpo_trainer.py           # GRPO trainer
│   └── dapo_trainer.py           # DAPO trainer
├── docs/                          # Documentation & visualizations
│   ├── PPO_Algorithm.md          # PPO deep dive
│   ├── DPO_Algorithm.md          # DPO deep dive
│   ├── GRPO_Algorithm.md         # GRPO deep dive
│   ├── DAPO_Algorithm.md         # DAPO deep dive
│   ├── Algorithm_Comparison.md   # Full comparison
│   ├── RL_LLM_Survey_IEEE_EN.pdf # 英文 IEEE 论文
│   ├── RL_LLM_Survey_IEEE_CN.pdf # 中文 IEEE 论文
│   ├── ieee_en/                  # 英文 LaTeX 源文件
│   ├── ieee_cn/                  # 中文 LaTeX 源文件
│   └── figures/                  # All visualization images
├── src/                           # Source code
├── data/                          # Training data
├── scripts/                       # Helper scripts
├── run_comparison.py              # Algorithm comparison runner
└── requirements.txt               # Dependencies

快速开始

前置条件: 需要 GPU 环境 + 预下载 Qwen/Qwen2.5-0.5B-Instruct 模型,数据文件 data/sample_reasoning_data.json 已提供。

# Install dependencies
pip install -r requirements.txt

# PPO 训练 (需要 Policy + Value 双网络)
python algorithms/ppo_trainer.py

# DPO 训练 (需要偏好对数据)
python algorithms/dpo_trainer.py

# GRPO 训练 (组采样, 无需 Value Network)
python algorithms/grpo_trainer.py

# DAPO 训练 (动态采样 + Token级损失)
python algorithms/dapo_trainer.py

# 一键运行四算法对比实验
python run_comparison.py

# Generate all visualization figures
cd docs && python generate_all_figures.py

参数修改: 各算法超参数在 algorithms/xxx_trainer.pyXxxConfig 类中直接修改。


背景与预备知识

LLM 中的强化学习建模

在 LLM 对齐的语境下,训练过程被建模为上下文赌博机(Contextual Bandit) 问题。模型在自回归地生成完整响应后才接收奖励信号。形式化定义:

元素定义
状态/上下文 x ∼ D x \sim \mathcal{D} xD从训练分布采样的输入提示词
动作/响应 y = ( y 1 , … , y T ) y = (y_1, \ldots, y_T) y=(y1,,yT)模型生成的词元序列
策略 π θ ( y ∣ x ) \pi_\theta(y|x) πθ(yx) θ \theta θ 为参数的自回归语言模型
奖励 r ( x , y ) ∈ R r(x, y) \in \mathbb{R} r(x,y)R评估响应质量的标量信号

优化目标:

θ ∗ = arg ⁡ max ⁡ θ E x ∼ D ,   y ∼ π θ ( ⋅ ∣ x ) [ r ( x , y ) ] \theta^* = \arg\max_\theta \mathbb{E}_{x \sim \mathcal{D},\ y \sim \pi_\theta(\cdot|x)}\left[r(x, y)\right] θ=argθmaxExD, yπθ(x)[r(x,y)]

RLHF 三阶段流程

阶段 1 — 监督微调(SFT):

L SFT ( θ ) = − E ( x , y ∗ ) ∼ D demo [ log ⁡ π θ ( y ∗ ∣ x ) ] \mathcal{L}_{\text{SFT}}(\theta) = -\mathbb{E}_{(x,y^*) \sim \mathcal{D}_{\text{demo}}}\left[\log \pi_\theta(y^*|x)\right] LSFT(θ)=E(x,y)Ddemo[logπθ(yx)]

阶段 2 — 奖励模型训练(Bradley-Terry):

L RM ( ϕ ) = − E [ log ⁡ σ ( r ϕ ( x , y w ) − r ϕ ( x , y l ) ) ] \mathcal{L}_{\text{RM}}(\phi) = -\mathbb{E}\left[\log \sigma\left(r_\phi(x, y_w) - r_\phi(x, y_l)\right)\right] LRM(ϕ)=E[logσ(rϕ(x,yw)rϕ(x,yl))]

阶段 3 — RL 策略优化: 选择 RL 算法(PPO / GRPO / DAPO)优化策略。DPO 直接在偏好对上优化,绕过阶段 2 和 3。

统一符号

符号定义
π θ \pi_\theta πθ当前策略网络(正在训练的 LLM)
π ref \pi_{\text{ref}} πref参考(冻结)策略,通常为 SFT 模型
π θ old \pi_{\theta_{\text{old}}} πθold上一步更新的策略参数
r ( x , y ) r(x,y) r(x,y)奖励函数(学习型或规则型)
A ^ \hat{A} A^优势函数估计值
r t ( θ ) r_t(\theta) rt(θ)重要性采样比率 π θ / π θ old \pi_\theta / \pi_{\theta_{\text{old}}} πθ/πθold
ε \varepsilon εPPO/GRPO 对称裁剪参数
ε low , ε high \varepsilon_{\text{low}}, \varepsilon_{\text{high}} εlow,εhighDAPO 非对称裁剪边界
β \beta βKL 惩罚系数或 DPO 温度
G G GGRPO/DAPO 的组采样大小
V ϕ V_\phi VϕPPO 的价值网络(Critic)
y w , y l y_w, y_l yw,yl偏好对中的优选和拒绝响应

算法详解

1. PPO — 近端策略优化

PPO 由 Schulman 等人于 2017 年提出,至今仍是 LLM 对齐中应用最广泛的 RL 算法,是 InstructGPT 和 ChatGPT 的核心算法。

裁剪代理目标

r t ( θ ) = π θ ( a t ∣ s t ) / π θ old ( a t ∣ s t ) r_t(\theta) = \pi_\theta(a_t|s_t) / \pi_{\theta_{\text{old}}}(a_t|s_t) rt(θ)=πθ(atst)/πθold(atst) 为概率比率:

L CLIP ( θ ) = E t [ min ⁡ ( r t ( θ ) A ^ t ,  clip ( r t ( θ ) , 1 − ε , 1 + ε ) A ^ t ) ] L^{\text{CLIP}}(\theta) = \mathbb{E}_t\left[\min\left(r_t(\theta)\hat{A}_t,\ \text{clip}(r_t(\theta), 1-\varepsilon, 1+\varepsilon)\hat{A}_t\right)\right] LCLIP(θ)=Et[min(rt(θ)A^t, clip(rt(θ),1ε,1+ε)A^t)]

直观解释: A ^ t > 0 \hat{A}_t > 0 A^t>0 时,目标鼓励增大 r t r_t rt 但在 1 + ε 1+\varepsilon 1+ε 处裁剪;当 A ^ t < 0 \hat{A}_t < 0 A^t<0 时,抑制该动作但在 1 − ε 1-\varepsilon 1ε 处裁剪。这创建了目标函数中的"平坦"区域,防止灾难性大幅更新。

组合 PPO 目标

L PPO ( θ , ϕ ) = E t [ L CLIP ( θ ) − c 1 L V F ( ϕ ) + c 2 S [ π θ ] ] L^{\text{PPO}}(\theta, \phi) = \mathbb{E}_t\left[L^{\text{CLIP}}(\theta) - c_1 L^{VF}(\phi) + c_2 S[\pi_\theta]\right] LPPO(θ,ϕ)=Et[LCLIP(θ)c1LVF(ϕ)+c2S[πθ]]

其中 c 1 = 0.5 c_1 = 0.5 c1=0.5(价值损失系数), c 2 = 0.01 c_2 = 0.01 c2=0.01(熵奖励系数)。

GAE 优势估计

A ^ t GAE = ∑ l = 0 ∞ ( γ λ ) l δ t + l V , δ t V = r t + γ V ϕ ( s t + 1 ) − V ϕ ( s t ) \hat{A}_t^{\text{GAE}} = \sum_{l=0}^{\infty}(\gamma\lambda)^l\delta_{t+l}^{V}, \quad \delta_t^{V} = r_t + \gamma V_\phi(s_{t+1}) - V_\phi(s_t) A^tGAE=l=0(γλ)lδt+lV,δtV=rt+γVϕ(st+1)Vϕ(st)

架构需求

PPO 需要四个模型组件同时加载到 GPU 内存:

  1. Actor(策略 π θ \pi_\theta πθ):正在训练的 LLM
  2. Critic(价值 V ϕ V_\phi Vϕ):与 Actor 规模相当的独立网络
  3. 参考模型 π ref \pi_{\text{ref}} πref):冻结副本,用于 KL 计算
  4. 奖励模型 r ψ r_\psi rψ):训练好的奖励函数

内存需求约为单 LLM 前向传播的 4 × 4\times 4×。70 亿参数模型通常需要 4-8 块 A100 GPU。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

优势: 收敛性质已被充分研究;对超参数选择鲁棒;兼容任意奖励函数。

局限: 价值网络带来高内存开销;奖励信号稀疏或含噪时训练不稳定。


2. DPO — 直接偏好优化

DPO 由 Rafailov 等人于 2023 年提出,代表了 LLM 对齐中的范式转变。它通过推导闭式损失函数消除了显式奖励建模。

从 KL 约束的 RLHF 目标推导

闭式最优策略:

π ∗ ( y ∣ x ) = 1 Z ( x ) π ref ( y ∣ x ) exp ⁡ ( 1 β r ( x , y ) ) \pi^*(y|x) = \frac{1}{Z(x)}\pi_{\text{ref}}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right) π(yx)=Z(x)1πref(yx)exp(β1r(x,y))

DPO 损失函数

L DPO ( θ ) = − E ( x , y w , y l ) [ log ⁡ σ ( β ⋅ h ( y w , y l , x ) ) ] L^{\text{DPO}}(\theta) = -\mathbb{E}_{(x,y_w,y_l)}\left[\log\sigma\left(\beta \cdot h(y_w,y_l,x)\right)\right] LDPO(θ)=E(x,yw,yl)[logσ(βh(yw,yl,x))]

h ( y w , y l , x ) = log ⁡ π θ ( y w ∣ x ) π ref ( y w ∣ x ) − log ⁡ π θ ( y l ∣ x ) π ref ( y l ∣ x ) h(y_w,y_l,x) = \log\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \log\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)} h(yw,yl,x)=logπref(ywx)πθ(ywx)logπref(ylx)πθ(ylx)

其中 y w , y l y_w, y_l yw,yl 分别为偏好对中的优选和拒绝响应。 σ \sigma σ 为 Sigmoid 函数, β \beta β 控制区分偏好的锐度。

隐式奖励: r ^ ( x , y ) = β log ⁡ π θ ( y ∣ x ) π ref ( y ∣ x ) \hat{r}(x,y) = \beta\log\frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)} r^(x,y)=βlogπref(yx)πθ(yx)

优势: 实现最简单;无需奖励模型;训练稳定;兼容离线偏好数据。

局限: 需要预收集的偏好对;无法在线探索;不适用于客观奖励信号任务。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


3. GRPO — 组相对策略优化

GRPO 由 DeepSeek 团队于 2025 年提出,通过使用组级奖励统计作为优势基线,消除了价值网络,GPU 内存减少约 50%。

组优势估计

对每个提示词 q q q,生成 G G G 个响应,奖励为 { R 1 , … , R G } \{R_1, \ldots, R_G\} {R1,,RG}

A ^ i = R i − μ G σ G + ϵ , μ G = 1 G ∑ j = 1 G R j \hat{A}_i = \frac{R_i - \mu_G}{\sigma_G + \epsilon}, \quad \mu_G = \frac{1}{G}\sum_{j=1}^{G}R_j A^i=σG+ϵRiμG,μG=G1j=1GRj

优势度量响应相对于组平均的好坏。 R i > μ G R_i > \mu_G Ri>μG 的响应被强化, R i < μ G R_i < \mu_G Ri<μG 的被抑制。

GRPO 目标函数

J GRPO ( θ ) = E q ∼ D [ 1 G ∑ i = 1 G 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ min ⁡ ( r i , t A ^ i ,  clip ( r i , t , 1 − ε , 1 + ε ) A ^ i ) − β D KL ] J_{\text{GRPO}}(\theta) = \mathbb{E}_{q \sim \mathcal{D}}\left[\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|o_i|}\sum_{t=1}^{|o_i|}\min\left(r_{i,t}\hat{A}_i,\ \text{clip}(r_{i,t}, 1{-}\varepsilon, 1{+}\varepsilon)\hat{A}_i\right) - \beta D_{\text{KL}}\right] JGRPO(θ)=EqD G1i=1Goi1t=1oimin(ri,tA^i, clip(ri,t,1ε,1+ε)A^i)βDKL

KL 散度使用无偏估计器:

D KL = π ref π θ − log ⁡ π ref π θ − 1 D_{\text{KL}} = \frac{\pi_{\text{ref}}}{\pi_\theta} - \log\frac{\pi_{\text{ref}}}{\pi_\theta} - 1 DKL=πθπreflogπθπref1

优势: 消除价值网络(内存减少 50%);天然适配可验证任务;工程实现简单。

局限: 对称裁剪可能导致熵坍塌;样本级归一化偏向短响应;组采样增加推理开销。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


4. DAPO — 动态优势策略优化

DAPO 由字节跳动于 2025 年提出,通过三项创新扩展 GRPO,在 AIME 2024 上达到 50% 准确率(朴素 GRPO 为 30%,提升 67%)。

创新 1:非对称 Clip-Higher

GRPO 的对称裁剪 [ 1 − ε , 1 + ε ] [1-\varepsilon, 1+\varepsilon] [1ε,1+ε] 会逐步导致策略熵坍塌。DAPO 使用更宽的上界:

clip ( r t ,   1 − ε low ,   1 + ε high ) , ε low = 0.2 ,   ε high = 0.28 \text{clip}(r_t,\ 1-\varepsilon_{\text{low}},\ 1+\varepsilon_{\text{high}}), \quad \varepsilon_{\text{low}}=0.2,\ \varepsilon_{\text{high}}=0.28 clip(rt, 1εlow, 1+εhigh),εlow=0.2, εhigh=0.28

上界扩大 40%(0.28 vs 0.20),使正优势词元能更积极地提升概率,维持探索能力。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创新 2:动态采样

当某提示词的所有 G G G 个响应全部正确或全部错误时,优势为零,梯度无效。DAPO 过滤这些批次:

过滤条件: 0 < ∣ { o i : is_correct ( o i ) } ∣ < G \text{过滤条件:} \quad 0 < |\{o_i : \text{is\_correct}(o_i)\}| < G 过滤条件:0<{oi:is_correct(oi)}<G

保证每个训练批次都有非零优势和有效梯度更新。

创新 3:Token 级损失归一化

GRPO 的样本级归一化 1 G ∑ i \frac{1}{G}\sum_i G1i 偏向短响应。DAPO 按总词元数归一化:

J DAPO ( θ ) = E [ 1 ∑ i = 1 G ∣ o i ∣ ∑ i = 1 G ∑ t = 1 ∣ o i ∣ ℓ i , t ] J_{\text{DAPO}}(\theta) = \mathbb{E}\left[\frac{1}{\sum_{i=1}^{G}|o_i|}\sum_{i=1}^{G}\sum_{t=1}^{|o_i|} \ell_{i,t}\right] JDAPO(θ)=E i=1Goi1i=1Gt=1oii,t

ℓ i , t = min ⁡ ( r i , t A ^ i ,  clip ( r i , t , 1 − ε low , 1 + ε high ) A ^ i ) \ell_{i,t} = \min\left(r_{i,t}\hat{A}_i,\ \text{clip}(r_{i,t}, 1-\varepsilon_{\text{low}}, 1+\varepsilon_{\text{high}})\hat{A}_i\right) i,t=min(ri,tA^i, clip(ri,t,1εlow,1+εhigh)A^i)

每个词元对梯度贡献相等,消除长度偏差。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

过长奖励整形

R length ( y ) = { 0 ∣ y ∣ ≤ L max ⁡ − L cache L max ⁡ − L cache − ∣ y ∣ L cache L max ⁡ − L cache < ∣ y ∣ ≤ L max ⁡ − 1 ∣ y ∣ > L max ⁡ R_{\text{length}}(y) = \begin{cases} 0 & |y| \leq L_{\max} - L_{\text{cache}} \\ \frac{L_{\max} - L_{\text{cache}} - |y|}{L_{\text{cache}}} & L_{\max} - L_{\text{cache}} < |y| \leq L_{\max} \\ -1 & |y| > L_{\max} \end{cases} Rlength(y)= 0LcacheLmaxLcachey1yLmaxLcacheLmaxLcache<yLmaxy>Lmax

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


对比分析

架构对比

维度PPODPOGRPODAPO
提出年份2017202320252025
价值网络需要不需要不需要不需要
奖励模型显式 RM隐式规则型规则型
参考模型可选需要需要需要
裁剪策略对称对称非对称
裁剪范围[0.8, 1.2]N/A[0.8, 1.2][0.8, 1.28]
损失粒度Token 级序列级样本级Token 级
组采样固定 G=16动态
KL 约束隐式显式惩罚移除
训练数据在线采样离线偏好在线采样在线采样
相对 GPU 内存~2.0x~1.0x~1.0x~1.2x

GRPO vs DAPO 关键差异

维度GRPODAPO
裁剪范围 [ 1 − ε , 1 + ε ] [1-\varepsilon, 1+\varepsilon] [1ε,1+ε] 对称 [ 1 − ε l , 1 + ε h ] [1-\varepsilon_l, 1+\varepsilon_h] [1εl,1+εh] 非对称
损失归一化 1 G ∑ i \frac{1}{G}\sum_i G1i(样本级)$\frac{1}{\sum_i
批次过滤无(固定 G=16)动态( 0 < correct < G 0 < \text{correct} < G 0<correct<G
KL 惩罚 β D KL \beta D_{\text{KL}} βDKL(显式)移除(Clip-Higher 已足够)

演进轨迹

PPO (2017)  ──→  DPO (2023)  : 消除奖励模型,闭式损失
    │
    └──→  GRPO (2025) : 消除价值网络,内存减50%
              │
              └──→  DAPO (2025) : Clip-Higher + 动态采样 + Token级损失
                                   AIME 准确率: 30% → 50% (+67%)

可视化对比

收敛曲线
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多维雷达图
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3D 性能景观
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Loss 曲线
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Reward 曲线
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


实验评估

小规模实验结果(Qwen2.5-0.5B)

指标PPODPOGRPODAPO
训练时间 (s)412198245280
最终损失0.11560.09450.08230.0651
最终奖励7.657.898.249.52
GPU 内存 (GB)9.86.86.27.0
吞吐量 (样本/s)12.428.618.216.1

AIME 2024 基准(Qwen2.5-32B, k=32)

算法avg@32pass@32cons@32
朴素 GRPO30%
DeepSeek-R1-Zero47%60%62%
DAPO50%75%78%

消融实验

配置AIME 分数 Δ \Delta Δ
基线(朴素 GRPO)30
+ 过长过滤36+6
+ Clip-Higher ( ε h = 0.28 \varepsilon_h = 0.28 εh=0.28)38+2
+ 软过长惩罚41+3
+ Token 级损失42+1
+ 动态采样(完整 DAPO)50+8

关键发现: 动态采样贡献最大单项提升(+8 分),其次是过长过滤(+6 分)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


讨论与未来方向

算法选择指南

场景推荐算法理由
有偏好数据的主观对齐DPO实现最简单,训练稳定
资源受限的高效推理GRPO内存效率最佳
追求最大推理性能DAPOAIME 最高,长链思维优势
需要学习型奖励模型PPO理论保证,通用 RL

开放性挑战

  1. 千亿参数规模可扩展性:组方法每提示词需要 G G G 次前向传播,超大模型代价高昂
  2. 开放式任务的奖励规范:数学推理受益于规则型奖励,创意写作仍具挑战
  3. 长度利用:模型可能学会生成不必要的长链思维推理
  4. 样本效率:组方法比单样本方法代价高 G G G
  5. 多目标优化:实际部署需同时平衡准确性、安全性、有用性

有前景的研究方向

  1. 混合方法:DPO 的离线偏好学习 + DAPO 的 Token 级在线优化
  2. 过程奖励模型(PRM):步骤级奖励信号替代结果级奖励
  3. 自适应组采样:根据提示词难度动态调整 G G G
  4. 投机解码加速:降低 GRPO/DAPO 的组采样开销
  5. 元学习算法选择:自动为给定任务选择最优 RL 算法

结论

四种算法代表了 LLM 训练中的清晰演进轨迹:

  • PPO (2017) 建立了裁剪代理基础和双网络架构,支撑了第一代对齐 LLM
  • DPO (2023) 通过消除显式奖励建模大幅简化 RLHF 流程
  • GRPO (2025) 通过组优势归一化消除价值网络,内存减少 ~50%
  • DAPO (2025) 三项创新使 AIME 2024 准确率提升 67%(30% → 50%)

训练配置

ParameterPPODPOGRPODAPO
Learning Rate1e-55e-61e-51e-5
Clip Epsilon0.2-0.20.2 / 0.28 (asymmetric)
KL Coefficient-0.10.01Removed
Group Size--16Dynamic
Max Length5125125121024

参考文献

  1. Schulman, J., et al. “Proximal Policy Optimization Algorithms.” arXiv:1707.06347, 2017.
  2. Schulman, J., et al. “High-Dimensional Continuous Control Using Generalized Advantage Estimation.” ICLR 2016.
  3. Rafailov, R., et al. “Direct Preference Optimization: Your Language Model is Secretly a Reward Model.” NeurIPS 2023.
  4. DeepSeek-AI. “DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning.” arXiv:2501.12948, 2025.
  5. Yu, Q., et al. “DAPO: An Open-Source LLM Reinforcement Learning System.” arXiv:2503.14476, 2025.
  6. Ouyang, L., et al. “Training Language Models to Follow Instructions with Human Feedback.” NeurIPS 2022.
  7. Christiano, P. F., et al. “Deep Reinforcement Learning from Human Preferences.” NeurIPS 2017.
  8. Guo, Z., et al. “DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models.” arXiv:2402.03300, 2024.
  9. Yang, A., et al. “Qwen2.5 Technical Report.” arXiv:2412.15115, 2024.
  10. Touvron, H., et al. “LLaMA: Open and Efficient Foundation Language Models.” arXiv:2302.13971, 2023.
@software{aitachi2025rl_comparison,
  author = {Aitachi},
  title = {PPO, DPO, GRPO, and DAPO: Complete Implementation and Comparison},
  year = {2025},
  email = {44158892@qq.com}
}

License

MIT License - see LICENSE file for details.


Acknowledgments

  • DeepSeek-AI team for GRPO algorithm and DeepSeek-R1 paper
  • ByteDance for DAPO algorithm
  • OpenAI for PPO algorithm
  • Stanford NLP group for DPO algorithm
  • Hugging Face for Transformers library
  • Qwen team for base models
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐