OpenAI没做到,DeepSeek搞定了!开源引爆推理革命

2025-05-24 发布 · 浏览18次 · 点赞0次 · 收藏0次

【导读】100多天前,DeepSeek-R1凭借低训练成本,名噪一时。而强化学习算法GRPO,是背后最大的功臣之一。然而,开源界对强化学习算法的探索并没有终结。

DeepSeek-R1引爆了LLM推理革命。

DeepSeek-R1的秘籍在于强化学习微调算法:群体相对策略优化(Group Relative Policy Optimization,GRPO)。

未来,LLM的训练将不再是单纯的数据训练,而是将推理能力作为标准流程。

那为什么强化学习能提高LLM的推理能力?

DeepSeek-R1的GRPO,有哪些身前身后事?

在后DeepSeek-R1时代,GRPO又引发了哪些奇思妙想?


什么是推理模型?

首先要面对的核心问题是:什么是推理?

简单来说,推理是一种通过推导和训练手段,使大语言模型(LLMs)更擅长处理复杂任务的能力。

技术一点的说法是:

推理是指LLM在给出最终答案之前,能先生成一系列中间步骤的能力。

这个过程通常被称为「思维链」(Chain-of-Thought,简称CoT)推理。

在CoT推理中,模型会显式地生成一系列结构化的陈述或计算步骤,来说明它是如何得出结论的。

下图展示了这一定义及其示意。


大语言模型(LLM)处理多步骤推理任务示意图

在多步骤推理任务,与直接回忆某个事实不同,推理模型需要结合多个中间推理步骤,才能得出正确的结论。

这些中间推理步骤是否展示给用户,取决于具体的实现方式。


LLM强化学习黑话小抄

RLHF基础:一切的起点

用于构建和优化推理模型的强化学习(RL)训练方法,基本上都与人类反馈强化学习(RLHF)有关——

这也是目前用来开发和对齐传统大语言模型(LLMs)的主流手段。

因此,在深入讨论基于强化学习的推理优化方法之前,我们先简要回顾一RLHF是如何工作的。

传统LLM的三阶段训练流程:

  • 预训练(Pre-training):使用大规模语料让模型学习通用语言模式和知识。

  • 监督微调(Supervised Fine-tuning)用人工标注的任务数据进一步训练模型,让AI更擅长完成具体任务。

  • 对齐阶段(Alignment,通常通过RLHF)让模型更符合人类偏好,提升交互体验与安全性。

RLHF训练流程会从预训练模型开始,然后通过监督学习进行微调。

这一步还不属于强化学习,而是为后续的RL打下基础的前置步骤

接下来,RLHF会使用强化学习算法,进一步对LLM进行对齐。

这是本文的重点。

整个RLHF流程分为三大步骤:

RLHF第一步(前置步骤):监督微调预训练模型

这一步的目标是通过人工标注的数据对模型进行有监督学习,构建一个适合后续RLHF微调的基础模型

RLHF第二步:构建奖励模型(Reward Model)

收集多个回答并让人类标注哪一个更好,以此训练一个模型,能够根据输出内容给出高或低的「奖励分数」。

RLHF第三步:强化学习微调

使用奖励模型的评分结果作为奖励信号,利用PPO等算法更新语言模型的策略,使其输出更符合人类偏好。

RLHF第一步创建或从已有数据集中采样一批提示语(prompts),然后由人类标注者为这些提示语编写高质量的参考回答。

接着,我们使用这些人工标注的数据对预训练语言模型进行监督微调(SFT)

正如前面提到的,这一步并不属于强化学习,而是作为后续RLHF微调的前置准备


RLHF第二步第一步微调后的模型用于构建一个奖励模型(Reward Model)。如下图所示:


我们让人类对多个模型生成的回答进行排序,然后用这些排序数据来训练奖励模型,让它能根据回答的质量输出相应的评分。

这个奖励模型将在接下来的强化学习微调中,作为模型行为的评估依据。

RLHF第三步(也是最后一步)使用在第二步中训练好的奖励模型,为模型生成的回答打分,然后基于这些评分,使用近端策略优化(PPO)等算法对SFT模型进行强化学习微调。

这是强化学习发挥作用的地方

通过强化学习,模型会逐步调整其输出策略,使其更倾向于生成高奖励(即更符合人类偏好)的回答,从而实现真正的人类反馈对齐训练




OpenAI的PPO

一开始,RLHF采用的是近端策略优化PPO。


PPO在架构中使用了四个不同的语言模型:

一个策略模型(正在训练的模型)、

一个参考模型(原始模型的冻结副本)、

