Deepseek R1的技术报告显示其推理效果已经持平或者超过了gpt4-o1,并且很多人认为R1的强化学习训练技术也是实现AGI的重要借鉴。
原文标题:原创 | Deepseek R1技术思考
原文作者:数据派THU
冷月清谈:
怜星夜思:
2、DeepSeek R1 的技术报告中提到,他们尝试了过程监督奖励模型(PRM),但效果并不理想。你认为 PRM 在哪些方面可能存在问题,导致其在 R1 的训练中表现不佳?
3、DeepSeek R1 通过蒸馏的方式,将大模型的推理能力迁移到小模型上,效果显著。你认为蒸馏技术在未来 LLM 的发展中,会扮演什么样的角色?
原文内容
作者:金一鸣本文约5700字,建议阅读10+分钟
本文带你从模型技术角度了解Deepseek R1。
前言
自DeepSeek R1发布以来,其热度一直有增无减,主要亮点是其技术报告中显示其推理效果已经持平或者超过了gpt4-o1,并且很多人认为R1的强化学习训练技术也是实现AGI的重要借鉴。该模型的发布也震惊了整个硅谷,很多科技公司如英伟达,meta等也逐渐开始在平台上接入DeepSeek模型,学术届的推理模型方向也已经把R1作为新的比较对象。很多人试用后的体感也符合预期,能明显感觉到这个模型更加智能,利用思考的方式解答很多难问题。基于这次“革命性”发布,希望从模型技术角度来学习一下R1给我们带来的启发。
图1 DeepSeek R1在各类推理为主的测试集上的表现
上图(图1)是R1在各类公开推理测试集上的表现,总的来看R1的能力基本上接近当时最强推理模型gpt4-o1,可以看到在代码类测试集比如codeforces和SWE-bench上和gpt4-o1基本差不多,在数学类测试集比如AIME 2024和MATH-500上甚至比o1略好,国内能有公司在有限资源下取得这样一个结果无疑是很优秀的。
技术报告亮点
3. 高效蒸馏策略:证明大模型推理模式可通过蒸馏迁移至小模型,且效果优于直接 RL 训练。
整体pipeline:
图2 Deepseek R1训练整体流程(图来源于x.com made by Harris Chan)
整个流程图分为三个部分:
左路是DeepSeek-R1-Zero的训练,通过Deepseek V3作为基座直接通过GRPO的RL训练得到R1-zero。中路表示Deepseek V3基于SFT和RL得到训练好后的模型,然后对该模型通过Prompt engineering和rejectec sample的方式获取reasoning数据,同时再由Deepseek V3生产出一些非reasoning,最后获得800k 综合数据,然后继续用RL方式进行训练,得到最后的R1。
左下角是用800k的数据直接对Qwen和Llama进行蒸馏,得到有推理能力的Qwen/Llama模型。
DeepSeek-R1-Zero
Proof-of-concept:
以v3作为基座,只用强化学习方法来增强模型推理能力,训练得到r1-zero模型,该模型有推理,反思以及长cot生成的能力。这是首次公开的研究验证LLM的推理能力增强无需SFT,可以通过纯粹的RL得到激励。
图3:PPO和GRPO训练方式对比
PPO:
目前强化学习最主流的算法,主要思想是通过约束策略梯度更新的幅度,在保持训练稳定的同时实现高效优化。从图3能看出,PPO需要加载四个模型(reference model,reward model,value model,policy model),并在训练的时候实时更新两个模型(policy model和value model)的参数,这就会导致训练时对资源要求较高,并且训练至成功的周期较长。
主要算法流程:
图4: PPO目标函数公式
主要是通过引入一个目标函数来实现(见图4),该函数对策略的更新施加约束,使新策略与旧策略之间的变化保持在较小范围内。具体而言,PPO 使用了一个剪切目标和保守策略迭代框架,从而在训练过程中平衡探索与稳定性。
主要训练流程:
-
数据收集:使用当前策略π与环境交互,收集轨迹数据。
-
优势计算:基于收集的数据估计每个状态-动作对的优势值At。
-
策略优化:通过梯度上升最大化剪切目标函数LCLIP,更新策略参数θ 。
-
重复利用数据:可将同一批数据分多个小批量(epoch)迭代优化,提升样本效率。
GRPO:
基于PPO对资源消耗较大的问题,Deepseek提出了GRPO的算法,主要思想就是去掉需要实时更新的value model,通过分组奖励估计基线,显著降低计算成本。Deepseek主流的RL方式基本也都是以GRPO这种更加轻便的方式进行训练,并且还取得了很好的效果。
具体来说是通过组内样本的相对比较来计算策略梯度,将模型生成的多个输出划分为组(Group),通过组内样本的相对奖励计算优势函数(见图5公式3),从而替代传统PPO依赖的独立value model。例如,对同一输入生成多个候选回答,根据组内输出的质量差异动态调整策略梯度。
Reward model:
基于规则奖励设计出了奖励系统(相当于verifier),通过预定义规则生成奖励信号,而非依赖数据驱动的奖励模型。
-
准确性规则:例如在数学任务中,若答案格式符合或代码通过编译测试,则给予高奖励。
-
格式规则:强制模型将推理过程封装在 <think> 标签内,否则惩罚。
-
样本示例:
Rule-based Reward技术最早是由OpenAI在安全问题上提出训练方式,这是一种基于预定义规则生成奖励信号的模型。目前流行的强化微调普遍使用了verifier机制,例如ReFT/RFT算法。ReFT的奖励函数如下:
不使用传统模型作为reward model的原因:
1. 可能出现reward hacking现象,即actor可能寻找捷径获取高reward值,偏离预期的优化目标。举个例子:就像苏联钉子工厂以生产数量为考核指标,结果工人大量生产无用的微型钉子来达标。在模型中,可能会通过输出冗长重复的回答来获取高奖励。解决方案通常是设置惩罚机制或采用PRM训练方式来避免这种情况。
2. 迭代reward model过程耗时且复杂,训练流程较为繁琐。
自我进化现象(self-evaluation):
图6: R1 zero训练过程中输出长度变化曲线
通过图6可以看到,随着训练越来越久,输出答案的推理长度也一直增长,原因主要是RL 过程中模型会自然延长推理步骤,涌现反思、多策略尝试等行为,同时也带来了模型更加智能的效果。
图7:R1 zero训练过程中出现aha moment例子
“aha moment”:模型在中间版本中自主优化解题步骤,训练r1-zero时出现了ahamoment,这让模型具备了深度思考的能力,从原来教模型知识的范式改为只要提供正确的激励,模型可以自己学到理解知识以及推理出正确答案的能力,但是当前并没有确定的实验表明这个现象与效果的必然联系。
zero效果:
从图8可以看到,仅通过强化学习的方式进行训练的R1 zero在数学测试集上的效果非常好,随着训练步数增加,达到的准确率也是逐步上升。
图8:R1 zero在AIME测试集上的效果对比
并且通过投票的方式还能优化推理效果,甚至可以达到超过gpt-4o-1的水平,说明可以使用较好的推理模型作为base model,可以在推理类任务上达到比较好的效果。
图9: R1 zero在推理测试集上的表现
存在问题:只进行RL的zero版本生成的内容会存在可读性差,多语言混杂的问题,为了克服 r1-zero 的这些问题,引出了r1版本的训练。
Deepseek-R1
动机:
2. 能否基于zero训练出一个通用能力也很强的推理模型?
训练流程:
Step 1 高质量数据冷启动:
1. 使用高质量的LongCoT数据对模型进行SFT(采用v3作为基座模型,以防止RL初期训练不稳定)。Long CoT数据产出:以长CoT的few-shot提示为例,直接引导R1 zero产出通过反思和验证生成详细答案,并通过人工后处理完善结果。
2. 严格控制数据格式,使生成的CoT数据更加规范化。格式示例:|special_token|<reasoning_process>|special_token|<summary>
Step 2 RL训练: 基本沿用zero训练方式,但额外增加了语言一致性奖励,用于抑制中英文混合输出。这两个步骤显著提升了模型的可读性和整体效果。
Step 3 大规模数据收集:
推理数据(Reasoning data): 利用RL训练得到的chekpoint,通过rejection sampling采样推理数据。使用规则奖励和V3模型作为评判标准来筛选高质量数据,并通过投票机制选出正确优质的数据,总计60万条。
非推理数据(Non-reasoning data):使用v3模型生成带有CoT的非推理任务问答数据,总计20w数据。
Step 4 SFT + RL: SFT:在DeepSeek-V3-Base上使用获得的800k条SFT数据训练了2个epoch。RL:第一阶段针对数学、代码和逻辑推理任务,继续使用与DeepSeek-R1-Zero相同的规则奖励(rule-based RM)具体形式如下。
第二阶段针对通用数据,采用reward model(model-based RM)来对齐人类偏好,与v3训练保持一致,通过考虑helpfulness和harmlessness的奖励进行训练,具体形式如下,最终得到全场景推理模型R1。
R1效果:
图10: R1在各类测试集上的效果
从图10可以看到,R1在推理和通用数据集上效果基本接近甚至超过最强闭源模型,并且在保持强推理的前提下,在各类通用测试集上表现也基本与通用模型能力接近。
Distilling
图11: 通过R1数据蒸馏后的qwen和llama模型在各类测试集上的表现
通过图11第一个表格可以看到,推理模型QwQ-32B-preview的效果不如直接用Deepseek R1数据蒸馏Qwen 32B得到的模型效果好(在AIME的pass@1上72.6远高于50),推理模型通过蒸馏的方式效果会优于从基座模型进行RL训练的方式得到的模型。
同时通过第二个表格可以看出通过只使用大规模RL训练在qwen基座上的方式与qwq效果接近,但是效果弱于大模型蒸馏的模型。
概括来看就是QwQ-32B-preview ≈ DeepSeek-R1-Zero-Qwen-32B (pure RL) < DeepSeek-R1-Distill-Qwen-32B(蒸馏+RL) 蒸馏部分总结:具体产出优质数据的超大模型是必要的,蒸馏这种方式是一个性价比最高的获取 很强小模型的方式。
这里补充一点蒸馏相关实验,从另外一篇Deepseek V3报告中也可以看到DeepSeek-V2.5研究了从DeepSeek-R1蒸馏的贡献(图12)。DeepSeek-R1Distill在LiveCodeBench和MATH-500基准测试中取得了显著提升,也证明了蒸馏的方式是提升模型最简单有效的方式。
图12: DeepSeek-V2.5加入R1蒸馏数据后的效果
不成功的尝试:
通过过程监督奖励模型进行RL 训练,目前被传言是openai o1的主要实现方式,并且在很多论文中被证实为比结果监督更好,包括 Agent Q以及DeepSeekMath 模型:为什么用PRM?主要是减缓reward hacking。下面我们会具体来分析一下PRM:
图13:主流语言模型推理算法
PRM是一种基于过程奖励的强化学习方法,通过评估推理路径中的每一步(而不仅仅是最终结果)来生成奖励信号。
-
目标:确保模型不仅生成正确答案,还遵循合理的推理逻辑。
-
实现方式:设计过程奖励函数,评估每一步推理的正确性。结合强化学习算法(如PPO)优化策略,使其生成符合逻辑的推理路径。
-
优势:提高模型的逻辑一致性和可解释性。減少Reward Hacking现象(如生成错误逻辑但最终答案正确)。
-
缺点:需要人工设计过程奖励函数,可能引入偏差。并且计算开销较高,尤其是对长推理路径的评估。
PRM效果不是很好:
原文:Third, once a model-based PRM is introduced, it inevitably leads to reward hacking (Gao et al., 2022), and retraining the reward model needs additional training resources and it complicates the whole training pipeline.
主要有以下三个原因:
-
很难明确界定一般推理中的细粒度步骤。
-
很难判断当前中间步骤是否正确(模型标注准确不高,人工成本又太高无法规模化)。
-
会导致reward hacking,如果重新训练奖励模型需要额外的训练资源,计算开销大,并使整个训练流程复杂化。
PRM仍然会导致reward hacking本质原因:不完美代理指标。根据Goodhart定律,当一个指标被过度优化时,它最终会与原本的优化目标脱节。所以不可能完全找到一个完美的方式来对reward进行很好的拟合,既然有这样的规律,Deepseek团队也就很自然的直接使用规则,利用只对结果进行奖励的方式进行训练,这种验证下来模型也可以自主得到比较好的效果。
图14:蒙特卡洛树搜索实现方式
R1的不成功例子中第二个就是蒙特卡洛树搜索方式,MCTS(蒙特卡洛树搜索)是一种基于搜索的规划算法,通过模拟未来状态和动作序列来评估当前决策,以达到最大化累积奖励,很久之前比较经典的围棋Alphago和Alphazero就是根据这类算法实现的。
-
目标:在复杂决策问题中找到最优策略,通常用于游戏(如围棋)或规划任务。
-
实现方式:选择(Selection):从根节点开始,选择最有潜力的子节点。
-
扩展(Expansion):在叶子节点扩展新的子节点。
-
模拟(Simulation):从新节点开始模拟未来状态,直到终止条件。
-
回溯(Backpropagation):将模拟结果回溯到根节点,更新节点统计信息。
-
优势:在复杂决策问题中表现优异(如围棋、象棋)。
-
缺点:计算开销高,尤其是在高维状态空间或长决策序列中。对实时性要求高的任务不适用。
文章中也比较了MCTS在生成任务上很难有效果主要有下面三点:
-
搜索的空间很大,计算太耗时,不适合大规模模型的训练,限制每个节点的扩展次数又容易导致陷入局部最优。
-
价值模型训练困难。在生产任务中每一步的奖励信号预估很难,导致训练一个细粒度的价值模型非常困难。
-
MCTS依赖于迭代优化,但在语言生成任务中,每次迭代的改进效果有限,难以显著提升模型性能。
关于R1的思考
5. 高质量数据依然至关重要。即使在更注重RL的情况下,先用高质量数据进行SFT训练仍能带来更好的效果,这对后续的RL训练能起到事半功倍的作用。
附r1复现参考:
open R1:https://huggingface.co/blog/open-r1
tinyzero:https://github.com/Jiayi-Pan/TinyZero?tab=readme-ov-file
Reference:
https://arxiv.org/pdf/2501.12948
https://arxiv.org/pdf/2401.08967
https://arxiv.org/pdf/2412.10302
https://arxiv.org/pdf/2210.10760
https://arxiv.org/pdf/2501.09686
https://aman.ai/primers/ai/o1
https://huggingface.co/docs/trl/main/en/grpo_trainer
https://arxiv.org/pdf/2501.19393
数据派研究部介绍
数据派研究部成立于2017年初,以兴趣为核心划分多个组别,各组既遵循研究部整体的知识分享和实践项目规划,又各具特色:
算法模型组:积极组队参加kaggle等比赛,原创手把手教系列文章;
调研分析组:通过专访等方式调研大数据的应用,探索数据产品之美;
系统平台组:追踪大数据&人工智能系统平台技术前沿,对话专家;
自然语言处理组:重于实践,积极参加比赛及策划各类文本分析项目;
制造业大数据组:秉工业强国之梦,产学研政结合,挖掘数据价值;
数据可视化组:将信息与艺术融合,探索数据之美,学用可视化讲故事;
网络爬虫组:爬取网络信息,配合其他各组开发创意项目。
点击文末“阅读原文”,报名数据派研究部志愿者,总有一组适合你~
转载须知
如需转载,请在开篇显著位置注明作者和出处(转自:数据派THUID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。
未经许可的转载以及改编者,我们将依法追究其法律责任。