网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

大模型后训练学习DPO与GRPO,哪种方法更有效?🤔

GG网络技术分享 2026-04-15 15:54 3


DPO与GRPO专题学习

乱弹琴。 训练循环就和普通 supervised 差不多:

人工标注 / 高质量指令数据

代码语言:python

然后给一个标量分数:

对于一个 triple (同一个 prompt 的好坏回答对), 翻车了。 DPO 的 loss 类似于:

整一个... 和 PPO 很像,只是 没有 value 网络每次更新前记得拷一份旧策略:

抓到重点了。 所以工业界基本都会先对预训练模型进行SFT监督微调,让它先变成一个“懂指令的 ChatBot”**。

SFT: 让模型学会“按指令说话”

.的指令-回复数据,让模型学习:."学会按指令答题" 挽救一下。 SFT只能让模型模仿标注者写的好答案,有两个天然限制:

  • 标注者水平有限
  • 标注者无法覆盖所有情况

RLHF: 让模型学会“听话 + 懂规矩”

特性 PPO DPO GRPO
是否需要奖励模型 ✅ 需要单独训练 ❌ 不需要 ❌ 不需要 训练
训练阶段 3阶段 2阶段 2阶段
算法类型 强化学习 监督学习 强化学习
需要的模型 4个 2个,学会给作文打分 步骤3:你不断写作文,评分机器人打分,你根据分数高低调整写作策略 特点:有明确的 评分...

import torchimport as nnimport as Fdef sequencelogprob: """ 计算模型对完整序列的 log π logits:  labels: , 非预测位置 = -100 返回: ,每条样本的 logprob 之和 """ logprobs = _softmax #  # 只在 labels != -100 的位置取 logprob mask =  #  # gar: 取出每个 token 的 logprob tokenlogprobs = ).squeeze #  tokenlogprobs = tokenlogprobs * mask #  seqlogprob = token #  return seq_logprob

DPO: 直接优化偏好!

GRPO:显存占用降低的大招!

为什么 GRPO 要分组采样?

GRPO 的核心改进点

  • 组采样降低显存占用
  • 信号浪费问题

GRPO的代码实现

optimizer = , lr=1e-6)cfg = GRPOConfigfor epoch in range: for batch in promptdataloader: prompts = batch.cuda # # 1. 冻结一份 oldpolicy old) old # 2. 单步 GRPO 更新 loss, info = grpostep _grad # 3. 打一点日志 print:.4f} " f"R={info:.3f} " f"|A|={info:.3f} " f"KL={info:.4f}"),被割韭菜了。

谁更胜一筹?

一些杂七杂八的想法

推倒重来。 这些改进解决了GRPO训练中信号浪费、 梯度稀释等问题,显著提升了大模型训练效率与稳定性。.但苦于知识传播途径有限, 很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播....

本文详细介绍了DPO之后大模型训练算法的发展路线,包括GRPO、DAPO、GSPO和SAPO四种算法.#算法#人工智能#机器学习#transformer#prompt#语言模型#深度学习ߎ�音乐流派分类 Web 应用 ccmusic-database/music\_genre一键部署。

标签: GRPO DPO SFT

提交需求或反馈

Demand feedback