menu 屌丝论坛

简单理解 R1 模型的训练过程(外行视角)

-

自己当软件文档读的,追求:越简单越好,尽力小学生也能懂的

---分割---

流程描述冷启动(微调)-->  强化学习1 --> 监督学习1 --> 监督学习2

---分割---

故事是很连续的,不连续在于 术语的解释和方法的选择

简单说

(传说 在很久以前...)deepseek 官方训练出了基础模型 V3,然后用 「纯强化学习」方式,直接探索出了 R1-Zero 的推理模型,,这个模型已经吊打了 o1 模型,本来事情到这里就完了,拿出来用就可以了(收工回家)

但是

R1-Zero 虽然很强,而且训练省心思,,但有一个难以解释的缺点--- 它的结果 可读性很差(美女啥都好,就是有腋臭...)。

说详细点,就是 语言混合,且格式乱入。

---分割---

为了 解决R1-zero 的缺点,deepseek 只好去想个策略,去克服(当然本身也有 审核的需求)

他的方法就是 

先通过【冷启动】的方式,放入一个基础,让其有个语言规范的“体质基础”,,好比 运动员在比赛前,先锻炼肺活量,肌肉(就没必要 胡乱探索 会非常曲折,也不美观)。

这个基础就是加入(几千条初始的 数据集)

  • few-shot prompting with a long- CoT as an example
  • directly prompting model to generate detailed answer with  reflection and verification
  • 收集 R1-Zero 模型的输出  可读性高的
  • 通过人类标注员,对R1-zero 的输出 可读性修复

在这个阶段,官方定义出 生成的格式 special_token|<reasoning_process>|special_token|<summary>

-

冷启动后,进行主要的 【强化学习1

主要是 coding, mathematics, science, and logic reasonin ,,(这类似 训练运动员 主要技能模块的训练)

因为这时 语言混合现象还是出现,因此官方 将模型提高的方向 部分对齐到 语言不混合(就是 按照输出中 目标语言的比例)

(#对齐语言,削弱了点 大模型的性能,但人类可读性增加)

-

之后是 【监督学习1】(SFT supervised fune-tune)

这是为了 大模型能应对 理科之外的问题,比如 写作,角色扮演,其他

官方分为 reasoning   non-reasoning ,数据量分别是600K 和 200K

其中reasoing 就是一眼看出是推理任务,,而non-reasoning 官方会尝试生成 CoT,,至于 更简单的 Hello 是不思考的(无CoT)

(reasoning 扩展了之前数据集,加上了有 ground-truth 的,但是没有过程的任务,用V3 做裁判出分数)

-

#这也解释了,思考模型有些任务会出 CoT 更顺,,有些任务则很呆,只能靠反思 和 验证,甚至自我循环,,还有一些任务 如自我介绍 和一般模型没区别。

(强的模型 泛化思维链更强 如R1,,而zhipu 的模型,问个单词就会变一般反思 和验证)

-

最后是【监督学习2】(SFT)

这一步 和模型能力无关,,主要是 让它向人类对齐,一个是helpful  另一个是harmless

前者保证 summary 部分--> 对齐到用户 (不考虑思考的部分)

后者保证 去除risk 和 biases 部分,(同时考虑 summary 和 resoning 的部分)

(#个人看法 zhipu的模型,就是这一步做的很糟糕。)

-

最后

该模型非常不错,但还是有很多问题,如 软件工程的任务 比起基础模型没提升(因为 没有好的数据集),虽然训练时候有few-shot ,但实际使用推荐 zero-shot。