近期在DeepSeek最新开源的推理大模型DeepSeek-R1中,强化学习(RL)GRPO(Group Relative Policy Optimization,组相对策略优化)算法是其关键技术之一。清华大学智能驾驶课题组(iDLab)将从算法原理与实际应用两个维度,对其进行深度解读。GRPO以及DeepSeek-R1的论文如下,感兴趣的读者可以先行阅读:

GRPO论文:https://arxiv.org/abs/2402.03300

DeepSeek-R1论文:https://arxiv.org/abs/2501.12948

  1. 主流RL算法回顾

为更好理解GRPO带来的改进,我们先简单回顾一下此前的主流RL算法,包括GRPO的前身PPO(Proximal Policy Optimization)算法,以及当下在具身智能领域中表现最好的DSAC-T(Distributional Soft Actor-Critic with Three Refinements)。这些算法在设计之初是面向相对较小的模型(例如1B以下的模型),并用于自动驾驶、机器人、游戏等任务,采用Actor-Critic架构,通过价值函数模型为策略改进提供依据。

例如在PPO中,算法需要计算优势函数,用于衡量在状态下选择动作相对于平均情况的优势,即

其中是状态价值函数,代表在当前状态和策略下未来回报的期望值。

算法细节不在这展开,可以参考《Reinforcement Learning for Sequential Decision and Optimal Control》(以下简称RLBook)一书的10.4.5小节。

DSAC-T则使用了状态-动作价值函数,代表在状态下采取动作后未来回报的期望值。并且DSAC-T进一步将其扩展为了分布式值函数,输出价值估计的均值和方差,通过对值分布的建模,有效缓解了过估计问题。在基准测试环境中,DSAC-T算法以50%以上的优势领先于OpenAI的PPO和Deepmind的DDPG等算法。

DSAC-T和其它基线算法在不同基准任务上的训练曲线

总的来说,主流RL通过引入价值模型,可以更准确地判断每个动作的优劣,从而改进策略。价值函数估计的准确性直接决定了策略的好坏。在大多数任务中,我们能给出较合理的过程奖励设定,这时价值函数可以快速收敛。而对于部分只具有结果奖励的任务,例如围棋,则可以通过大量的样本采集和模型更新,获得一个较准确的价值模型。因此在这些任务上使用RL时,引入价值模型可以大幅提升算法性能表现。然而,对于大语言模型,不仅过程奖励难以合理定义,其巨大的参数规模使得大量采样更新不可行。面对这一考量,GRPO放弃使用价值函数模型,直接优化策略。具体是如何做到的呢?接下来我们将详细分析。

  1. GRPO算法原理

GRPO可以视作PPO(Proximal Policy Optimization)算法在大语言模型领域的改进版本,GRPO优势函数计算不需要使用价值模型,而是用当前策略对同一问题多次生成回答,并以这些回答的平均奖励估计基线,计算相对奖励和优势。这减少训练资源消耗,并避免价值估计不准的问题。

PPO与GRPO算法流程

GRPO的优势函数计算有两个版本,分别对应结果监督和过程监督两种奖励方式,结果监督只在每个回答结束时提供奖励,而过程监督在每个推理步骤结束时提供奖励。DeepSeek-R1-Zero训练采用的是结果监督,因此简单起见,我们也仅介绍结果监督下的GRPO优势函数计算方法。

对于每个问题GRPO使用policy model采样生成一批回答,文中回答数量G=64。结果监督下的GRPO优势函数计算方法如下:

其中i代表第i个回答,并且在一个回答中每个token对应的优势值相同。读者可以在RLBook的7.3.2.1小节了解REINFORCE算法具体原理。

与PPO的优化目标类似,GRPO的优化目标函数可以写为:

其中,代表每个回答的长度,代表解码词元的策略概率。是当前训练过程中的旧策略,随训练迭代更新。对新旧策略概率比例进行clip操作是防止策略更新步长过大,保证策略优化的稳定性和有效性,详细原理可以参考RLBook的10.4.4和10.4.5小节。是固定不变的策略(eg. SFT模型),KL散度项用于防止优化后的策略过度偏离初始策略,进而导致模型在其它方面上的能力退化。直观而言,GRPO让新策略在旧策略的信任域内根据优势函数进行逐步优化,提升“正确回答”出现的概率,从而不断提升推理能力。

  1. GRPO算法应用:DeepSeek-R1

在大语言模型的研究中,一个有意思的现象是,在DeepSeek-R1模型发布之前,大部分研究倾向于认为使用过程奖励模型(PRM)要优于使用结果奖励(也被称为规则奖励,rule-based reward,仅通过规则评判回答的正确性并给出奖励)。这一观点在 DeepSeek 提出 GRPO 的论文中有所体现,OpenAI所公开的研究成果也持类似看法。然而,DeepSeek-R1 的出现打破了常规认知。它证明了仅使用rule-based reward就能在推理任务中取得令人瞩目的成果。

