RL

PPO/GRPO: 概率比率r*优势函数A,会对概率比率进行一定程度的裁剪,最后再加上kl散度的约束

1. PPO (Proximal Policy Optimization)

LPPO(θ)=−E(x,y)[min⁡(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)−βDKL(πθ∥πref)]L^{PPO}(\theta) = -\mathbb{E}_{(x, y)} \left[ \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) - \beta \mathbb{D}_{KL}(\pi_\theta \parallel \pi_{ref}) \right]LPPO(θ)=E(x,y)[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)βDKL(πθπref)]

  • rt(θ)=πθ(yt∣x)πold(yt∣x)r_t(\theta) = \frac{\pi_\theta(y_t \mid x)}{\pi_{old}(y_t \mid x)}rt(θ)=πold(ytx)πθ(ytx):策略概率比率。
  • A^t\hat{A}_tA^t:由 Critic 网络估计的优势函数(Advantage)。
  • ϵ\epsilonϵ:对称裁剪的超参数(通常为 0.2)。
  • DKL\mathbb{D}_{KL}DKL:防止模型过度偏离参考模型(Reference Model)的 KL 散度惩罚。

2. DPO (Direct Preference Optimization)

LDPO(θ)=−E(x,yw,yl)[log⁡σ(βlog⁡πθ(yw∣x)πref(yw∣x)−βlog⁡πθ(yl∣x)πref(yl∣x))]L^{DPO}(\theta) = -\mathbb{E}_{(x, y_w, y_l)} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{ref}(y_w \mid x)} - \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{ref}(y_l \mid x)} \right) \right]LDPO(θ)=E(x,yw,yl)[logσ(βlogπref(ywx)πθ(ywx)βlogπref(ylx)πθ(ylx))]

  • xxx:输入的提示词(Prompt)。
  • yw,yly_w, y_lyw,yl:获胜(Win)的回答与失败(Lose)的回答。
  • σ\sigmaσ:Sigmoid 函数。
  • β\betaβ:控制策略偏离度的温度系数 / KL 惩罚系数。

3. GRPO (Group Relative Policy Optimization)

