图片来源:由无界 AI 生成
论文原文链接:
https://arxiv.org/pdf/2501.12948
作者原文链接:
https://zhuanlan.zhihu.com/p/20530204146
1、Approach
先前的大型语言模型(LLMs)相关的很多工作里都依赖大量的人工标注的数据去提升模型性能。但在 Deep Seek R1 这篇论文中指出:模型的推理能力(reasoning capabilities)可以通过大规模的强化学习(Reinforcement learning)来提升,甚至不需要用 SFT(supervised fine-tune)来完成冷启部分的工作。
P.S. 通过少量的 SFT 完成模型的冷启(cold-start)可以进一步提升模型表现。
个人随想:少量的 SFT 在冷启阶段提升了模型的性能,使得在后续 RL 的训练中能更好的找到答案。
通俗易懂版:如果把模型比作一个武侠小说中的习武人,‘少量的 SFT’就犹如武功秘籍。当提供一个秘籍给习武人去修炼(对应模型训练),他能少走弯路且更快修成武功(优秀的模型表现)。但如果没有这个秘籍,习武人可能就会走上弯路,需要更多的修炼探索去修成武功,甚至一有不慎就走上歪路走火入魔了(训练崩了)。
论文中提到的关键步骤及模型关系图
过往的 LLM 训练工作严重依赖有监督的数据,而收集这些数据耗时费力。而 DeepSeek-R1-Zero 的训练过程与结果表现体现出 LLMs 在没有任何监督数据的情况下发展推理能力的潜力,展现出其通过纯粹的强化学习过程的自我进化。
P.S. DeepSeek-R1-Zero 是基于 DeepSeek-V3-Base 纯用 RL 的方式训练出来的模型(没使用任何 SFT 的数据)。
Group Relative Policy Optimization( 群体相对策略优化 )
为了节省强化学习的训练成本,采用了 GRPO 的方式进行训练。该方法舍弃了传统 PPO 算法中的 Critic 模型 ( 通常与策略模型大小相同 ) 部分,转而通过直接从群体得分中估算 baseline。
具体来说,对于每一个问题 q,GRPO 会从旧的策略模型参数 中采样一组输出 ,然后通过最大化 GRPO 目标函数以优化当前策略模型参数 。
辅助理解:不同的策略模型实际上都是同一个模型在不同参数阶段下的版本:具体可以按如下理解
:上一轮模型参数的模型,可以理解为 上一个 iteration 的模型。
:最新的模型参数的模型(正在更新的)。
: 初始模型参数。
原文公式如下图所示:
ε 控制学习步长上限,保证每一轮学习不至于与上一轮偏移过大。主要是防止策略崩溃。
β 控制原始能力偏移惩罚的程度。主要是缓解灾难性遗忘的问题。
是 advantage,通过如下公式计算出:
个人图解如下(便于理解):
从 Policy Gradient 到 PPO 到 GRPO(个人推理版,数学推导警告⚠️,如有错误欢迎指出纠正)
一些基础概念(LLM 训练任务下好理解版):
π (Policy,策略 ):即 LM 模型
θ (Parameter, 参数 ) :即模型参数
τ (Trajectory,轨迹):即输出序列,此处可以理解为输出的一整个句子,每一个输出 token 即为 action。
s(State,交互状态):即上文,初始状态即为
a(Action,交互行为):即输出的 token,可以简单理解为每个字符。(实际上一个字不等于一个 token)
那么,我们可以得到模型参数θ下生成序列τ的概率如下:
Reward Function(奖励函数定义,即输出序列 能获得的奖励):
因此可得,模型参数下的 Expected Reward(期望奖励):
综上,我们希望调整模型参数使这个期望奖励越大越好,因此可得 Policy Gradient 公式如下,期望做 gradient ascent 最大化期望奖励:
直观理解:在某个 state(上文)下执行某个 action(token)使得最后整个输出 的 reward 是正的时候,我们应该增加这个输出的几率,反之减少。
但是,如果仔细看上述公式,会发现
通常我们可以将 baseline 设置为 reward 的期望值,即
同时,我们知道最终输出的是一个序列
首先,我们会有一些假设(注意:并不一定什么情况下都适用,应根据具体情况使用不同的 reward function):
1、reward 应单独为每个 action 计算(前面的)
2、越快完成任务应越重要,距离越远贡献越小
#
实际上
PPO(Proximal Policy Optimization)
由于 Policy Gradient 是一个 on policy 的方式,在每一轮更新后都需要重新收集训练数据,这无疑是很麻烦的。因此我们希望将其改造为一个 off policy 的方式,能重复使用一批数据去更新参数。
Importance Sampling:
【解释起来太复杂此处不过多赘述】
基于上述公式 Policy Gradient 可以写作:
# 假设
因此我们能得到一个新的 Objective Function:
# Note:
实际上是
为了保证训练后比之前不至于差距太大(基础能力等不会变化太大),引入一个类正则项如下:
Note: 这个 KL 散度说的不是参数分布距离,而是输出分布距离(behavior distance)。实际应用中可以使用 adaptive KL penalty 用于动态调整
if
if
但更多的大家会用以下 PPO2 公式,简化计算(KL 太难算):
本质上就是替换了 adaptive KL penalty 这一块,保证两个分布间不要差距太大。
Note: clip(a,b,c); 当 a<b 时,取 b;当 a>c 时,取 c;其余取 a。
其实 GRPO 就是在 ppo2 的思想基础上调整了 Advantage function 的计算方式,同时引入正则项保证模型初始能力不会在训练过程中有太大的偏移(一路看下来推理过程的话想必是能看明白了)。【能力有限如有表达不清晰的地方欢迎讨论】
Reward 是训练信号的来源,决定了 RL 的优化方向。该 Reward 采用了一种 rule-based 的 reward system,该系统主要由两种类型的 Reward 组成:
Accuracy Reward(准确性奖励):评估回答是否正确。
例如,在具有确定性结果的数学问题中,要求模型以指定格式(例如,放在方框内)给出最终答案,从而直接提取出 LLM 答案来验证正确性。同样,对于 LeetCode 上的编程问题,可以使用编译器根据预先定义的测试用例生成反馈判断正误。
P.S. 从部署的蒸馏后的 QWen 模型看到数学问题的方框格式应是这样的:[ \boxed{} ]
Format Reward(格式奖励):强制模型将其思考过程放在‘<think>
为什么不用结果导向或过程导向的神经奖励模型(neural reward model)?
因为发现神经奖励模型在大规模强化学习过程中可能会面临奖励滥用 (reward hacking) 问题。此外,重新训练奖励模型需要额外的训练资源,同时也会导致整个训练流程的复杂度显著增加。
知识注解:
神经奖励模型(neural reward model):通过神经网络学习或预测奖励信号(Reward Signal),用于指导智能体的决策行为。一般用于解决传统人工设计奖励函数(Handcrafted Reward)难以覆盖复杂场景的问题。
奖励滥用(reward hacking):欺骗奖励模型得分。可以简单理解为咱们小时候做数学题的‘格式分’(如:数学题前写‘解:’来得分),但这些分数奖励实际上并不能帮助模型很好的学习到如何解题。
为训练 DeepSeek-R1-Zero 模型,首先设计了一个简洁的指令模板来引导基座模型遵循预设规范。如下图所示,该模板要求模型必须先生成完整的推理过程,再输出最终答案。其刻意将约束条件限定于结构范式层面,规避任何内容导向的偏差(例如强制要求反思性推理或推广特定解题策略),以此确保在强化学习过程中能精准捕捉模型的原生进化轨迹。
【实验 performance 在这不做过多赘述,有兴趣的同学可以看原文,此处更多的是抽取技术相关内容讨论】
DeepSeek-R1-Zero 无需依赖任何监督微调数据即可实现强大的推理能力,其充分验证了该模型仅通过强化学习(Reinforcement Learning, RL)即可完成高效学习与泛化的技术路径。此外,通过引入多数投票(Majority Voting)机制,可进一步显著提升 DeepSeek-R1-Zero 的性能表现。
Self-evolution Process of DeepSeek-R1-Zero
DeepSeek-R1-Zero 的自我进化过程生动地揭示了 RL 是如何驱动模型自主提升推理能力的。通过直接从基座模型(Base Model)启动 RL 训练,能够完全排除监督微调(Supervised Fine-Tuning)阶段的干扰,实现对模型进化轨迹的全程观测。这一方法论为追踪模型进化路径提供了清晰的观测窗口,尤其能有效揭示其在处理复杂推理任务时展现出的推理能力。
DeepSeek-R1-Zero 通过扩展测试时计算(Test-time Computation)能力,实现了对复杂推理任务的自主攻克。该过程涵盖生成数百至数千个推理标记(Reasoning Tokens)的运算规模,使模型能够在更深层次上探索并优化其思维过程。这种自我进化最显著的特征在于:随着测试时计算量的增加,复杂行为的涌现现象(Emergence of Sophisticated Behaviors)开始显现。具体表现为:
1、反思机制(Reflection):模型会自主回溯并重新评估先前推理步骤
2、多路径探索:系统自发尝试不同的问题解决策略
值得注意的是,这些高阶认知行为并非通过预设编程实现,而是完全源于模型与强化学习环境的持续交互。这种自组织演化特性使 DeepSeek-R1-Zero 的推理能力产生质变,在效率与准确性维度同步提升,最终形成攻克复杂任务的系统性解决方案。
Aha Moment of DeepSeek-R1-Zero
【这里不做过多赘述,看图就能感受到 RL 所带来的震撼。】
Aha moment 有力印证了 RL 在人工智能系统中解锁智能新层级的潜力,进而为构建更具自主性与自适应能力的下一代模型开辟了技术路径。这一块为后续工作,甚至是通往 AGI 的工作留下了更多想象空间。
The Drawback of DeepSeek-R1-Zero
诚然,纯 RL 的训练方式给我们带来很多震撼,也让模型能出人意料的自发发掘进化推理能力,但其还是有一些缺陷的。其中,最显著的是 DeepSeek-R1-Zero 产出的结果常常会出现语言混杂,难以阅读等问题。为了让整个推理流程更为可读,用人类可读的冷启动数据完成训练,得到了 DeepSeek-R1,将在下一个 section 详细介绍。
随想&讨论:从直觉上来说,该现象是符合预期且合理的。
模型本质上是通过输出所谓的‘思考过程’来影响后续 token 的输出概率分布(即输出正确答案的概率)。同时,BaseModel 在预训练的过程中存在多语言的训练语料。因此只要是能影响后续输出概率分布的 token,都可能被输出,被看作‘思考过程’。
某种程度上可以看作是 XAI(AI 可解释性)的一种形式,某种程度上可以看作是把深度学习模型内的参数计算(本质上也是在思考,即影响输出的概率分布)以自然语言形式展示出来了。因为自然语言的可读性,所以才让人们更加直观的感受到了所谓的‘智能’。
P.S. DeepSeek-R1 并非是基于 DeepSeek-R1-Zero 训练的,两者都是以 DeepSeek-V3-Base 作为 BaseModel 训练的。可以粗暴理解为 DeepSeek-R1 是 DeepSeek-R1-Zero 的升级版,DeepSeek-R1-Zero 更多的作为了一个数据生成器的角色。
DeepSeek-R1-Zero 取得的突破性成果催生出两个关键研究方向:
1、冷启动优化命题:能否通过引入少量高质量数据进行冷启动(Cold Start),从而进一步提升推理性能或加速收敛?
2、人机协同演进命题:如何训练既具备清晰连贯的思维链(Chains of Thought, CoT)表达能力,又拥有强大综合能力(General Capabilities)的用户友好型模型?
针对上述问题,设计了 DeepSeek-R1 的训练技术方案流程,其具体架构如下:
与 DeepSeek-R1-Zero 不同,为防止 BaseModel 在 RL 训练初期出现不稳定的冷启动阶段,针对 DeepSeek-R1 构建并收集了少量长思维链(long CoT)数据对模型进行微调,作为 Actor 模型的初始版本。
为收集此类数据,使用了多种方法融合,具体为:
1、构造一个提示词,让模型生成包含反思和验证的详细答案
2、使用带有长思维链示例通过 few-shot prompting 的方式注入到提示词
3、使用 DeepSeek-R1-Zero 以可读格式输出结果
4、使用人工标注完成最后的后处理以精炼结果
DS 团队收集了数千条冷启动数据对 DeepSeek-V3-Base 进行微调,将其作为强化学习的起点。相较于 DeepSeek-R1-Zero,该冷启动数据具有以下优势:
• 可读性:DeepSeek-R1-Zero 的核心局限在于其生成内容往往不具备可读性。生成结果中可能混合使用多种语言或缺乏 Markdown 格式来为用户突出显示答案。相比之下,在为 DeepSeek-R1 构建冷启动数据时,设计了包含可读性模式的数据——每个回复末尾均包含摘要,并过滤了可读性差的回复。具体而言,将输出格式定义为|special_token|<reasoning_process>|special_token|<summary>,其中<reasoning_process>对应思维链(CoT),<summary>部分用于总结推理结果。
• 潜力优势:通过基于人类先验知识精心设计冷启动数据模式,观察到模型性能较 DeepSeek-R1-Zero 有显著提升。基于此认为迭代式训练是推理模型更优化的演进路径。
在基于冷启动数据对 DeepSeek-V3-Base 完成微调后,采用了与 DeepSeek-R1-Zero 相同的大规模强化学习训练流程。该阶段旨在提升模型的推理能力,特别是针对编程、数学、科学和逻辑推理等需要明确解题路径的强推理型任务。
在训练过程中,观察到思维链(CoT)常出现语言混杂现象,尤其是当强化学习提示包含多语言内容时。为缓解语言混杂问题,我们在强化学习训练中引入了语言一致性奖励机制,该奖励通过计算思维链中目标语言词汇的比例来确定。尽管消融实验表明这种对齐方式会导致模型性能的轻微下降,但该奖励机制更符合人类偏好,显著提升了输出的可读性。最终,将推理任务准确率与语言一致性奖励直接加权求和,形成综合奖励函数。随后对微调后的模型实施强化学习训练,直至其在推理任务上达到收敛状态。
Rejection Sampling and Supervised Fine-Tuning
当 Reasoning-oriented Reinforcement Learning 达到收敛后,利用该训练节点收集 SFT 数据以进行后续迭代。与初期专注于推理的冷启动数据不同,这个阶段整合了其他领域的数据以提升模型在文本生成、角色扮演等通用任务中的表现。具体而言,通过了以下方法生成数据并实施微调:
推理数据:精选推理提示,使用上述 RL 后的模型 checkpoint 执行 Rejection Sampling 来生成 reasoning trajectories(推理轨迹)。在 RL 阶段仅包含可通过规则奖励评估的数据。而在当前阶段,通过加入额外的数据(不一定可用规则来评估奖励)来扩展数据集。因此,其中部分数据采用生成式奖励模型(generative reward model)来评估,即将标准答案与模型预测结果输入 DeepSeek-V3 进行自动化评估。由于模型输出存在语言混杂、可读性差等问题,我们过滤了包含多语言混合、冗长段落及代码块的思维链。对于每个 Prompt,采样了多个输出结果并仅保留正确结果。最终,共收集了约 60 万条推理相关训练样本。
知识注解:
Rejection Sampling(拒绝采样):核心思想是通过一个已知的、易于采样的提议分布(proposal distribution)来近似目标分布,并通过接受或拒绝样本的机制,最终得到符合目标分布的样本集。
非推理数据:针对写作、事实问答、自我认知及翻译等非推理数据,沿用了 DeepSeek-V3 的构建流程并复用其部分 SFT 数据集。对于特定非推理任务,通过 prompt 的方式要求 DeepSeek-V3 在回答问题前生成潜在思维链;而对于简单查询(如问候语句)则不生成对应的 CoT。最终收集约 20 万条非推理训练样本。
基于上述约 80 万条精选数据集,对 DeepSeek-V3-Base 实施两轮 SFT 训练。
为实现模型与人类偏好的深度对齐,实施了第二阶段的强化学习,其目标是在优化推理能力的同时,系统性提升模型的有用性(helpfulness)与无害性(harmlessness)。具体而言,通过结合奖励信号(reward signals)与多样化提示分布(diverse prompt distributions)对模型进行训练:
1、推理数据:沿用 DeepSeek-R1-Zero 提出的方法框架,在数学、编程及逻辑推理领域采用基于规则的奖励机制(rule-based rewards)
2、通用数据:通过奖励模型(reward models)捕捉复杂细微场景中的人类偏好。
对齐 DeepSeek-V3 的数据管线(pipeline)构建系统,采用与其一致的偏好对分布(preference pair distribution)与 training prompts:
有用性优化(helpfulness):评估机制仅聚焦最终 summary 的实用价值(utility)与用户相关性(relevance),同时最小化对底层推理过程的干扰;
无害性保障(harmlessness):对模型输出的完整内容(含推理链与结论)进行全流程检测,识别并抑制生成过程中可能出现的潜在风险(risks)、认知偏差(biases)及有害内容(harmful content)。
最终,通过融合多维度奖励信号与异构数据分布,我们成功训练出在保持卓越推理能力的同时,严格遵循有用性与无害性优先原则的模型。
为使轻量级模型具备与 DeepSeek-R1 相当的推理能力,基于上述的 DeepSeek-R1 精选 80 万样本,直接对 Qwen 及 Llama 等开源模型进行了监督微调(SFT)。实验结果表明,这种直接蒸馏方法(straightforward distillation method)可显著提升小模型的推理能力。本研究所用基座模型包括:
Qwen 系列:Qwen2.5-Math-1.5B、Qwen2.5-Math-7B、Qwen2.5-14B、Qwen2.5-32B
Llama 系列:Llama-3.1-8B、Llama-3.3-70B-Instruct
针对蒸馏模型(distilled models),仅采用监督微调(SFT)流程,未引入强化学习(RL)阶段——尽管 RL 可显著增强模型性能。文中表示研究核心目标在于验证蒸馏技术的有效性,而将 RL 阶段的探索空间留给更广泛学术界。
2. Discussion
如上所示,通过对 DeepSeek-R1 进行知识蒸馏(knowledge distillation),轻量级模型可取得显著性能提升。然而一个关键问题仍未解答:若不采用蒸馏技术,仅依赖本文所述的大规模强化学习(RL)训练,模型能否达到可比性能?为验证此问题,在 Qwen-32B-Base 模型上开展以下实验:
训练设置:使用数学、编程及 STEM 领域数据,实施超过 10,000 步的大规模 RL 训练,得到 DeepSeek-R1-Zero-Qwen-32B;
对比基准:基于相同基座模型,通过蒸馏 DeepSeek-R1 获得 DeepSeek-R1-Distill-Qwen-32B。
实验结果表明:
纯 RL 训练的 32B 基座模型(DeepSeek-R1-Zero-Qwen-32B)性能与 QwQ-32B-Preview 相当;
蒸馏模型(DeepSeek-R1-Distill-Qwen-32B)在所有评测基准上显著优于纯 RL 训练模型(性能差距显著)。
核心结论:
将更强大模型的知识蒸馏至轻量级模型可取得卓越效果;若仅依赖本文的大规模 RL 方法,小模型需消耗巨额计算资源,且最终性能仍无法超越蒸馏模型。
蒸馏策略兼具经济性(低计算成本)与高效性(性能增益显著);但要突破智能边界(intelligence boundaries),仍需依赖更强大的基座模型与超大规模强化学习。
在 DeepSeek-R1 在研发初期,经历了若干未达预期的方法尝试。文中分享了一些关键失败案例,旨在为复杂推理模型的训练提供洞见(注:此处的失败分析并不否定相关方法的潜在价值)。
案例 1:过程奖励模型(Process Reward Model, PRM)
PRM 曾被证明可有效引导模型优化推理任务解决路径,但实际应用中发现三重瓶颈:
1、 细粒度步骤定义困境:通用推理任务中难以显式界定原子化推理步骤;
2、中间步骤验证难题:自动化标注(模型判定)可靠性不足;人工标注难以规模化扩展;
3、 奖励破解与系统复杂性:引入模型驱动的 PRM 会诱发 reward hacking;奖励模型迭代需额外训练资源,显著增加训练 pipeline 的复杂度。
结论:尽管 PRM 在模型生成响应的 Top-N 重排序与引导式搜索中表现良好,但在大规模强化学习框架中,其收益无法覆盖新增的计算开销。
案例 2:蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)
受 AlphaGo 与 AlphaZero 启发,尝试通过 MCTS 增强测试时计算可扩展性,方法设计:
1、将答案分解为可搜索的子模块;
2、通过 prompt 引导模型生成与搜索步骤对应的推理标记(tags);
3、基于预训练价值模型(value model)指导 MCTS 搜索答案;
4、用生成的 QA Pair 迭代优化策略模型与价值模型。
规模化训练挑战:
搜索空间爆炸:与围棋的有限状态空间不同,语言标记生成面临指数级扩展的搜索空间,即便设置节点最大扩展限制仍导致模型陷入局部最优;
价值模型依赖性:价值模型直接决定搜索路径质量,但细粒度价值模型训练本身具有极高难度,阻碍模型迭代优化。
3. Future Work
HungYi-Lee: Deep Reinforcement Learning【强烈推荐李宏毅老师的课】
DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
A vision researcher’s guide to some RL stuff: PPO & GRPO
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
中国 AIGC 产业应用峰会回顾
2024 年 1 月 5 日,【智求共赢・中国 AIGC 产业应用峰会暨无界 AI 生态合作伙伴大会】在杭州未来科技城会议中心举行。
大会汇集行业资深专家及领军企业,共同聚焦 AIGC 领域,围绕当下热点话题进行深度延展,探讨行业激烈竞争下的运营新思路、发展新模式!点击文章,回顾精彩内容~
AI 新智界园区开放合作啦!
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。