
4000字!DeepSeek-R1 核心强化学习算法 GRPO 详解
在大语言模型(LLM)的微调过程中,强化学习(RL)扮演着至关重要的角色。传统的近端策略优化(PPO)算法虽然被广泛应用于LLM的微调,但其在处理大规模模型时面临着巨大的计算和存储负担。PPO算法需要维护一个与策略模型大小相当的价值网络来估计优势函数,这在大模型场景下会导致显著的内存占用和计算代价。例如,在数十亿甚至千亿参数的语言模型上应用PPO时,价值网络的训练和更新会消耗大量的计算资源,使得训
导读
在大语言模型(LLMs)的训练中,强化学习算法一直是提升模型性能的关键。然而,传统算法如PPO面临着计算开销大、策略更新不稳定等问题。今天,我们将深入解析DeepSeek-R1模型中采用的新型强化学习算法——GRPO(Group Relative Policy Optimization)。本文将为你详细解读GRPO的原理、实现细节以及在数学推理和代码生成任务中的卓越表现,带你一探究竟,了解这一算法如何革新大语言模型的训练方式!
1. GRPO算法概述
1.1 算法背景与动机
在大语言模型(LLM)的微调过程中,强化学习(RL)扮演着至关重要的角色。传统的近端策略优化(PPO)算法虽然被广泛应用于LLM的微调,但其在处理大规模模型时面临着巨大的计算和存储负担。PPO算法需要维护一个与策略模型大小相当的价值网络来估计优势函数,这在大模型场景下会导致显著的内存占用和计算代价。例如,在数十亿甚至千亿参数的语言模型上应用PPO时,价值网络的训练和更新会消耗大量的计算资源,使得训练过程变得低效且难以扩展。
此外,PPO算法在更新策略时可能会导致策略分布发生剧烈变化,从而影响训练的稳定性。为了解决这些问题,DeepSeek提出了一种新的强化学习算法——组相对策略优化(GRPO),旨在减少对价值网络的依赖,同时保持策略更新的稳定性和高效性。
1.2 GRPO核心思想
GRPO的核心思想是通过组内相对奖励来优化策略模型,而不是依赖传统的批评模型(critic model)。具体来说,GRPO会在每个状态下采样一组动作,然后根据这些动作的相对表现来调整策略,而不是依赖一个单独的价值网络来估计每个动作的价值。
这种方法的优势在于:
-
减少计算负担:通过避免维护一个与策略模型大小相当的价值网络,GRPO显著降低了训练过程中的内存占用和计算代价。
-
提高训练稳定性:GRPO通过组内比较来估计优势函数,减少了策略更新的方差,从而确保了更稳定的学习过程。
-
增强策略更新的可控性:GRPO引入了KL散度约束,防止策略更新过于剧烈,从而保持了策略分布的稳定性。
从数学角度来看,GRPO的目标是最大化预期累积奖励,同时保持策略更新的稳定性。其目标函数可以表示为:
正则化
其中:G 是采样动作的组大小。
是第 个动作的输出序列。
是输出序列的长度。
是当前策略与旧策略的概率比。
是分组相对奖励,通过对每个动作的奖励进行归一化得到。
通过这种方式,GRPO不仅提高了训练效率,还确保了策略更新的稳定性和可控性,使其成为一种适合大规模语言模型微调的高效强化学习算法。
2. GRPO算法原理
2.1 算法流程
GRPO(Group Relative Policy Optimization)算法的流程可以分为以下几个关键步骤,这些步骤共同协作,实现了对策略模型的高效优化,同时避免了传统强化学习算法中常见的计算瓶颈和稳定性问题。
-
采样动作组:对于每个输入状态 s,GRPO从当前策略 Πθ中采样一组动作a1,a2,…,aG。这些动作的采样基于策略模型的概率分布,确保了多样性。
-
奖励评估:每个采样动作 都会通过奖励函数 进行评估,得到对应的奖励值 。奖励函数可以根据具体任务设计,例如在数学推理任务中,奖励函数可以基于答案的正确性。
-
计算相对优势:将每个动作的奖励值进行归一化处理,得到相对优势 。具体来说,相对优势可以通过以下公式计算:
其中, 和 分别是奖励值的均值和标准差。
-
策略更新:根据计算得到的相对优势 ,更新策略模型的参数 θ。更新的目标是增加具有正相对优势的动作的概率,同时减少具有负相对优势的动作的概率。
-
KL散度约束:为了防止策略更新过于剧烈,GRPO在更新过程中引入了KL散度约束。通过限制新旧策略之间的KL散度,确保策略分布的变化在可控范围内。
通过以上步骤,GRPO能够在不依赖价值网络的情况下,实现对策略模型的有效优化,同时保持训练过程的稳定性和高效性。
3. GRPO与PPO对比
3.1 算法结构对比
PPO(Proximal Policy Optimization)和GRPO(Group Relative Policy Optimization)都是强化学习中的重要算法,但在结构和实现方式上存在显著差异。
价值网络的使用:
-
PPO:依赖于一个与策略模型大小相当的价值网络(critic model)来估计优势函数(advantage function)。这个价值网络需要在每个时间步对状态进行评估,计算复杂度高,内存占用大。
-
GRPO:完全摒弃了价值网络,通过组内相对奖励来估计优势函数。这种方法通过比较同一状态下的多个动作的奖励值来计算相对优势,显著减少了计算和存储需求。
奖励计算方式:
-
PPO:使用广义优势估计(GAE)来计算优势函数,需要对每个动作的即时奖励和未来奖励的折扣总和进行估计。
-
GRPO:通过采样一组动作并计算它们的奖励值,然后对这些奖励值进行归一化处理,得到相对优势。这种方法更直接,减少了对复杂奖励模型的依赖。
策略更新机制:
-
PPO:通过裁剪概率比(clip operation)来限制策略更新的幅度,确保策略分布的变化在可控范围内。
-
GRPO:引入了KL散度约束,直接在损失函数中加入KL散度项,从而更精细地控制策略更新的幅度。
计算效率:
-
PPO:由于需要维护和更新价值网络,计算效率较低,尤其是在大规模语言模型中,训练过程可能变得非常缓慢。
-
GRPO:通过避免价值网络的使用,显著提高了计算效率,降低了内存占用,更适合大规模语言模型的微调。
3.2 优势与局限性
PPO的优势:
-
稳定性:PPO通过裁剪概率比,能够有效防止策略更新过于剧烈,从而保持训练过程的稳定性。
-
广泛适用性:PPO在多种强化学习任务中表现出色,适用于多种类型的环境和任务。
PPO的局限性:
-
计算负担:在大规模语言模型中,PPO需要维护一个与策略模型大小相当的价值网络,导致显著的内存占用和计算代价。
-
更新方差:PPO的策略更新依赖于单个动作的奖励值,可能导致较高的方差,影响训练的稳定性。
GRPO的优势:
-
计算效率:GRPO通过避免价值网络的使用,显著降低了计算和存储需求,提高了训练效率。
-
稳定性:通过组内相对奖励的计算,GRPO减少了策略更新的方差,确保了更稳定的学习过程。
-
可控性:GRPO引入了KL散度约束,能够更精细地控制策略更新的幅度,保持策略分布的稳定性。
GRPO的局限性:
-
采样成本:GRPO需要对每个状态采样一组动作,这在某些情况下可能会增加采样成本。
-
适用范围:GRPO在某些任务中可能不如PPO表现稳定,尤其是在奖励信号稀疏的情况下。
通过对比可以看出,GRPO在计算效率和训练稳定性方面具有显著优势,尤其适合大规模语言模型的微调。然而,它也存在一些局限性,需要在实际应用中根据具体任务进行权衡。
4. GRPO在DeepSeek-R1中的应用
4.1 训练流程
DeepSeek-R1模型采用了GRPO算法进行强化学习微调,其训练流程如下:
-
监督微调(SFT)阶段:首先使用高质量的标注数据对基础模型进行监督微调,使模型在特定任务上具备初步的性能。这一阶段为后续的强化学习训练奠定了基础,确保模型能够生成符合人类标注标准的输出。
-
强化学习(RL)阶段:在监督微调的基础上,引入GRPO算法进行强化学习微调。具体步骤如下:
1、采样动作组:对于每个输入提示,模型根据当前策略生成一组不同的输出。这些输出的多样性为后续的相对奖励计算提供了基础。
2、奖励评估:使用奖励模型对每个输出进行评分,这些评分可以基于任务的特定标准,如数学题的正确性、代码的可运行性等。
3、计算相对优势:将每个输出的奖励值进行归一化处理,得到相对优势。这一过程通过比较同一输入下的多个输出,减少了策略更新的方差。
4、策略更新:根据相对优势更新策略模型的参数,增加高奖励输出的概率,减少低奖励输出的概率。同时,通过KL散度约束确保策略更新的稳定性。
5、迭代优化:重复上述步骤,逐步优化策略模型,使其在特定任务上表现得更好。
-
拒绝采样(RS)阶段:为了进一步提升模型的通用性和连贯性,使用拒绝采样生成合成数据集。这些数据集用于扩展模型的能力,使其能够处理更广泛的任务。
-
最终强化学习阶段:在模型具备较强的通用性后,再次应用GRPO算法,重点关注模型的实用性和无害性。通过调整奖励模型,确保模型生成的输出既符合任务要求,又具有良好的社会适应性。
通过以上多阶段的训练流程,DeepSeek-R1模型在数学推理、代码生成等复杂任务上表现出色,同时保持了较高的通用性和连贯性。
4.2 实验结果
在DeepSeek-R1模型的训练过程中,GRPO算法的应用取得了显著的实验结果:
-
数学推理任务:在2024年美国数学邀请赛(AIME)中,DeepSeek-R1模型的通过率@1得分跃升至71.0%,相比未使用GRPO算法的模型,性能提升显著。这一结果表明GRPO算法在提升模型的数学推理能力方面具有显著优势。
-
代码生成任务:在代码生成任务中,DeepSeek-R1模型生成的代码可运行性达到85%,正确率达到70%。这些数据表明GRPO算法能够有效提升模型在代码生成任务中的性能,生成高质量的代码。
-
通用任务:在更广泛的通用任务中,如写作和角色扮演等,DeepSeek-R1模型展现出更强的通用性和连贯性。通过拒绝采样生成的合成数据集,模型能够更好地适应各种任务,生成符合人类语言习惯的输出。
-
训练效率:GRPO算法显著提高了训练效率,降低了内存占用和计算代价。在大规模语言模型的微调过程中,GRPO算法的训练速度比传统的PPO算法快30%,内存占用减少50%。这使得DeepSeek-R1模型能够在更短的时间内完成训练,同时保持较高的性能。
这些实验结果表明,GRPO算法在DeepSeek-R1模型的训练中发挥了重要作用,不仅提升了模型在特定任务上的性能,还提高了训练效率,使其成为一种适合大规模语言模型微调的高效强化学习算法。
DeepSeek GRPO vs. OpenAI RLHF
既然谈到了DeepSeek GRPO算法,就不得不想到OpenAI 的 RLHF 算法,它们两个PK来看看~
希望这个表格能帮助你更清晰地对比 GRPO 算法和 OpenAI 的 RLHF 算法。
如何学习大模型 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%免费
】
更多推荐
所有评论(0)