LLM学习记录DAY13

news/2025/10/31 7:42:39/文章来源:https://www.cnblogs.com/szhAC/p/19178544

📘今日学习总结

RLHF

PPO

PPO整体框架

  • 输入问题 \(q\) ,经过策略模型更新,生成问题回答 \(o\) ,然后输入到三个模型
    • 策略模型(Policy Model):负责生成决策
    • 奖励模型(Reward Model):负责对生成决策的优劣程度进行打分
    • 价值模型(Value Model):估计当前决策的价值,用于修正奖励得分
    • 参考模型(Reference Model):帮助“约束”模型,防止其被过度更新
  • ![[image-20251030212431153.png]]

PPO数据格式

  • 原始数据:仅需准备提示词 prompt
  • 中间采样环节:借助旧模型(old model),对每个提示词采样生成单个回答

PPO优势计算

  • 优势估计:引导模型从所有决策中挑选相对最佳的决策
  • 优势函数:\(\widehat{A}_{t}=Q \left( s_{t},a_{t} \right)-V \left( s_{t} \right)\)
    • \(Q \left( s_{t},a_{t} \right)\)表示当前状态下选取特定策略能获得的奖励,可通过奖励模型得到
    • \(V \left( s_{t} \right)\)表示当前状态开始所有决策的奖励期望,需要训练价值模型(Value Model)得到
    • 对于语言模型而言,生成第i个token的实际收益 \(Q\) 就是:从生成第 \(i\) 个token 开始到生成第 \(N\) 个token为止,所能获得的所有奖励的总和。

PPO损失函数

Policy Model的损失函数

  • \(\mathcal{J}_{\mathrm{CLIP}}(\theta)=\hat{\mathbb{E}}_{t}\left[\min\left(r_{t}( \theta)\hat{A}_{t},{\mathrm{clip}\left(r_{t}(\theta),1-\epsilon,1+ \epsilon\right)}\hat{A}_{t}\right)\right]\)
    • 重要性采样
      • 定义:通过分布 \(p\) 上采样得到的样本来近似分布 \(q\) 上样本分布
        • \(\begin{split}\mathbb{E}_{x\sim q}\left[f(x)\right]& =\int q(x)\cdot f(x) \mathrm{d}x\\ &=\int \frac{p(x)}{p(x)}\cdot q(x)\cdot f(x) \mathrm{d}x\\ &=\int p(x)\cdot\left[\frac{q(x)}{p(x)}\cdot f(x)\right] \mathrm{d}x=\mathbb{E}_{x\sim p}\left[\frac{q(x)}{p(x)}\cdot f(x)\right]\end{split}\)
      • 设置 \(p\) 为off-policy数据分布,\(q\) 为on-policy交互得到的样本分布
        • \(\mathbb{E}_{\begin{subarray}{c}a_{t}\sim\left[\pi_{\theta}\right] \\ \end{subarray}}\big[\hat{A}_{t}\big] =\mathbb{E}_{\begin{subarray}{c}{a_{t}\sim\pi_{\theta_{ \mathsf{old}}}}\\ \end{subarray}}\left[\frac{\pi_{\theta}(a_{t}|s_{t})}{\pi_{\theta_{ \mathsf{old}}}(a_{t}|s_{t})}\hat{A}_{t}\right]\)
      • \(r_{t} \left( \theta \right)= \frac{ \pi_{ \theta} \left( a_{t}|s_{t} \right) }{ \pi_{ \theta_{old}} \left( a_{t}|s_{t} \right)}\) 利用off-policy数据估计on-policy的奖励期望
    • 梯度裁剪:保证算法稳定性
      • 目标:防止更新策略过于激进,使得模型被过度优化
      • 引入裁剪前后优势值的最小值参与
        • \(\widehat{A}_{t}\) 大于0:当前决策较优,提升其概率\(\pi_{ \theta} \left( a_{t}|s_{t} \right)\)
          • 该概率过大时,clip函数裁剪其梯度,以限制其更新幅度
        • \(\widehat{A}_{t}\) 小于0:当前决策较差,减小其概率\(\pi_{ \theta} \left( a_{t}|s_{t} \right)\)
          • 该概率过小时,clip函数防止其参与梯度计算,以保证算法稳定性

Policy Model的损失函数

