学习近期备受关注的 DeepSeek R1 论文:《DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning》,主要先理解并整理了训练主要过程的流程图。
初稿: 2025/02/10, 修改: 2025/02/19
论文主要提到了两个模型的训练过程:DeepSeek-R1-Zero和DeepSeek-R1。整个论文读下来很清晰,有“酣畅淋漓”的感觉。其中涉及到较多步骤,先整理了训练主要的过程,以方便直观地看到每个步骤。

整理下来的几点感受:
- DeepSeek-R1-Zero 最让人exciting,不仅因为仅仅基于 Base 模型进行大规模 RL,就能激发模型的 CoT 能力;还因为它的简洁。
- 对于 DeepSeek-R1 模型,SFT仍旧是重要的。R1-Zero模型在R1中的一个很大的作用是低成本产生大规模的long CoT数据用来SFT,而 long CoT 数据本身是比较难获取的。
- DeepSeek-R1 的 Post-Training (SFT+RL) 核心是数据的制作:1)通过设计了一套精细且复杂的流程来 iterative training 模型以制作数据,这个有点类似“左脚踩右脚飞上天”;2)把类似 R1-Zero 通过 math、code、STEM等学习到的推理能力逐步泛化到其他 domain 的推理(图中intermediate checkpoint做的事情)。
DeepSeek-R1-Zero
R1-Zero 直接对预训练的模型(没有经过 SFT)做大规模 RL,证明了能够激发模型的 CoT 能力,这点让人激动,给人有点 AlphaGo 的感觉。
训练数据
- 能够被规则验证的数据,比如code,math,还有STEM(Science, Technology, Engineering, Mathematics),推理题等。
- 训练输入给了特定的格式要求

- 对于数量和具体的数据 filter 过程没有明说。既然是 large-scale reasoning RL training,数量应该不会少。以同样使用 GRPO DeepSeek-Math 的论文作为参考,它使用了大约144K数学题样本(这些是带有CoT的)。R1-Zero 训练RL并不要求数据带有CoT,数量可以更多。
Rule-based rewards
没有使用神经网络来做 reward model (无论是结果还是过程的reward),他们在大规模 RL 训练中很容易发生“reward hack”。使用了两类rewards:
- Accuracy rewards: 验证 code, math, 推理题的答案是否正确
- Format rewards: 验证 CoT 是否放到<think></think>的标签之中