狂读论文:DeepSeek-R1 Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
内容总结(参考博客https://bruceyuan.com/post/deepseek-r1-paper-reading-notes.html)
基于过程的奖励模型、强化学习、以及搜索算法,如蒙特卡罗树搜索 和束搜索。然而,这些方法都未能达到与 OpenAI 的 o1 系列模型在通用推理能力上的同等水平。
本研究首次尝试使用纯强化学习来提升语言模型的推理能力。探索 LLM 在没有任何监督数据的情况下开发推理能力的潜力,重点关注其通过纯 RL 流程实现的自我演化。
这篇 Paper 一共介绍了三个重要的模型:
- DeepSeek-R1-Zero
- 结论是只用 RL 就可以提升模型效果,非常具有启发性。
- DeepSeek-R1
- Reasoner 模型很强很强。
- 通过多阶段的训练,相对于只用 RL,可以进一步提升模型效果。
- DeepSeek-R1-Distill 的系列模型
- 结论是:在小模型上,在【大模型上进行蒸馏】效果会好于【用 R1 的方式做训练】。
- DeepSeek-R1-Zero
Deepseek-R1-Zero
- 回答问题的格式要符合以下格式
- 思考的步骤要包含在
<think>思考过程</think>
。 - 最终的结果要包含在
<answer>最终结果</answer>
。 - 并且需要让模型先思考,然后再问题。
- 思考的步骤要包含在
- 强化学习
- 使用 GRPO 强化学习算法。
- 奖励有两种
- 最终结果的精确奖励。模型最终输出的答案是否正确。
- 中间格式的格式奖励。模型是否先输出
<think>xxx</think>
,然后输出<answer>xxx</answer>
这样的格式。
- 模型在 RL 的催化下自我进化的能力。具体是指:
- 越训练,模型的思考越长,输出的 token 越多。
- 模型会在中间的思考过程中出现【反思、纠正、重新评估、重新探索】等行为增强模型思考和解决问题的能力。
- 回答问题的格式要符合以下格式
Deepseek-R1
收集 long-cot 数据作为冷启动数据来监督微调
增加语言一致的奖励
拒绝采样收集 SFT 数据(推理以及非推理数据)
全场景强化学习:
对于推理数据,我们还是和
deepseek-r1-zero
一样,采用规则奖励的模型作奖励信息训练。对于非推理数据,我们采用
reward-model
作为奖励信号,这是为了捕获细微场景的人类偏好
优点
- 可读性提高:语言一致
- 推理能力更强
- 有用性与无害性
Deepseek-R1-Distill
- 方式1:直接用 deepseek-r1 蒸馏数据,让小模型学习(SFT)。
- 方式2:小模型采用
deepseek-r1
同样的 pipeline 作训练,获得这样的能力。 - 最终的结果看,蒸馏的效果好于直接用小模型作RL训练。
不成功的尝试
- 过程奖励模型 (Process Reward Model, PRM)
- 难以明确定义细粒度步骤:在通用推理任务中,很难显式地定义每一步的细节。
- 中间步骤的正确性难以判断:确定当前中间步骤是否正确是一个挑战。使用模型进行自动标注往往无法得到理想结果,而人工标注则难以扩展。
- 奖励黑客问题 (Reward Hacking):一旦引入基于模型的 PRM,就不可避免地会出现奖励黑客现象 (Gao et al., 2022)。此外,重新训练奖励模型需要额外的训练资源,使整个训练管道更加复杂。
- Monte Carlo Tree Search(MCTS)
- 在语言模型中,词表太大了,基本都十几K,因此搜索空间太大了。
- 如果采用最大的探索限制,又容易产生局部最优。
- value model 很难训练,不好评估当前的步骤是否是好的。
- 过程奖励模型 (Process Reward Model, PRM)
英语单词
- preliminary 初始的
- cold-start data 冷启动数据:模型首次启动时来帮助其进入工作状态的数据
- distilled from 由...蒸馏得到
- diminish 减少
- component 组成部分
- align with 与...一致
- minimal 最少的
- reasoning-oriented 面向推理的
- convergence 收敛
- rejection sampling 拒绝采样
- validate 验证
- incentivize 激励
- inclusion 包含
- constraint 约束
- trajectory 轨迹