LGRPO(θ)=−Ex∼P(x),{yi}i=1G∼πold[1G∑i=1G(min⁡(ri(θ)A^i,clip(ri(θ),1−ϵ,1+ϵ)A^i)−βDKL(πθ(yi∣x)∥πref(yi∣x)))]L^{GRPO}(\theta) = -\mathbb{E}_{x \sim P(x), \{y_i\}_{i=1}^G \sim \pi_{old}} \left[ \frac{1}{G} \sum_{i=1}^{G} \left( \min \left( r_i(\theta) \hat{A}_i, \text{clip}(r_i(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_i \right) - \beta \mathbb{D}_{KL}(\pi_\theta(y_i \mid x) \parallel \pi_{ref}(y_i \mid x)) \right) \right]LGRPO(θ)=ExP(x),{yi}i=1Gπold[G1i=1G(min(ri(θ)A^i,clip(ri(θ),1ϵ,1+ϵ)A^i)βDKL(πθ(yix)πref(yix)))]

  • GGG:针对同一提示采样的回答组大小(Group Size)。
  • ri(θ)=πθ(yi∣x)πold(yi∣x)r_i(\theta) = \frac{\pi_\theta(y_i \mid x)}{\pi_{old}(y_i \mid x)}ri(θ)=πold(yix)πθ(yix):第 iii 个回答的策略概率比率。
  • A^i=Ri−mean(R1,…,RG)std(R1,…,RG)\hat{A}_i = \frac{R_i - \text{mean}(R_1, \dots, R_G)}{\text{std}(R_1, \dots, R_G)}A^i=std(R1,,RG)Rimean(R1,,RG):由规则系统算出的奖励分 RRR 进行组内标准化的相对优势(省去了 Critic 网络)。

优势A是序列级的,奖励是对整条回答打的分(比如数学题对了得 1 分
概率比率 和裁剪是token级的

4. DAPO (Decoupled Clip and Dynamic Sampling Policy Optimization)

LDAPO(θ)=−E[1G′∑i=1G′1Ti∑t=1Timin⁡(ri,t(θ)A^i,clip(ri,t(θ),1−ϵlow,1+ϵhigh)A^i)]L^{DAPO}(\theta) = -\mathbb{E} \left[ \frac{1}{G'} \sum_{i=1}^{G'} \frac{1}{T_i} \sum_{t=1}^{T_i} \min \left( r_{i,t}(\theta) \hat{A}_i, \text{clip}(r_{i,t}(\theta), 1-\epsilon_{low}, 1+\epsilon_{high}) \hat{A}_i \right) \right]LDAPO(θ)=E G1i=1GTi1t=1Timin(ri,t(θ)A^i,clip(ri,t(θ),1ϵlow,1+ϵhigh)A^i)

  • G′G'G:动态过滤掉方差为 0(如全对或全错)的样本后,剩余的有效组大小。
  • TiT_iTi:第 iii 个回答的 Token 总长度(引入 Token 级别的损失计算以应对超长文本)。
  • ri,t(θ)r_{i,t}(\theta)ri,t(θ):第 iii 个回答中第 ttt 个 Token 的策略概率比率。
  • ϵlow,ϵhigh\epsilon_{low}, \epsilon_{high}ϵlow,ϵhigh:非对称裁剪的下界与上界(通常 ϵhigh>ϵlow\epsilon_{high} > \epsilon_{low}ϵhigh>ϵlow,鼓励模型探索更好的解)。

改动一:非对称裁剪(Decoupled Clip) 把原来对称的 [1−ϵ,1+ϵ][1-\epsilon, 1+\epsilon][1ϵ,1+ϵ] 拆成两个独立参数:

clip(ri,1−ϵlow,1+ϵhigh)\text{clip}(r_i, 1-\epsilon_{low}, 1+\epsilon_{high})clip(ri,1ϵlow,1+ϵhigh)

正向和负向更新用不同力度,避免"好的回答更新太保守,坏的回答惩罚太弱"的问题。

改动二:动态采样(Dynamic Sampling) 过滤掉组内全对或全错的样本,因为这种组的优势值为 0,提供不了任何学习信号,纯属浪费计算。

改动三:Token 级别 Loss 原始 GRPO 是 sample 级别平均,DAPO 改为对每个 token 平均,缓解长回答被"稀释"的问题。

改动四:去掉 KL 惩罚 用熵正则化替代,鼓励模型保持多样性,防止输出退化。

GSPO

把裁剪移到序列级

GSPO 的核心思路是:既然语言模型的输出单位是序列,trust region 的约束就应该定义在序列级别上

LGSPO(θ)=−E[1G∑i=1Gmin⁡(r~i(θ)A^i, clip(r~i(θ),1−ϵ,1+ϵ)A^i)]L^{GSPO}(\theta) = -\mathbb{E}\left[\frac{1}{G}\sum_{i=1}^{G} \min\left(\tilde{r}_i(\theta)\hat{A}_i,\ \text{clip}(\tilde{r}_i(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_i\right)\right]LGSPO(θ)=E[G1i=1Gmin(r~i(θ)A^i, clip(r~i(θ),1ϵ,1+ϵ)A^i)]

关键变化是 ri,tr_{i,t}ri,t(token 级)换成了 r~i\tilde{r}_ir~i(序列级),裁剪只做一次,作用在整条回答上。

变体 核心改动 解决的主要问题
GRPO 组内相对优势,去掉 Critic 省掉价值网络
DAPO 非对称裁剪 + 动态采样 训练稳定性和效率
Dr. GRPO 修正归一化统计偏差 梯度估计的无偏性
RLOO 留一基线,不除标准差 更简洁且理论无偏
GSPO 裁剪粒度从 token 级升到序列级 trust region 在序列层面真正生效

Diffusion

DDPM (Denoising Diffusion Probabilistic Models)

噪声调度(变量定义)

βt∈(0,1),αt=1−βt,αˉt=∏s=1tαs\beta_t \in (0,1), \quad \alpha_t = 1-\beta_t, \quad \bar{\alpha}_t = \prod_{s=1}^{t}\alpha_sβt(0,1),αt=1βt,αˉt=s=1tαs

前向过程(单步加噪)

q(xt∣xt−1)=N ⁣(1−βt xt−1, βtI)q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(\sqrt{1-\beta_t}\,x_{t-1},\ \beta_t I\right)q(xtxt1)=N(1βt xt1, βtI)

前向过程(一步跳转)

xt=αˉtx0+1−αˉt ϵ,ϵ∼N(0,I)x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\,\epsilon, \quad \epsilon \sim \mathcal{N}(0, I)xt=αˉt x0+1αˉt ϵ,ϵN(0,I)

反向过程(随机采样)

xt−1=αˉt−1x^0+1−αˉt−1−σt2 ϵθ(xt,t)+σtz,z∼N(0,I)x_{t-1} = \sqrt{\bar{\alpha}_{t-1}}\hat{x}_0 + \sqrt{1-\bar{\alpha}_{t-1}-\sigma_t^2}\,\epsilon_\theta(x_t,t) + \sigma_t z, \quad z\sim\mathcal{N}(0,I)xt1=αˉt1 x^0+1αˉt1σt2 ϵθ(xt,t)+σtz,zN(0,I)

原始数据估计x^0\hat{x}_0x^0

x^0=xt−1−αˉt ϵθ(xt,t)αˉt\hat{x}_0 = \frac{x_t - \sqrt{1-\bar{\alpha}_t}\,\epsilon_\theta(x_t,t)}{\sqrt{\bar{\alpha}_t}}x^0=αˉt xt1αˉt ϵθ(xt,t)

后验方差σt\sigma_tσt

σt=(1−αˉt−1) βt1−αˉt,其中 βt=1−αˉtαˉt−1\sigma_t = \sqrt{\frac{(1-\bar{\alpha}_{t-1})\,\beta_t}{1-\bar{\alpha}_t}}, \qquad \text{其中 } \beta_t = 1 - \frac{\bar{\alpha}_t}{\bar{\alpha}_{t-1}}σt=1αˉt(1αˉt1)βt ,其中 βt=1αˉt1αˉt

优化目标(MSE Loss)

LDDPM=Et, x0, ϵ ⁣[∥ϵ−ϵθ(xt,t)∥2]L_{\mathrm{DDPM}} = \mathbb{E}_{t,\, x_0,\, \epsilon}\!\left[\left\|\epsilon - \epsilon_\theta(x_t, t)\right\|^2\right]LDDPM=Et,x0,ϵ[ϵϵθ(xt,t)2]

β_t 是设计的噪声强度 → α_t = 1 - β_t 是信号保留率 → ᾱ_t = ∏α_s 是累积保留率,支撑一步采样的前向公式 → σ_t 由 β_t 和 ᾱ_t 共同决定,是反向采样的真实后验方差,控制每步的随机性大小。


2. DDIM (Denoising Diffusion Implicit Models)

反向过程 (确定性采样,即令 σt=0\sigma_t = 0σt=0):

xt−1=αˉt−1x^0+1−αˉt−1ϵθ(xt,t)x_{t-1} = \sqrt{\bar{\alpha}_{t-1}}\hat{x}_0 + \sqrt{1-\bar{\alpha}_{t-1}}\epsilon_\theta(x_t,t)xt1=αˉt1 x^0+1αˉt1 ϵθ(xt,t)

(注:前向过程边缘分布、x^0\hat{x}_0x^0 的定义以及优化目标均与 DDPM 完全相同。)


3. Flow Matching

(注:时间方向 t∈[0,1]t \in [0,1]t[0,1]t=0t=0t=0 为纯噪声,t=1t=1t=1 为干净数据)

训练路径 (条件流/直线插值):

xt=(1−t)x0+tx1,x0∼N(0,I), x1∼pdatax_t = (1-t)x_0 + t x_1, \quad x_0 \sim \mathcal{N}(0,I), \, x_1 \sim p_{\mathrm{data}}xt=(1t)x0+tx1,x0N(0,I),x1pdata

推理过程 (ODE 求解):

dxdt=vθ(xt,t)\frac{dx}{dt} = v_\theta(x_t, t)dtdx=vθ(xt,t)

优化目标 (MSE Loss):

LFM=Et,x0,x1[∥vθ(xt,t)−(x1−x0)∥2]L_{\mathrm{FM}} = \mathbb{E}_{t, x_0, x_1}\left[\left\Vert v_\theta(x_t, t) - (x_1 - x_0)\right\Vert^2\right]LFM=Et,x0,x1[vθ(xt,t)(x1x0)2]


4. PF-ODE (Probability Flow ODE / 连续时间框架补充)

扩散模型的概率流 ODE 等价形式 (Score-based 框架):

dx=[f(x,t)−12g2(t)∇xlog⁡pt(x)]dtdx = \left[f(x,t) - \frac{1}{2}g^2(t)\nabla_x \log p_t(x)\right]dtdx=[f(x,t)21g2(t)xlogpt(x)]dt

ELBO (证据下界,扩散模型变分推导基础):

log⁡pθ(x0)≥Eq[log⁡pθ(x0,x1,…,xT)q(x1,…,xT∣x0)]\log p_\theta(x_0) \geq \mathbb{E}_q\left[\log \frac{p_\theta(x_0, x_1, \ldots, x_T)}{q(x_1, \ldots, x_T \mid x_0)}\right]logpθ(x0)Eq[logq(x1,,xTx0)pθ(x0,x1,,xT)]

DDPM 的视角(2020):概率图模型
DDPM 是站在 变分自编码器(VAE)和马尔可夫链 的肩膀上推导出来的。在那个框架下,前向必须是马尔可夫链,后验推导极其依赖联合概率分解,因此不可避免地带入了随机项。在当时的理论框架内,DDPM 是非常严谨且完美的。

DDIM 的视角(2020末):非马尔可夫的泛化
DDIM 的作者跳出了马尔可夫的限制,发现只要边缘分布对齐,联合分布怎么构造都可以。这是一种对 DDPM 图模型的巧妙拓展。

Logo

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

更多推荐