OpenAI 《Let’s Verify Step by Step》:https://arxiv.org/abs/2305.20050

规则奖励设计

DeepSeek-R1-Zero在训练过程中主要使用以下两种的rule-based reward:

1. 准确性奖励:这一奖励模型专注于评估模型的响应是否正确。以数学问题为例,若问题有确定性的答案,模型必须按照指定格式(比如将答案写在特定的框内)给出最终结果,这样就能依据预设的规则可靠地验证答案的正确性。同样,在面对 LeetCode 编程问题时,会借助编译器依据预先设定的测试用例生成反馈,以此判断模型给出的代码是否正确。

2. 格式奖励:除了准确性奖励,DeepSeek-R1 还引入了格式奖励模型。该模型要求模型将思考过程严格置于‘’和‘’标签之间。

仅仅通过这两项rule-based reward,并结合GRPO算法,DeepSeek-R1-Zero的推理能力就能获得不断提升。

训练过程中DeepSeek-R1-Zero在2024年美国数学邀请赛试题上的准确性。

需要特别指出的是,在 DeepSeek-R1 的技术报告中提到,对于参数较小的模型而言,采用强化学习的效果不如蒸馏。这一现象很可能与基座模型 DeepSeek-V3 的强大性能有着直接关联。我们可以通过这样一个直观的例子来理解:在 GRPO 算法运行过程中,假设存在一批回答全部是错误的,依据算法原理,此时每个回答所对应的优势值均为 0,模型也就无法基于这些回答产生任何更新。在这种情况下,利用监督微调(SFT)直接为模型提供正确答案,显然是一种更为有效的方式,能让模型更快学习到正确的知识和推理模式 。

尽管通过GRPO算法训练获得了推理能力的显著提升,DeepSeek-R1-Zero仍存在一些缺陷。一方面,R1-Zero 生成的推理内容可读性欠佳,语言混合的情况时有发生,这使得其推理过程难以被清晰理解。另一方面,由于直接在基础模型上进行强化学习,没有前期的引导,训练初期模型的表现不稳定,收敛速度较慢。

为了解决这些问题,DeepSeek-R1 在 R1-Zero 的基础上进行了如下改进:

冷启动

DeepSeek-R1 收集了数千条长思维链(CoT)数据微调 DeepSeek-V3-Base 模型,并在这之后进行RL训练。这些数据通过多种方式获得,如少样本提示、引导模型生成带反思验证的答案等。冷启动数据提升了模型输出的可读性,并融入人类先验知识,为模型提供了更好的训练起点,使模型性能优于 DeepSeek-R1-Zero。

语言一致性奖励

针对 DeepSeek-R1-Zero 推理中语言混合的问题,DeepSeek-R1 在强化学习训练时引入语言一致性奖励。该奖励依据思维链(CoT)中目标语言单词的比例计算,比例越高奖励越高。虽然这会使模型性能稍有下降,但能有效缓解语言混合现象,让推理过程更符合人类阅读习惯。

拒绝采样和监督微调

在推理导向的强化学习收敛后,DeepSeek-R1 利用拒绝采样收集数据用于监督微调(SFT)。在推理数据收集上,从强化学习训练的检查点采样生成推理轨迹,并基于多种方法过滤质量不佳的数据,最终收集约 600k 高质量推理相关样本。对于非推理数据,如写作、事实性问答等,复用 DeepSeek-V3 的部分 SFT 数据集,共收集约 200k 样本。利用这些总计约 800k 样本进行两个 epoch 的微调,拓展了模型在通用任务上的能力。

全场景强化学习

为了进一步使模型与人类的偏好相一致,DeepSeek-R1通过结合奖励信号和多样化的提示(prompt)分布来训练。在推理数据方面,沿用 DeepSeek-R1-Zero 中基于规则的奖励方法,用于数学、代码和逻辑推理领域的学习过程;在一般数据上,借助奖励模型捕捉复杂场景下的人类偏好。

通过以上改进,DeepSeek-R1 在性能上实现了质的飞跃,进而风靡全球。

  1. 总结展望

GRPO 算法在 DeepSeek-R1 中的成功应用,为强化学习和大模型的发展开辟了新的路径。未来,强化学习在大模型领域有望取得更多令人瞩目的进展。一方面,在算法优化上,研究人员可能会进一步探索 GRPO 算法的变体或与其他更先进的技术,以进一步提升模型的推理能力,或结合多模态技术提升对真实世界的理解能力。同时,基础技术的发展与开源生态的完善,会吸引更多研究者加入,开拓更多创新研究和应用。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