当前位置: 首页 > article >正文

DeepSeek-R1 面试 -—— GRPO

DeepSeek训练中应用的GRPO算法,它源自于强化学习领域的PPO算法。GRPO与PPO算法之间存在哪些差异?这两种算法各自的优劣何在?为何DeepSeek选择采用GRPO算法而非PPO算法?本文将对这些问题提供解答。

一、PPO算法

PPO(Proximal Policy Optimization)算法,是OpenAI在2017年公开的算法。PPO 的思路:Actor + Critic + Clip + KL 惩罚。

Actor :

强化学习需要一个参考线(baseline),来促进学习效率。类似图片分类,类别A训练的好能达到80分,类别B训练的不到位30分,假设baseline设为60分,A学到80分则奖励,B学到30分则惩罚,谁学的分多,谁就奖励的多。一开始听上去没毛病,但结果就有两个问题:

1. 不公平:如果类别B从 30 分进步到 60 分,付出了非常大的代价,却依然比不过类别A随便能达到80分, B得不到有效奖励,无法促进B进步。

2. 不稳定:类别A能达到80分,总能获得奖励,会导致类别A总能获得奖励,进而发生过拟合。对训练集能得到高奖励,对测试数据会变成惩罚,导致奖励信号也忽上忽下。

这样一来,只拿绝对分数当作 Reward,类别A容易过拟合,类别B得不到应有的奖励,训练轮数多了,B就没动力进步了。

Critic:

针对上面的问题,“不能光看绝对分,而要看看每个类别在自己水平线之上进步多少才是关键。”Critic用”预期分数“来改善奖励机制。

critic动态设置预期分数,对类别A将baseline设置为85分,对类别B将baseline设置为40分。每个类别实际 Reward 超过了 Critic 的预期分数,就会得到奖励;低于预期分数,就会得到惩罚。critic不断动态调整预期分数,就将类别A和类别B都激励的得分更高。

Clip

设置一个最大、最小的步伐,在优化过程中每次进步不能太大,退步也不能太大。防止个别奇点数据对训练造成坏影响。

KL 惩罚

防止极端训练情况出现的一个附加约束,新的状态不能和这个初始策略差太远,否则就要受到惩罚。防止Actor 为了短期 Reward 而脱离原本的合理范围,保证模型在进化过程中不会偏得太离谱。

二、GRPO算法

Group Relative Policy Optimization(GRPO:用”历史多次预测值的平均值“代替baseline。

其核心要点包括:

不需“学习”一个独立的价值网络作为 Critic;

而是针对同一问题、同一状态,先利用旧策略进行多次输出采样,然后将这些输出的平均 Reward 作为基准(baseline);

高于平均值的 Reward 表示“正向 Advantage”,而低于平均值则表示“负向 Advantage”。

三、PPO和GRPO的区别

四、面试题:

算法核心机制


1. GRPO中Clip方法和KL Penalty的作用与区别是什么?
Clip方法:通过截取新旧策略的重要性采样比率(如限制比率在1−ε,1+ε范围内),直接限制策略更新的幅度,防止单一样本的过度优化导致策略突变。
KL Penalty:在目标函数中加入新旧策略之间的KL散度惩罚项,间接约束策略变化幅度,自适应调整惩罚强度以平衡探索与稳定性。
区别:Clip通过“硬约束”直接限制更新范围,实现简单;KL Penalty通过动态调整惩罚系数实现“软约束”,更适合复杂任务但对计算资源要求更高。


2. GRPO为何同时使用Clip和KL Penalty?有何优劣势?
优势:双重约束显著提升训练稳定性,尤其适用于大模型训练中的策略收敛问题。
劣势:实现复杂度增加(需同时计算截取比率和KL散度),且资源消耗更高(如显存占用)。


3. GRPO与PPO的核心差异是什么?
优势估计方式:
       PPO依赖Critic网络(价值模型)计算广义优势估计(GAE)。
       GRPO通过组内样本奖励的标准化计算相对优势(如组内均值方差归一化),无需Critic网络。
资源效率:GRPO节省了Critic网络的计算和显存开销,更适合大规模模型训练。


4. GRPO相比PPO的优劣势是什么?
优势:
       资源节约:去除Critic网络降低显存占用,提升训练速度。
       过程奖励利用:组内对比能更灵活捕捉过程奖励信号(如中间步骤的格式正确性)。
劣势:
       依赖样本质量:若组内样本多样性不足或质量差(如全错误答案),标准化后的优势估计失效。
       探索能力受限:Clip的固定阈值可能限制策略的探索空间。


5.为何DeepSeek选择GRPO而非PPO?
规则化奖励场景适配:DeepSeek训练中多使用基于规则的奖励(如数学答案准确性、输出格式规范),无需复杂Critic模型,GRPO的组内相对优势计算更高效。
资源优化需求:去除Critic网络后,GRPO在千亿参数模型训练中显存占用减少约30%,加速迭代效率。


6.GRPO的适用场景与局限性?
适用场景
       显存资源受限的大模型训练
       奖励规则明确、无需复杂价值估计的任务(如数学解题、格式校验)。
局限性:
      组内样本需保证多样性(如不同难度、正负样本混合),否则优势估计失真。
      动态任务中需频繁调整组大小(如N值),增加调参成本。


7. GRPO的组大小(N)如何影响训练效果?
小N(如N=16):优势估计波动大,但对显存友好,适合简单任务。
大N(如N=124):估计更稳定,但需更高并行计算能力,适合复杂长序列任务。


8.如何缓解GRPO的样本质量依赖问题?
数据预处理:对组内样本进行多样性筛选(如聚类去重)。
混合训练:结合Critic网络的稀疏调用,周期性校准优势估计。


http://www.kler.cn/a/586774.html

相关文章:

  • Spark 中explode用法
  • Android Dagger 2 框架的注解模块源码分析(一)
  • 【Linux】进程(1)进程概念和进程状态
  • 网络运维学习笔记(DeepSeek优化版) 016 HCIA-Datacom综合实验01
  • Go桌面端口开发方案
  • 操作系统-八股
  • Qt运行xxx.so can not open shared object file
  • C语言学习笔记:变量作用域、数组与字符串处理
  • 网页制作13-Javascipt时间特效の显示动态时间
  • 深入理解 Xtensa 架构 ESP32 内存架构(SRAM、IRAM、IROM、DRAM、DROM详解)
  • Linux 终端快捷键 / 键盘快捷键
  • 【c语言数组精选代码题】
  • 【机器学习】机器学习工程实战
  • 【R语言】pmax和pmin函数的用法详解
  • 2025-3-14 leetcode刷题情况(贪心算法)
  • 开发、科研、日常办公工具汇总(自用,持续更新)
  • MATLAB中events函数用法
  • Linux系统之美:进程初识
  • 蓝桥杯 阶乘求值【省模拟赛】
  • 谷歌Chrome或微软Edge浏览器修改网页任意内容