面试题:为什么 GRPO 容易出现 reward 崩塌?
✴️算法面试中遇到一道实战场景题:在大模型训练中使用GRPO,训到一半 reward 就很容易突然掉下来的原因?
GRPO 出现这个问题,需要详细了解强化学习(RL)的基本迭代架构,即 Actor-Critic 架构。知行互动(AC)架构为什么要有 Critic 呢?这就涉及强化学习的算法稳定性问题。与监督学习(SL)相比,RL 实际上是很难稳定的一类训练机制。
💣大致的原因如下:
RL 本身是处理动态系统的最优控制问题,而 SL 是处理一个静态优化问题。动,就比静更难处理。
加上 RL 的数据非稳态,Env-agent 交互机制的数据采集量少,这使得梯度计算的方差更大,方差一大就容易偏离预期目标,算法就容易跑飞了。
主流的强化学习算法是怎么解决这一问题的呢?加上 Critic,使用 State-value function 或者 Action-value function 稳定策略梯度的计算过程。
更高级一些的算法是采用 Advantage Function,也就是加上了 Baseline,增加梯度计算的稳定性。这是 AC 算法总是优于 REINFORCE 算法的原因之一。
✅然而 GRPO 并没有 Critic 部分,原因比较简单,因为 GRPO 是用于训练大模型(1000 亿级别的参数规模),若是使用“知行互动”架构的话,等于需要存储两个大模型。
Critic Network和 Actor Network,对存储要求极高。
怎么节约存储呢?把 Critic Network 去掉,替换为在线估计 Advantage function 的算法,采用了“时间(算力)”换“空间(存储)”的做法。这就是 GRPO 的设计思想。
与之对比,OpenAI 提出的 PPO 算法(也是 GRPO 的基础算法),它的值函数通常是一个与策略模型大小相当的模型,这带来了显著的内存和计算负担。
考虑到 OpenAI 并不缺算力资源,不缺存储资源,即使 PPO 算法设计的如此糟糕,照样用的风生水起。
🤳回到最初的话题,从原理上看 GRPO 并非完美,与 PPO 相比实际上处于是半斤八两的水平,算法设计存在“稳定性”缺陷,但是为什么 DeepSeek 还能用的比较好呢?
因为 DeepSeek 的数据足够多,多到可以“完美”地避开 GRPO 的稳定性缺陷。
每次的 Policy Gradient 计算,只要 Batch 数据足够多,就能有效降低 Policy Gradient 的方差,就能获得比较稳定的迭代。当每次使用的数据批量比较小的时候,它的稳定性缺陷将是致命的。
这类规模的策略训练,建议优先选择带有 Critic 的强化学习算法。
🌟如果大家想了解高质量的项目辅导以及提升面试能力,欢迎后台咨询。
#简历中的项目经历要怎么写# #算法岗面试# #大模型# #互联网大厂招聘#
GRPO 出现这个问题,需要详细了解强化学习(RL)的基本迭代架构,即 Actor-Critic 架构。知行互动(AC)架构为什么要有 Critic 呢?这就涉及强化学习的算法稳定性问题。与监督学习(SL)相比,RL 实际上是很难稳定的一类训练机制。
💣大致的原因如下:
RL 本身是处理动态系统的最优控制问题,而 SL 是处理一个静态优化问题。动,就比静更难处理。
加上 RL 的数据非稳态,Env-agent 交互机制的数据采集量少,这使得梯度计算的方差更大,方差一大就容易偏离预期目标,算法就容易跑飞了。
主流的强化学习算法是怎么解决这一问题的呢?加上 Critic,使用 State-value function 或者 Action-value function 稳定策略梯度的计算过程。
更高级一些的算法是采用 Advantage Function,也就是加上了 Baseline,增加梯度计算的稳定性。这是 AC 算法总是优于 REINFORCE 算法的原因之一。
✅然而 GRPO 并没有 Critic 部分,原因比较简单,因为 GRPO 是用于训练大模型(1000 亿级别的参数规模),若是使用“知行互动”架构的话,等于需要存储两个大模型。
Critic Network和 Actor Network,对存储要求极高。
怎么节约存储呢?把 Critic Network 去掉,替换为在线估计 Advantage function 的算法,采用了“时间(算力)”换“空间(存储)”的做法。这就是 GRPO 的设计思想。
与之对比,OpenAI 提出的 PPO 算法(也是 GRPO 的基础算法),它的值函数通常是一个与策略模型大小相当的模型,这带来了显著的内存和计算负担。
考虑到 OpenAI 并不缺算力资源,不缺存储资源,即使 PPO 算法设计的如此糟糕,照样用的风生水起。
🤳回到最初的话题,从原理上看 GRPO 并非完美,与 PPO 相比实际上处于是半斤八两的水平,算法设计存在“稳定性”缺陷,但是为什么 DeepSeek 还能用的比较好呢?
因为 DeepSeek 的数据足够多,多到可以“完美”地避开 GRPO 的稳定性缺陷。
每次的 Policy Gradient 计算,只要 Batch 数据足够多,就能有效降低 Policy Gradient 的方差,就能获得比较稳定的迭代。当每次使用的数据批量比较小的时候,它的稳定性缺陷将是致命的。
这类规模的策略训练,建议优先选择带有 Critic 的强化学习算法。
🌟如果大家想了解高质量的项目辅导以及提升面试能力,欢迎后台咨询。
#简历中的项目经历要怎么写# #算法岗面试# #大模型# #互联网大厂招聘#
全部评论
相关推荐
点赞 评论 收藏
分享
04-25 14:10
东北大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享