GRPO

GRPO整体框架

  • PPO:需要维护和更新多个模型,占用内存资源
  • GRPO:移除价值模型,从同一问题多个输出中计算平均奖励来替代
  • ![[image-20251030214419620.png]]

GRPO数据格式

  • 原始数据:仅需准备提示词 prompt
  • 中间采样环节:借助旧模型(old model),对每个提示词采样生成多个回答

GRPO奖励计算

  • 基于组内每条数据的奖励值,归一化后计算优势估计
    • Group 规模足够大时,该优势估计能近似等于全部输出的奖励期望
    • \(A_{i}= \frac{r_{i}-mean \left( \left \{ r_{1},r_{2}, \cdots,r_{G} \right \} \right)}{std \left( \left \{ r_{1},r_{2}, \cdots,r_{G} \right \} \right)}\)

GRPO优势计算

  • \(\begin{split}& J_{\text{GRPO}}(\theta)=\\ &\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|O_{i}|}\sum_{t=1}^{|O_{i}|} \left[\min\left(\frac{\pi_{\theta}(o_{i,t}\mid q_{i},o_{i:<t})}{\pi_{\text{old} }(o_{i,t}\mid q_{i},o_{i:<t})}A_{i}^{t},\text{clip}\left(\frac{\pi_{\theta}(o_ {i,t}\mid q_{i},o_{i:<t})}{\pi_{\text{old}}(o_{i,t}\mid q_{i},o_{i:<t})},1- \epsilon,1+\epsilon\right)A_{i}^{t}\right)-\beta D_{\text{KL}}[\pi_{\text{old}} \parallel\pi_{\text{ref}}]\right]\end{split}\)
  • GRPO优势值:\(A_{i}= \frac{r \left( q_{i},O_{i} \right)-mean \left( \left \{ r \left( q_{j},O_{j} \right) \right \}_{j=1}^{G} \right)}{std \left( \left \{ r \left( q_{j},O_{j} \right) \right \}_{j=1}^{G} \right)}\)
  • 重要性采样权重:\(r_{i,t} \left( \theta \right)= \frac{ \pi_{ \theta} \left( o_{i,t}|q_{i},o_{i:<t} \right)}{ \pi_{old} \left( o_{i,t}|q_{i},o_{i:<t} \right)}\)
  • 原 KL 惩罚项改为其无偏估计,该函数恒为正值,使训练更加稳定
    • \(\mathbb{D}_{KL}\left[\pi_{\theta}||\pi_{ref}\right]=\frac{\pi_{ref}(o_{i,t}|q,o_{i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}-\log\frac{\pi_{ref}(o_{i,t}|q,o_ {i,<t})}{\pi_{\theta}(o_{i,t}|q,o_{i,<t})}-1\)

DPO

DPO整体框架

  • DPO(Direct PreferenceOptimization,直接优化策略)是一种非常高效的算法。
  • 它巧妙地绕过了构建奖励模型和强化学习这两个的繁琐过程,直接通过偏好数据进行微调,无需加载Reward和Critic这两个模型,效果简单粗暴,在使模型输出更符合人类偏好的同时,极大地缩短了训练时间和难度。
  • 主要思想
    • 建立策略函数与奖励函数之间的关系以规避奖励建模的过程,无须奖励模型
    • 目标:直接构建输入、正例和负例三者之间的关系
  • ![[image-20251031055454639.png]]

DPO数据格式

  • 三元组【输入-优选回答 - 次选回答】数据对:
    • query:苹果是什么?
    • chosen:苹果是一种可以润肺、解暑的红色水果。
    • rejected:苹果是水果。''

DPO损失函数

  • DPO 的损失函数通过对比chosen和rejected的概率差异有效优化模型,使其更倾向于生成chosen级别的回答主要不同就是损失函数的设计
  • \(L(\theta)=-\mathbb{E}_{(x,y^{+},y^{-})\sim\mathcal{D}}\left[\log\sigma\left( \beta\log\left(\frac{\pi_{\theta}(y^{+}|x)}{\pi_{\theta_{\mathrm{old}}}(y^{+} |x)}\right)-\beta\log\left(\frac{\pi_{\theta}(y^{-}|x)}{\pi_{\theta_{\mathrm{ old}}}(y^{-}|x)}\right)\right)\right]\)
  • PPO 优化目标的最优解推导
    • 特殊函数\(Z \left( x \right)= \sum_{y} \pi_{ \theta_{old}} \left( y|x \right) \exp \left( \frac{1}{ \beta}r \left( x,y \right) \right)\)代入简化算式,建立奖励函数与策略函数关系
    • \(\begin{aligned} L(\theta)&=\max_{\pi_{ \theta}}\mathbb{E}_{x\sim\mathcal{D}}\mathbb{E}_{y\sim\pi_{\theta}(\cdot|x)} \left[r(x,y)-\beta\log\frac{\pi_{\theta}(y|x)}{\pi_{\theta_{\mathrm{old}}}(y| x)}\right]\\ &=\min_{\pi_{\theta}}\mathbb{E}_{x\sim\mathcal{D}}\mathbb{E}_{y \sim\pi_{\theta}(\cdot|x)}\left[\log\frac{\pi_{\theta}(y|x)}{\pi_{\theta_{ \mathrm{old}}}(y|x)}-\frac{1}{\beta}r(x,y)\right]\\ &=\min_{\pi_{\theta}}\mathbb{E}_{x\sim\mathcal{D}}\mathbb{E}_{y \sim\pi_{\theta}(\cdot|x)}\left[\log\frac{\pi_{\theta}(y|x)}{\frac{1}{Z(x)} \pi_{\theta_{\mathrm{old}}}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)}-\log Z (x)\right]\end{aligned}\)
    • 使用配分函数\(\pi^{*} \left( y|x \right)= \frac{1}{Z \left( x \right)} \pi_{ \theta_{old}} \left( y|x \right) \exp \left( \frac{1}{ \beta}r \left( x,y \right) \right)\)简化公式
      • \(\begin{split}&\min_{\pi_{\theta}}\mathbb{E}_{x\sim\mathcal{D}} \mathbb{E}_{y\sim\pi_{\theta}(\cdot|x)}\left[\log{\frac{\pi_{\theta}(y|x )}{\frac{1}{Z(x)}\pi_{\theta_{\mathrm{old}}}(y|x)\exp\left(\frac{1}{\beta}r(x, y)\right)}}-\log Z(x)\right]\\ =&\min_{\pi_{\theta}}\mathbb{E}_{x\sim\mathcal{D}} \mathbb{E}_{y\sim\pi_{\theta}(\cdot|x)}\left[\log\frac{\pi_{\theta}(y|x)}{\pi ^{*}(y|x)}-\log Z(x)\right]\\ =&\min_{\pi_{\theta}}\mathbb{E}_{x\sim\mathcal{D}} \left[\mathbb{E}_{y\sim\pi_{\theta}(\cdot|x)}\left[\log\frac{\pi_{\theta}(y|x )}{\pi^{*}(y|x)}\right]-\log Z(x)\right]\\ =&\min_{\pi_{\theta}}\mathbb{E}_{x\sim\mathcal{D}} \left[\mathrm{KL}\left[\pi_{\theta}(y|x),\pi^{*}(y|x)\right]-\log Z(x)\right] \end{split}\)
    • 由于左边算式中 \(Z \left( x \right)\) 取值与与 \(\pi_{ \theta}\) 无关,可两边展开推导得解析最优解
      • \(\begin{split}&\pi_{r}(y|x)=\frac{1}{Z(x)}\pi_{\theta_{\mathrm{old }}}(y|x)\exp\left(\frac{1}{\beta}r(x,y)\right)\\ \Rightarrow&\log\left(\pi_{r}(y|x)\right)=\log\left( \frac{1}{Z(x)}\pi_{\theta_{\mathrm{old}}}(y|x)\exp\left(\frac{1}{\beta}r(x,y) \right)\right)\\ \Rightarrow&{\log\left(\pi_{r}(y|x) \right)-\log\left(\frac{1}{Z(x)}\right)-\log\left(\pi_{\theta_{\mathrm{old}}}( y|x)\right)}=\log\left(\exp\left(\frac{1}{\beta}r(x,y)\right)\right)\\ \Rightarrow&{r(x,y)=\beta\log\left(\frac{\pi_{r }(y|x)}{\pi_{\theta_{\mathrm{old}}}(y|x)}\right)+\beta\log\left(Z(x)\right)}. \end{split}\)
    • 基于奖励模型训练目标
      • \(\begin{split} P\big(y^{+}>y^{-}|x\big)&=\frac{ \exp(r\big(x,y^{+}\big))}{\exp(r\big(x,y^{+}\big))+\exp(r\big(x,y^{-} \big))}\\ &=\frac{1}{1+\frac{\exp\left(r\left(x,y^{-}\right)\right)}{\exp \left(r\left(x,y^{+}\right)\right)}}.\end{split}\)
    • 代入其与策略函数关系式\(r \left( x,y \right)= \beta \log \left( \frac{ \pi_{r} \left( y|x \right)}{ \pi_{ \theta_{old}} \left( y|x \right)} \right)+ \beta \log \left( Z \left( x \right) \right)\),约掉奖励函数项
    • \(\begin{split} P(y^{+}>y^{-}|x)&=\frac{1}{1+\frac{ \exp(\beta\log\left(\frac{\pi_{r}(y^{-}|x)}{\pi_{\theta_{\rm old}}(y^{-}|x)} \right)+\beta\log(Z(x)))}{\exp(\beta\log\left(\frac{\pi_{r}(y^{+}|x)}{\pi_{ \theta_{\rm old}}(y^{+}|x)}\right)+\beta\log(Z(x)))}}\\ &=\frac{1}{1+\exp\left(\beta\log\left(\frac{\pi_{r}(y^{-}|x)}{\pi _{\theta_{\rm old}}(y^{-}|x)}\right)-\beta\log\left(\frac{\pi_{r}(y^{+}|x)}{ \pi_{\theta_{\rm old}}(y^{+}|x)}\right)\right)}\\ &=\sigma\left(\beta\log\left(\frac{\pi_{r}(y^{+}|x)}{\pi_{\theta _{\rm old}}(y^{+}|x)}\right)-\beta\log\left(\frac{\pi_{r}(y^{-}|x)}{\pi_{ \theta_{\rm old}}(y^{-}|x)}\right)\right)\end{split}\)
    • 最终优化目标:\(L(\theta)=-\mathbb{E}_{(x,y^{+},y^{-})\sim\mathcal{D}}\left[\log\sigma\left( \beta\log\left(\frac{\pi_{\theta}(y^{+}|x)}{\pi_{\theta_{\mathrm{old}}}(y^{+} |x)}\right)-\beta\log\left(\frac{\pi_{\theta}(y^{-}|x)}{\pi_{\theta_{\mathrm{ old}}}(y^{-}|x)}\right)\right)\right]\)
    • 对该式求导,并令\(u= \beta \log \left( \frac{ \pi_{ \theta} \left( y^{+}|x \right)}{ \pi_{ \theta_{old}} \left( y^{+}|x \right)} \right)- \beta \log \left( \frac{ \pi_{ \theta} \left( y^{-}|x \right)}{ \pi_{ \theta_{old}} \left( y^{-}|x \right)} \right)\)
    • 导数可化简为:\(\nabla L(\theta)=-\nabla\mathbb{E}_{(x,y^{+},y^{-})\sim\mathcal{D}}\left[\log \sigma(u)\right]=-\mathbb{E}_{(x,y^{+},y^{-})\sim\mathcal{D}}\left[\frac{ \nabla\sigma(u)}{\sigma(u)}\nabla u\right]\)
    • 由 sigmoid 函数性质\(\nabla \sigma \left( u \right)= \sigma \left( u \right) \left( 1- \sigma \left( u \right) \right)= \sigma \left( u \right) \sigma \left(-u \right)\)可得:
      • \(\quad-\operatorname{\mathbb{E}}_{( \scriptsize{x}, \scriptsize{y}^{+}, \scriptsize{y}^{-})\sim \scriptsize{\cal D}}\left[\frac{\nabla {\sigma}( {u})}{ {\sigma}( {u})}\nabla {u}\right]\newline =-\operatorname{\mathbb{E}}_{( \scriptsize{x}, \scriptsize{y}^{+}, \scriptsize{y}^{-})\sim \scriptsize{\cal D}}\left[ {\sigma}(- {u}) \nabla {u}\right]\)
    • 代入\(\widehat{r}_{ \theta} \left( x,y \right)= \beta \log \left( \frac{ \pi_{ \theta} \left( y|x \right)}{ \pi_{ \theta_{old}} \left( y|x \right)} \right)\)并且展开
      • \(-\beta\mathbb{E}_{(x,y^{+},y^{-})\sim\mathcal{D}}\left[{ \sigma(\hat{r}_{\theta}(x,y^{-})-\hat{r}_{\theta}(x,y^{+})]}\left[\nabla\log \pi_{\theta}(y^{+}|x)-\nabla\log\pi_{\theta}(y^{-}|x)\right]\right]\)
      • \(\sigma(\hat{r}_{\theta}(x,y^{-})-\hat{r}_{\theta}(x,y^{+})\)动态控制梯度下降的步长
      • \(\nabla\log \pi_{\theta}(y^{+}|x)-\nabla\log\pi_{\theta}(y^{-}|x)\)增大模型生成正例和负例之间的概率差距

DAPO

DAPO的算法函数

  • 在实际训练中,GRPO往往因clip范围设置不合理、采样冗余以及长序列梯度被稀释等问题,导致大量训练信号被浪费,所以针对这些问题,DAPO逐一提出改进,以下为DAPO的损失函数:
  • \(\begin{split}\mathcal{J}_{\text{DAPO}}(\theta)=\\ \mathbb{E}_{(q,a)\sim\mathcal{D}, \{o_{i}\}_{i - 1}^{G}\sim \pi_{\text{old}}(\cdot|q)}&\left[\frac{1}{\sum_{i=1}^{G}|o_{i}|} \sum_{i=1}^{G}\sum_{t=1}^{|o_{i}|}\min\left(r_{i,t}(\theta)\hat{A}_{i,t}, \text{clip}\left(r_{i,t}(\theta), 1-\epsilon_{\text{low}}, 1+\epsilon_{\text {high}}\right)\hat{A}_{i,t}\right)\right]\\ &\qquad\qquad\text{s.t } 0<\big|\big\{o_{i}\mid\text{is\_equivalent}(a, o_{i})\big\}\big|<G\end{split}\)
  • 其中重要性采样和优势计算方法与GRPO一致。

DAPO的改进

改进一:提高clip的上界

  • GRPO 中clip上界较小,会导致低概率但优势为正的关键 token 被抑制。
  • 比如old policy难得采到一个关键 token且概率极低,而当前模型对此token的概率很高,那么 \(r_t\) 的比率就会很大,但却会因为clip限制过紧被裁剪,那么低概率关键 token 就几乎没有被很好的训练。
  • 所以 DAPO 引入Clip-Higher 提高上界,释放低概率关键 token 的上涨空间,解决低概率关键 token 涨幅受限问题。

改进二:动态采样(DynamicSampling)

  • GRPO训练中,若同一query被多次采样,并采样结果的得分相同,就会导致这些样本的优势为0,进而梯度为0,无法贡献有效的奖励训练信号。
  • 那么实际有效的梯度就会少于采样的次数,导致最后梯度汇集时信息不足以及训练资源的浪费。
  • 而且这种效果可能随着训练的进行越来越明显,因为越到后边模型效果越好,给出高分回答的几率就越大,相对优势就越小,而且会出现很多满分的情况。
  • 所以DAPO添加了限制,就是如果采样出来的回答全是0或者1就继续采样,保证采样具有得分上的多样性

改进三:Token-Level Gradient Loss

  • 长回答的token因第一步sample内平均,导致长回答的token梯度权重被稀释,短回答token权重更高。那么在训练过程中,长文本高质量回答的有用梯度就无法有效传递,影响训练效率。
    • 原 GRPO 公式(sample-level 聚合)
      • \(\frac{1}{G} \sum_{i=1}^{G} \frac{1}{|o_{i}|} \sum_{t=1}^{|o_{i}|}\)
    • DAPO公式(token-level聚合)
      • \(\frac{1}{ \sum_{i=1}^{G} \left| o_{i} \right|} \sum_{i=1}^{G} \sum_{t=1}^{ \left| o_{i} \right|}\)
  • DAPO 采用Token-Level Gradient Loss,将损失聚合方式从sample 级两层平均改为全局 token 级单层平均,按所有采样的总token数归一化,让长、短回答的 token权重公平。

改进四:软惩罚机制(SoftPunishment)

  • DAPO的第四项改进围绕奖励机制设计,引入软惩罚策略治理回答过长问题,该机制通过双阀值分级约束实现精准调控:
    • 线性惩罚阶段:当回答长度超过第一个预设阈值时,惩罚随token数量线性增长
    • 完全抵消阶段:若长度突破第二个阈值,则取消奖励,这个回答就会被视为无效
  • 两个阶段的惩罚均以逐token的方式作用于奖励上,从梯度层面约束长回答的生成倾向。

改进五:移除KL散度

  • KL散度的目标是避免模型行为与初始模型偏离过远,KL惩罚项可以调节模型与冻结参考策略之间的发散程度。
  • 但在长文本推理模型中,实验发现模型分布可能会显著偏离初始模型,因此KL散度不再必要。
  • \(\begin{split}\mathcal{J}_{\text{DAPO}}(\theta)=\\ \mathbb{E}_{(q,a)\sim\mathcal{D}, \{o_{i}\}_{i=1}^{G}\sim\pi_{ \theta_{\text{old}}}(\cdot|q)}&\left[\frac{1}{\sum_{i=1}^{G}|o_{ i}|}\sum_{i=1}^{G}\sum_{l=1}^{|o_{i}|}\min\left(r_{i,t}(\theta)\hat{A}_{i,t}, \text{clip}\left(r_{i,t}(\theta), 1-\epsilon_{\text{low}}, 1+\epsilon_{\text {high}}\right)\hat{A}_{i,t}\right)\right]\\ &\qquad\text{s.t.} 0<\big|\big\{o_{i}\mid\text{is\_equivalent}(a, o_{i})\big\}\big|<G\end{split}\)
  • 我们可以从损失函数中看到DAPO移除了KL项。

改进六:在编程/数据问题中采用规则奖励

  • Reward hacking指训l练出来的策略模型(policy model)通过利用奖励模型(reward model)的漏洞,获取高奖励,但产生的行为不是是我们期望的。
  • 奖励模型的使用通常会受到reward hacking问题的困扰。DAPO就不用模型来判断是否给予奖励,直接设置奖励机制判断答案是否正确来得到奖励,通过以下规则计算:
  • \(R(\hat{y}, y) = \begin{cases}1, & \text{is\_equivalent}(\hat{y}, y) \\-1, & \text{otherwise}\end{cases}\)
  • 其中 \(y\) 是真实答案,\(\widehat{y}\) 是预测答案。这种方法在定理证明、编程和数学问题等多个领域均得到了验证,可以更好的激活模型推理能力。

GSPO

PPO/GRPO/DAPO是在token级别进行优化

  • 在实际中我们通常用回复的完整内容来评价模型,但PPO与GRPO却用逐词的方法来训练。
  • PPO和GRPO是对模型输出的token逐个优化,这种做法的本意是更精细的优化,但论文指出在大模型长文本的场景下,就容易引入噪声和奖励偏差,导致模型训练迷失方向。
  • GSPO的核心思路就是把奖励和优化目标重新对齐,从给每个token打分,改为直接对整个句子打分。
  • 这种切换带来的好处具体为:
    • 一是更稳定:GSPO直接对整句进行训练,减少了词级波动带来的训练噪声。
    • 二是更高效:GSPO根据句子的分筛选样本,仅保留高质量纯净的样本参与优化,让模型更快收敛,效果更好。

GRPO在MoE上难以收敛

  • 由于MoE每次推理只激活少数几个专家模块,虽然效率更高,但新旧策略的Router可能发生变化,导致新旧策略激活了不同的专家。
    • 比如:在l旧策略下,Router激活了【专家A】和【专家c】
    • 在新策略下,Router激活了【专家B】和【专家D】
  • 模型更新后,实际参与计算的专家组合可能完全不同,导致两个概率的生成基础存在结构差异,重要性比率失真急剧上升,所以Clip会被频繁地触发,导致梯度也严重失真。
  • 当高方差噪声渗入训练梯度后,还会模型不可逆崩溃,即使回退到历史检查点、调整裁剪范围或者修改生成长度后也无法恢复训练稳定性。
  • 理想的重要性比率本应仅反映同一模型结构下参数变化带来的输出差异,但此时的比率还混入了不同专家组合的影响,就会带来高方差导致训练崩溃。
  • 为了在训练时复现这种推理路径,传统算法往往需要引入Routing Replay 的机制:即把推理时的专家模块调用记录下来,再还原到训练中使用,以保证前后一致。
    • 这种做法虽然有效,但大大增加了工程成本,还制约了模型性能。

分组序列策略优化GSPO的损失函数

  • 基于上述单token策略存在的问题,通义千问提出分组序列策略优化(GSPO),GSPO采用如下序列级优化目标:
    • \(\mathcal{J}_{\text{GSPO}}(\theta)=\mathbb{E}_{x\sim\mathcal{D}, \{y_{\text{i} }\}_{\text{i-1}}^{G}\sim\pi_{\text{f}_{\text{old}}}(\cdot|x)}\left[\frac{1}{G} \sum_{i=1}^{G}\min\left(s_{i}(\theta)\hat{A}_{i}, \text{clip}(s_{i}(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_{i}\right)\right]\)
  • GSPO采用基于分组的优势估计:\(\widehat{A}_{i}= \frac{r \left( x,y_{i} \right)-mean \left( \left \{ r \left( x,y_{i} \right) \right \}_{i=1}^{G} \right)}{std \left( \left \{ r \left( x,y_{i} \right) \right \}_{i=1}^{G} \right)}\)
  • 并基于一句完整的话来定义重要性权重:\(s_{i}(\theta)=\left(\frac{\pi_{\theta}(y_{i}\mid x)}{\pi_{\theta_{\text{old}}} (y_{i}\mid x)}\right)^{\frac{1}{|y_{i}|}}=\exp\left(\frac{1}{|y_{i}|}\sum_{t=1 }^{|y_{i}|}\log\frac{\pi_{\theta}(y_{i,t}\mid x,y_{i:<t})}{\pi_{\theta_{\text {old}}}(y_{i,t}\mid x,y_{i:<t})}\right)\)
  • 可以看到GSPO 是对整句话而非单个词进行裁剪,这既符合序列级奖励机制,也与优化目标一致。同时在 \(s_{i}(\theta)\) 中引入长度归一化以降低方差并将 \(s_{i}(\theta)\) 约束在统一数值范围,且不同长度响应的重要性比率需适配不同裁剪范围。
  • 二者的区别主要在于,如何给tokens 的似然的梯度赋予权重。GRPO针对每个 token进行重要性采样,而此公式 \(\frac{ \pi_{ \theta} \left( y_{i,t}|x,y_{i:<t} \right)}{ \pi_{ \theta_{old}} \left( y_{i,t}|x,y_{i:<t} \right)}\) 所修正的分布对每个token不一致,用同一标准裁剪也不合理。GSPO升级为对tokens赋予sequence 级别重要性采样权重。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/951272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JBoltAI:让企业级Java应用快速进入AI时代

JBoltAI:让企业级Java应用快速进入AI时代“董事会一句话:‘让AI真正落地到业务里。’ IT负责人李伟盯着满屏的Java代码,心里却在想:我的团队该从哪里开始?”“董事会一句话:‘让AI真正落地到业务里。’ IT负责人…

2025年10月黄褐斑改善产品推荐榜:五款热门单品横向对比排行

黄褐斑常被称作“斑中之王”,一旦形成便与激素波动、紫外线记忆、屏障受损纠缠不清,2025年10月正值秋季紫外线强度回落,是全年修护色素沉着的黄金窗口。国家药监局《化妆品监督管理常见问题解答(五)》指出,宣称“…

2025年10月黄褐斑改善产品口碑榜:五款温和淡斑单品排名一览

站在镜子前,你或许正为两颊那片对称的淡褐色斑块发愁:遮瑕膏越抹越厚,粉底色号越换越黄,激光预算被一次次延期,而色斑却在换季、熬夜、情绪起伏后悄然加深。黄褐斑的成因像一张多节点网络——紫外线刺激、激素波动…

当AI遇上Java团队:一个IT负责人的真实困境

当AI遇上Java团队:一个IT负责人的真实困境AI的价值不在于炫技,而在于真正推动业务增长和创新。李伟是一家大型制造企业的IT负责人。过去几年,他的团队一直在推动数字化转型:ERP、MES、CRM,一个个系统上线,业务流…

读AI赋能13读后总结与感想兼导读

读AI赋能13读后总结与感想兼导读1. 基本信息 AI赋能​[美]里德霍夫曼 [美]格雷格贝亚托 著浙江教育出版社,2025年05月出版1.1. 读薄率 书籍总字数18.5万字,笔记总字数36793字。 读薄率36793185000≈19.89% 1.2. 读厚方…

SM45640_SaveTJ保存并提交

using Salien.Utility; using Salien.Utility.SUWF; using Salien.Utility.WebControls; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Web.UI.WebContro…

上证指数多日预测结果

=== 上证指数多日预测结果 === 生成时间: 2025-10-31 06:17:10 === 上证指数多日预测结果 === 数据截止日期: 2025-10-30 当前收盘价: 3986.9008 未来1日预测: Prophet-XGBoost: 下跌 (上涨概率: 0.4948) 随机森林: 下…

上证指数前瞻:未来5日多空解析

$上证指数(SH000001)$ 【数据更新】 📅 截止日期:2025-10-30 📊 当前收盘:3986.90 【模型预测明细】 🎯 1日展望: P-XGB:看跌 ↘(涨率46%) 随机森林:看跌 ↘(涨率48%) LSTM:看涨 ↗(涨率55%) 综合研…

【上证指数AI前瞻:未来5日多空密码解析】

【上证指数AI前瞻:未来5日多空密码解析】📊 当前锚点:3986.90点(截至10月30日),三大AI模型今日给出未来一周走势图谱,呈现"跌-涨-涨-涨-跌"的N型波动特征。 🔥 核心预测矩阵周期 三大模型观点 一致…

八字算卦股市分析报告

```html八字算卦股市分析报告body { font-family: "Microsoft YaHei", sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-width: 900px; margin: 0 auto; padding: 20px; background-color: …

如何在舍友大叫开黑的情况下给麦克风降噪

如何在舍友大叫开黑的情况下给麦克风降噪如何使用 Win 10 或 Win 11 的各种电脑软件来对身处 4 人开黑热闹宿舍里的麦克风实施降噪行动,使其满足你直播或打语音电话的需求?你可以参考一下这篇文章。本文章适用于 Win…

Spring ehcache

Spring ehcache1、ehcache.xml<?xml version="1.0" encoding="UTF-8"?><ehcache dynamicConfig="false" monitoring="off" updateCheck="false" …

【CI130x 离在线】音频的原始码率和输出码率的区别

案例:mp3是16k采样率,16bit深度的,那么码率不应该是32kBps吗,为什么可以选16kbps 这是一个非常好的问题,它触及了数字音频编码的核心概念:原始数据量和压缩编码之间的区别。 你的计算完全正确,但只适用于未经压…

解决Kensington VeriMark系列指纹识别器提示指纹达到10个上限

问题症状 重装系统后设置Windows Hello时提示你已达到10个指纹限制。 解决方法 下载驱动与软件 下载对应VeriMark系列的软件,这里以VeriMark Desktop为例子。 https://www.kensington.com/software/verimark-setup/ve…

舍友大叫开黑的情况下给麦克风降噪

舍友大叫开黑的情况下给麦克风降噪速度博客园原文链接:https://www.cnblogs.com/QiFande/p/19178498,转载请注明。如果你对本篇文章感兴趣,不如来看看肉丁土豆表的其他文章,说不定也有你喜欢的。

Vue2随笔-251030

指令修饰符@click.stop 禁止子点击事件冒泡调用父标签事件。 @click.prevent 禁止标签默认行为。 @model.trim(number) 去除首尾空格,转为数字类型。 v-model默认值 与select标签绑定,默认值必须在option中存在。计算…

qw-110-

import org.apache.poi.ss.usermodel.Workbook;import org.springframework.core.io.buffer.DataBuffer;import org.springframework.core.io.buffer.DataBufferUtils;import org.springframework.http.MediaType;impo…

qw-33

import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; import reactor.nett…

qw-12

import org.springframework.core.io.ByteArrayResource;import org.springframework.core.io.buffer.DataBuffer;import org.springframework.core.io.buffer.DataBufferUtils;import org.springframework.http.Media…