【腾讯二面】GRPO算法详解与PPO对比,收藏这篇就够了!
本文详细解析了大模型面试中常见的GRPO与PPO算法比较问题。文章首先介绍了PPO算法的原理,然后重点分析了DeepSeek的GRPO算法创新点:通过组内相对奖励替代critic模型,提高训练效率并节约资源。GRPO在组内建立竞争机制促进学习,特别适合数学和代码等推理任务。同时文章也指出了GRPO的局限性及后续改进方向,为求职者提供了全面的算法知识解析。
本文详细解析了大模型面试中常见的GRPO与PPO算法比较问题。文章首先介绍了PPO算法的原理,然后重点分析了DeepSeek的GRPO算法创新点:通过组内相对奖励替代critic模型,提高训练效率并节约资源。GRPO在组内建立竞争机制促进学习,特别适合数学和代码等推理任务。同时文章也指出了GRPO的局限性及后续改进方向,为求职者提供了全面的算法知识解析。
DeepSeek-R1 的 GRPO 算法相比 PPO 好在哪里?直接用 PPO 可以吗?这是我的学员在今年秋招大模型面试中遇到的一个问题。
这篇文章,我们就从这个面试题展开,详细聊聊 Deepseek 中的强化学习算法 GRPO,如果你在面试现场被问到相关题目,应该如何作答?
一、面试官心理分析
首先老规矩,我们还是来分析一下面试官的心理,面试官问这个问题呢,其实主要是想考察这么几个点:
- 第一,你对经典的 RLHF 阶段的 PPO 算法了不了解,这个当然是回答这道题目的前提条件了。
- 第二,deepseek 的 RL 阶段是怎么做的?能否从公式层面分析一下它们的差异点?
- 第三,它为什么要这么设计,有什么优势?
好,那接下来我们就沿着面试官的心理预期,来分析一下这道题目!
二、面试题解析
首先看一下,经典的 PPO 算法是怎么做的?
看这张图,我们知道,在 RLHF-PPO 阶段,一共有四个主要模型,分别是:
- Actor Model,想要训练的目标语言模型。
- Critic Model,用来预估t时刻的未来期望总收益 Vt。
- Reward Model,也就是奖励模型,用来计算即时收益 Rt。
- Reference Model:参考模型,在 RLHF 阶段,给语言模型增加一些“约束”,防止模型训歪。
PPO 具体实现有很多变种,我们这里讲其中一种,用公式展开如下:
这里公式第一项,是 PPO 的优化目标,说白了,就是根据重要性比值的截断去约束。
第二项是一个惩罚项,约束当前更新的模型不要偏离原始语言模型太远,防止语言模型跑偏。
OK,知道了经典的 PPO,我们再来看看 DeepSeek 的 GRPO 是怎么做的,在哪些地方做了改进?
其实 GRPO 最大的不同点,就是这里的优势函数计算不一样,也就是公式中的红框部分。
那所谓的优势又是指的什么呢?这里我们通过吃鸡这个游戏,来举个例子。
假设在和平精英中,你想从 G 镇转移到 P 城,这时你有两种选择:
- 走空旷的麦田。
- 走沿途有房区的公路。
现在你选择走房区公路,当做出这个决定后,Critic 模型告诉你预计可能会遇到一个敌人。
结果此刻沿途房区的敌人刚好都在互相交战,你不仅安全通过,还顺手收集了两个敌人掉落的高级物资,收益远超预期。
因为实际收益比预期要多,你尝到了甜头,所以增大了“转移时优先选择房区路线”的概率。这个多出来的“甜头”,就叫做“优势”。
原始的 PPO 计算优势如下:
这在强化学习中也叫广义优势估计 GAE。
其中,V 是 critic 模型估计出来的,新引入的 gamma 是一个常量,可将其理解为权衡因子,它控制了在计算当前优势时与未来优势的考量,从强化学习的角度上,它控制了优势估计的方差和偏差。
再来看 GRPO,与 PPO 依赖 critic 模型来引导学习不同,GRPO 直接去掉了 critic 模型!
它的做法是:采样一组输出,通过组内相对奖励来估计基线,从而来优化模型。
我们看这张图:
GRPO 通过对一个 prompt 输入要优化的策略模型,采样多个 response,然后根据 reward 模型来计算即时的 reward,最后归一化得到当前 prompt 的优势。
我们看公式:
其中 GRPO 的奖励类型有三种:
- 一个是答案是否准确,例如,解答数学题。
- 第二个是格式是否正确,例如,推理过程需要包含在标签中。
- 还有语言一致性奖励,惩罚语言混杂或格式不一致。
来看一个例子,假设查询是“3 * 5 的乘积是多少?”
此时模型会针对该查询生成这样的一组 4 个响应:
- o1:“答案是 15。”
- o2:“十伍。”
- o3:“是 15。”
- o4:“积是 15。”
对应得到的奖励可能就是这个样子:
- r1 = 1.0(正确且格式良好)
- r2 = 0.8(正确但较不正式)
- r3 = 0.0(错误答案)
- r4 = 1.0(正确且格式良好)
GRPO 这样设计有什么好处呢?几点:首先去掉了 critic 模型,提高了训练效率,而且节约了显存和计算资源,这在训练超大模型时是非常有用的,毕竟卡不便宜。
另外,在组内建立竞争机制来促进学习,想象一下你正在教一群学生解决一道数学题。
你肯定不会直接告诉他们谁答对了谁答错了,而是比较所有学生的答案,找出谁答得最好(以及原因)。
然后通过奖励和惩罚让差生向好学生学习,并不断优化。这种方式也使得 GRPO 在解决推理任务中表现尤为出色,特别是数学和代码任务,这点我们从开放出来的 benchmark 也可以看出。
但是 GRPO 绝对奖励评估方式难以适应各种复杂任务,比如对 token 级,cot 级细粒度评分,比如我做应用题,改试卷的时候,除了答案能给分以外,有过程也可以给分。
因此这种方法不适合在所有推理领域中进行推广,所以后续也有很多改进工作出现,例如 DAPO,VAPO,GSPO 等等,这些我们也会在后面的分享中逐一讲解,敬请期待。
以上对这道面试问题的分析和拆解。这里是丁师兄大模型,持续分享大模型面试干货,大家秋招加油。
AI大模型学习和面试资源
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)