一个奖励模型(基于人类偏好进行训练)

和一个值模型(估计长期奖励)。

这些模型都包含需要反向传播来优化的可训练参数,这消耗大量的GPU内存和计算周期,使得训练过程变得笨重且昂贵。

监督学习能够快速定义损失函数,且通常无需大量超参数调整。整个过程直观、稳定、可控。

但在强化学习中,成功的路径就不那么明确了:

强化学习算法往往包含许多相互依赖的模块,调试困难

而且要想获得良好结果,通常需要投入大量的精力进行调参和结构调整

这也是PPO被广泛采用的原因之一——

它在实现简便性样本效率调参难度之间取得了较好的平衡。

PPO的核心思想是:

在每一步中计算一次策略更新,既能最小化代价函数,又能确保新策略与旧策略之间的偏差不会过大

OpenAI提出了全新目标函数增强了PPO算法的稳定性和实用性

其主要公式如下:


其中:

  • (q,a)是数据分布D中的一个问答对。

  • πθ表示新策略模型输出的概率。

  • 行为策略πθold表示旧策略模型的输出概率。

  • πθ/πθold是重要性采样比(importance ratio),主要用于确保新旧模型的分布不会相差太大。

  • ε是用于裁剪重要性比值的参数,用来限制模型分布的变化,防止变化过大或过小。

  • ^A_t是优势函数(advantage function),主要来源于奖励模型和价值模型的评分。
  • R_l是奖励模型的评分。

  • V是价值模型的评分。


图1:在RL训练过程中,应用Clip-Higher策略前后,AIME测试集上的准确率演员模型生成概率的熵对比

图1展示了在使用与不使用裁剪参数的情况下,模型在AIME数据集上的表现和生成的熵值对比;可以明显看到,加入裁剪参数后,模型性能和熵值都有显著提升。

DeepSeek的GRPO


传统PPO训练方法往往代价高昂,需要消耗大量GPU计算时数,导致训练成本居高不下,实际应用门槛远超个人开发者和小型研究团队的承受范围。
突破性进展来自DeepSeek。

他们推出了PPO算法的改进「平替版本」GRPO:

提升数学推理能力的同时,显著优化了PPO的内存使用效率


DeepSeek-R1训练流程

创新的核心动机在于提升计算效率


该效率提升主要通过以下方式实现:

剔除「评论家」(价值模型):即传统用于计算价值函数(预期未来收益)的大语言模型组件

采用相对质量评估:通过对策略模型本身生成的多组答案进行质量对比,直接计算优势函数,取代传统依赖额外模型估算奖励的方法

这一创新显著降低了训练推理模型的计算需求,即使是「GPU资源匮乏」的团队,也能开发出复杂的推理能力。


其公式如下:


GRPO的主要变化包括:

  • 每个提示语(prompt)采样多次形成一个组,然后使用该组中奖励值的标准化结果作为优势值。

  • 引入KL散度作为正则项,对策略变化加以限制。

  • 由于GRPO主要用于数学或逻辑推理类问题,它使用的奖励模型也是基于规则的。例如:


其中,y是标准答案,y^是预测答案。

GRPO的开源升级版:DAPO


然而,当前顶尖推理型大模型的关键技术细节(如OpenAI的o1技术博客和DeepSeek-R1技术报告中的内容)仍处于黑箱状态,导致学术界难以复现他们强化学习训练成果。
于是,开源的解耦裁剪与动态采样策略优化(Decoupled Clip andDynamic sAmplingPolicyOptimization,DAPO)问世了。

DAPO为每个与答案a配对的问题q采样一组输,并通过以下目标函数优化策略:


DAPO包含以下几个关键技术点:

  • Clip-Higher(高限裁剪):提升系统多样性,避免熵崩溃。在策略梯度损失中提高重要性采样比率(importance sampling ratio)的上裁剪限值,以缓解该问题。

  • Dynamic Sampling(动态采样):提升训练效率与稳定性。动态采样策略可以过滤掉准确率为1或0的提示组(prompt groups),并在各批次中保持有效梯度提示的数量一致。

  • Token-level Policy GradientLoss(Token级策略梯度损失:在长链思维推理(long-CoT)强化学习场景中至关重要。

  • Overlong Reward Shaping(过长奖励重塑):降低奖励噪声,稳定训练过程。



高限裁剪

从前面的公式可以看出,对于裁剪参数,DAPO同时引入了「低裁剪」ε_{low}和「高裁剪」ε_{high}两个界限。

这是因为:

  • 高裁剪限制模型的探索能力,避免模型过度增加低概率token的概率,从而控制生成多样性;

  • 低裁剪确保高概率token的概率不会骤降,保持模型输出的稳定性。

低概率token的更新空间远小于高概率token。

此外,DAPO的实验中发现,被裁剪的token的最大输出概率通常小于0.2。

这也证明了高裁剪限制了低概率token概率的提升,进而抑制了模型的多样性。如图2所示:


图2:最大裁剪概率

高低双裁剪的策略如下:

  • ε_{low}:用于限制高概率token概率的下降,防止其概率骤减,通常设置得较小;

  • ε_{high}:用于限制低概率token概率的增加,允许更多探索空间,通常设置得较大。

在DAPO中,有ε_{low} <ε_{high},因此:< pan>

  • A>0(即奖励为正)时,裁剪上限为(1+ε_{high}),较大的ε_{high}可避免低概率token被过早裁剪,允许其更新;

  • A<0(即奖励为负)时,裁剪下限为(1−ε_{high}),适当限制高概率token的更新速度,避免其概率下降过快。


动态采样

在当前强化学习算法中,同一个prompt需要采样多次形成一个group。

如果该组内所有采样结果的正确率都是1(即奖励全为正)或全为0(即奖励全为负),那么该组的优势值\hat{A}为0,导致无法产生有效的梯度更新,降低了样本效率。

如下图3所示,随着训练进行,有效样本在batch中的占比逐渐下降:


图3:准确率为1的样本比例

为了解决这个问题,DAPO引入了动态采样机制

  • 在训练前,过滤掉奖励全为0或全为1的group;

  • 保证每个batch中的样本都能产生有效梯度,同时维持batch的大小一致;

  • 随着训练步数增加,模型准确率提高,被过滤的样本也随之增多,因此虽然训练速度不一定加快,但样本效率更高,有助于模型更快收敛。


Token级策略梯度损失

在原始的GRPO中,损失是基于样本整体计算的。这种做法可能导致长文本中的token学习效果较差。

例如:

  • 长输出样本的token损失为:


  • 短输出样本的token损失为:


计算总损失L_{long}+L_{short}时,虽然平均了,但因为N₁>N₂,导致长样本的学习权重被稀释。

此外,实验也发现长内容容易生成无意义token,应该给予更多关注。

因此DAPO将损失改为每个token直接参与计算,总损失形式如下:


上述例子中的损失形式也相应变为:

过长奖励重塑

在大语言模型(LLMs)训练中,通常会设置max_token限制生成长度,超过这个长度的样本会被截断。

如果对这些截断样本的奖励设计不合理,可能会引入奖励噪声,干扰训练。

过去的方法通常会对这些样本进行惩罚,但这可能导致本应合理的长答案被错误惩罚。

为此,DAPO引入了惩罚过渡区间,其奖励设计如下:


  • 设定L_{cache}为缓冲区;

  • L_{max}为最大长度;

  • |y|为当前生成文本的长度。

当∣y∣+Lcache≤Lmax时,文本长度小于最大允许长度max_token,因此不施加惩罚。

当∣y∣+Lcache>Lmax且∣y∣

当∣y∣≥Lmax时,施加最大惩罚。

图4展示了在基准设置下,使用动态采样前后的训练进度变化。


图4:在基准设置下,应用动态采样前后的训练进度对比

自我反思与回溯能力的出现

在DAPO的训练过程中,研究人员还观察到了模型具有「反思」和「回溯」的能力,而这类能力在原始数据集中并未出现。

这与DeepSeekR1报告中的发现一致。

虽然目前还不清楚这一能力产生的根本原因,但它为未来的优化提供了新的方向。

图5展示了强化学习中「反思行为」的涌现现象。


图5:强化学习中反思行为的出现

参考资料:

https://pub.towardsai.net/the-evolution-of-grpo-dapo-d96000d0d81f

https://openai.com/index/openai-baselines-ppo/

https://www.k-a.in/grpo.html

https://magazine.sebastianraschka.com/p/the-state-of-llm-reasoning-model-training

https://arxiv.org/pdf/2503.14476

OpenAI没做到,DeepSeek搞定了!开源引爆推理革命 - AI 资讯 - 资讯 - AI 中文社区

声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。本站拥有对此声明的最终解释权。如涉及作品内容、版权和其它问题,请联系我们删除,我方收到通知后第一时间删除内容。

点赞(0) 收藏(0)
0条评论
珍惜第一个评论,它能得到比较好的回应。
评论

游客
登录后再评论
  • 鸟过留鸣,人过留评。
  • 和谐社区,和谐点评。