DeepSeek-R1论文浅读

DeepSeek-R1-Zero: 直接从DeepSeek-V3-Base进行强化学习RL训练,大概进行了数千步,就能展现出强大的性能和惊人的推理能力。(AIME 2024 的pass@1 score 从15.6%提升到71.0%,通过多数投票,分数可以进一步提升到86.7%,媲美OpenAI-o1-0912)

DeepSeek-R1-Zero的训练方法:

  1. 首先采用Group Relative Policy Optimization (GRPO) 进行RL训练,节约RL训练成本(用组得分代替critic model),看这篇GRPO
  2. Reward model采用基于规则的奖励制度
    • 准确性奖励,比如对于有准确答案的数学问题,或者可以通过执行测试获得正确性反馈LeetCode问题。
    • 格式奖励,强制模型将思考过程放在‘<think>’ and ‘</think>’中间。
  3. 训练模板
    采用图 训练模板 所示的简单模板,模板要求 DeepSeek-R1-Zero 首先生成推理过程,然后给出最终答案。刻意将约束限制在这个结构化格式上,避免任何与内容相关的偏见——例如强制要求反思性推理或推广特定的解决问题策略——以确保能够准确观察模型在强化学习(RL)过程中的自然发展。
  4. DeepSeek-R1-Zero训练发现:
    • 随着训练步数的增加,性能(Performance)越来越好,达到了OpenAI-o1-0912水平 见图 平均响应长度-性能优势
    • 自我进化过程(Self-evolution Process),尤其是在复杂推理方面,见图 平均响应长度-训练轨迹
训练模板
平均响应长度-训练轨迹
性能优势-训练轨迹
  1. aha moment
    如图,使用拟人的语气,来重新思考。


    aha 时刻
  1. DeepSeek-R1-Zero暴露的问题:
    可读性差,经常会输出混合性语言的推理过程。为了解决可读性差和语言混合的问题,训练了DeepSeek-R1

DeepSeek-R1

解决DeepSeek-R1-Zero 可读性差和语言混合的问题,设计了一个训练pipeline去训练deepseek R1,主要包括四个步骤:

  1. 构建少量长的COT数据,微调初始的RL actor。
    • 探索了几种收集cot的方式:使用few shot的长cot数据作为样例,直接指令模型通过反思和验证生成详细的答案,以可读的方式收集DeepSeek-R1-Zero的输出,最后通过人工后处理标注和细化结果;
    • 冷启动数据的输出中定义了一些特殊token,来格式化输出,让思考过程可读性增加
      |special_token|<reasoning_process>|special_token|<summary>
  2. 为了解决语言混合的问题,在RL过程中,引入了语言一致性奖励。计算目标语言在COT中的比例。
    • 消融实验表明,这种奖励的引入会让模型的准确率稍微下降,但是可读性会更好。
    • 奖励合并方式是直接相加,将准确性奖励 和语言一致性奖励 直接相加。
  3. 拒绝采样 和 监督微调
    在RL收敛之后,利用checkpoint收集下一轮的 SFT数据。和冷启动数据不同的是,这个阶段会整合来自其他领域的数据,来增强模型在写作、角色扮演和其他通用任务方面的能力。得到推理数据+非推理数据,约800k数据。
    注意:是直接在DeepSeek-V3-Base上进行2个epoch的训练。
推理出来的数据

非推理的数据
  1. 针对所有场景的强化学习
    为了使与人类偏好一致,实施了两次强化学习阶段。
  • 对于数据、代码、逻辑推理领域,使用和DeepSeek-R1-Zero一样的奖励方式,对于通用领域,使用奖励模型来捕捉人类的偏好。
  1. 蒸馏
    使用DeepSeek-R1生成的800k数据,进行小模型蒸馏,只有SFT阶段,没有RL。

问题

为什么没有单独训练一个奖励模型?
发现神经奖励模型在大规模强化学习过程中可能会遭遇奖励操控问题,并且重新训练奖励模型需要额外的训练资源,且会使整个训练流程变得更加复杂。

为什么没有训练reward model
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容