§ R1: 推理模型,DeepSeek-R1-Zero、DeepSeek-R1,没有采用SFT、只是用了RL。DeepSeek-R1-Zero 有很强的推理能力,但是可读性差、也会出现语言混淆;为了解决这两个问题,做出了DeepSeek-R1,用了多阶段训练和cold-start数据,具体是 首先采用几万条cold-start数据对DeepSeek-V3-base进行finetune,然后用了RL得到DeepSeek-R1-Zero,在RL快收敛的时候,基于checkpoint生成新的sft数据集,结合之前的sft数据,组成新的数据集,对DeepSeek-V3-base重新进行sft、然后再经历一次RL,最终得到DeepSeek-R1。总结起来,就是用快训练好的DeepSeek-R1生成了一些sft数据,然后重新对DeepSeek-V3-base进行sft、再进行RL,得到最终的DeepSeek-R1。 § DeepSeek-R1-Zero: 只采用RL、不使用SFT。RL用的依然是GRPO(Group-Relative-Policy-Optimization),reward依然是rule-based reward,包括两个分别是accuracy reward(精确奖励)、format reward(格式奖励)。这里 没有直接使用neural-reward-model的输出,因为neural-reward-model会出现reward-hacking(奖励劫持)的问题,所以,进行了重新训练。重点说下"aha moment",强化学习会让模型出现"aha moment"。 § DeepSeek-R1: 为了解决DeepSeek-R1-Zero的可读性差和语言混淆问题,设计了一个pipeline,共4步。1. 用几千个cold-start数据对DeepSeek-V3-Base做sft,这里的数据是来自DeepSeek-R1-Zero的输出、以及基于此的人工的手动干预;2. RL做推理,这里增加了一个“语言一致性reward”(用来解决语言混淆的问题);3. Rejection Sampling和SFT,具体是在RL快收敛的时候,用这个模型收集了一波sft数据(和第1阶段sft数据不同 这里的sft数据还增加了其他的一些维度数据 如writing/角色扮演/其他生成类任务)。