DeepSeek-R1详解

张开发
2026/4/15 21:02:17 15 分钟阅读

分享文章

DeepSeek-R1详解
1. 摘要DeepSeek-R1 的核心贡献不是提出一种全新的 Transformer 主干而是提出了一条面向推理能力的后训练路线先用纯强化学习证明大模型可以在没有 SFT 冷启动的前提下自然涌现长链推理能力得到DeepSeek-R1-Zero再引入少量cold-start 长 CoT 数据、两轮RL/SFT 迭代与蒸馏得到更可读、更稳定、泛化更好的DeepSeek-R1。从官方仓库和论文可以清楚看出DeepSeek-R1 / R1-Zero 均训练在 DeepSeek-V3-Base 之上底座仍是 DeepSeek-V3 的 MoE MLA 体系而不是单独为 R1 重新设计的 backboneR1 的主要创新位于 post-training尤其是纯 RL、GRPO、规则奖励、cold-start 与多阶段训练管线小模型更适合做蒸馏而不是独立重复大规模 reasoning RL。2. 模型定位R1 不是“新结构模型”而是“推理后训练框架”很多人第一次看 R1会误以为它像 Transformer、Mamba、RetNet 一样是一个“结构创新模型”。实际上并不是。DeepSeek 官方 README 明确说明DeepSeek-R1-Zero 与 DeepSeek-R1 都是基于 DeepSeek-V3-Base 训练的而 DeepSeek-V3 官方仓库说明其底座是一个671B 总参数、37B 激活参数的 MoE 模型采用Multi-head Latent Attention (MLA)与DeepSeekMoE。这意味着架构层R1 继承 V3 底座能力层R1 的 reasoning 提升主要来自 post-training工程层官方真正公开的“可读代码”主要是 V3 的推理实现与 R1 的模型/使用说明而不是完整的 RL 训练流水线。换句话说R1 的主要研究问题不是“怎么造一个更强 backbone”而是“如何让一个强 backbone 自发形成稳定的长链推理行为”。3. DeepSeek-R1 想解决什么问题R1 的论文聚焦一个非常具体的问题LLM 的推理能力是否可以不依赖大量人工链式思维CoT标注而主要靠强化学习激发出来传统路线通常是大规模监督微调含人工 CoT - 偏好优化 / RLHF - 测试时采样 / 投票DeepSeek-R1 的探索方向则是强 base model - 直接纯 RL 激发 reasoning - 用少量 cold-start 修正可读性与稳定性 - 多阶段 RL/SFT 迭代因此 R1 解决的是三类问题3.1 纯 RL 能否直接催生 reasoningR1-Zero 证明可以。论文明确指出R1-Zero 直接在 base model 上做 RL不依赖 SFT 冷启动也能自然涌现自检、反思、长推理链等行为。3.2 纯 RL 的 reasoning 能否变得“可用”R1-Zero 虽强但论文承认它存在可读性差多语言混杂输出风格不稳定。于是 R1 加入少量 cold-start 数据并继续多阶段训练。3.3 小模型如何获得类似 reasoning论文强调从大模型蒸馏 reasoning 轨迹到小模型通常比让小模型自己做大规模 RL 更有效。4. R1 总体训练框架把论文中的训练管线简化后可以写成下面这条主线DeepSeek-V3-Base │ ├─ A. Pure RL - DeepSeek-R1-Zero │ ├─ B. Cold-start SFT │ ├─ C. Reasoning-oriented RL │ ├─ D. Rejection Sampling SFT │ └─ E. RL for all scenarios - DeepSeek-R1论文对这条路线的描述很明确R1 的管线包括两轮 RL 和两轮 SFT前者用于发现更强的 reasoning pattern 与对齐人类偏好后者分别承担“推理起步”和“通用能力/非推理能力注入”的作用。5. DeepSeek-R1-Zero纯 RL 直接激发推理5.1 核心思想R1-Zero 是这篇工作的真正亮点。论文指出他们直接对 DeepSeek-V3-Base 做大规模 RL不先做 SFT 冷启动试图观察模型是否会自己发展出 chain-of-thought 行为。论文给出的结论是肯定的R1-Zero 在 RL 过程中逐渐展现出self-verification自我验证reflection反思long CoT更长思维链更强的复杂问题求解能力这也是 R1 论文最有影响力的一点首次公开验证LLM 的 reasoning capability 可以主要通过纯 RL 激励出来而不是必须依赖海量人工 CoT。5.2 GRPOR1-Zero 使用的 RL 算法为降低超大模型 RL 成本论文采用GRPOGroup Relative Policy Optimization。GRPO 的关键思想是不再显式训练一个与 policy 同量级的 critic对每个问题从旧策略采样一组候选回答根据组内分数的相对关系估计 advantage。论文明确指出GRPO 的动机是节省 RL 训练成本因为传统 critic 往往与 policy 同规模而这对超大模型很昂贵。可以把它理解成同一道题 - 采样 K 个回答 - 用规则/验证器打分 - 做组内相对归一化 - 更新策略这也是今天很多 reasoning-RL 系统最值得参考的一点对于“答案可验证”的任务group-relative baseline 比单独训练一个大 critic 更划算。5.3 奖励设计规则奖励优先论文明确说在 DeepSeek-R1-Zero 阶段他们没有依赖 outcome/process neural reward model作为主力而是优先使用规则奖励。主要原因有两个神经奖励模型在大规模 RL 中可能出现 reward hacking训练和维护 reward model 会额外增加工程复杂度与计算成本。R1-Zero 的奖励可以概括成两类1准确性奖励适用于有明确答案或可执行验证的任务例如数学题代码题逻辑题。2格式奖励论文中要求模型按照模板输出先 reasoning再 final answer。这保证了 RL 不是只追逐“答案对”也会兼顾可解析格式。5.4 R1-Zero 的能力涌现与问题论文中 R1-Zero 展现出两个非常有代表性的现象现象 1推理长度自然增长随着 RL 进行模型的平均响应长度持续增长说明模型开始学会用更多“思考时间”来解决难题。现象 2出现自我修正行为模型会主动回看前文、纠正中间推导、重新规划答案结构这种行为不是人工显式教进去的而是在 RL 中奖励驱动下逐渐形成的。但论文也坦诚指出 R1-Zero 的问题可读性较差推理文本经常混合多种语言输出不够稳定难以直接作为面向用户的产品模型。这直接引出 R1 的下一阶段。6. DeepSeek-R1引入 cold-start 与多阶段训练6.1 为什么还要 cold-startR1 的一个重要结论是纯 RL 虽能发现 reasoning但未必能直接得到“好用”的 reasoning 模型。论文指出为防止从 base model 直接做 RL 时的早期不稳定冷启动阶段DeepSeek 构造并收集了一小批长 CoT 数据先把 DeepSeek-V3-Base 微调成初始 RL actor。这批 cold-start 数据规模不是海量而是“thousands of cold-start data”。6.2 cold-start 数据怎么来论文给出的几种来源包括few-shot long CoT prompting直接提示模型生成带反思与验证的详细答案将 R1-Zero 输出重写为更可读格式通过人工后处理进行整理。这说明 cold-start 的目标不是“海量灌输解题模板”而是稳定 RL 起跑阶段约束输出风格更可读让后续 RL 更快收敛到高质量解答模式。6.3 R1 的四段式主体训练虽然论文整体叙述中常说“2 个 RL 阶段 2 个 SFT 阶段”工程上更容易理解为下面四段阶段 1Cold-start SFT把 base model 拉到一个更稳、更可读的 reasoning 起点。阶段 2Reasoning-oriented RL继续针对代码、数学、科学、逻辑等推理密集任务做 RL。这一阶段在准确性奖励之外还额外加入了语言一致性奖励以减少多语言混杂。阶段 3Rejection Sampling SFT当 reasoning RL 得到较强 checkpoint 后对每个 prompt 多次采样只保留高质量答案。论文指出最终收集了大约600k reasoning 样本再结合大约200k non-reasoning 样本合计约800k的 SFT 数据这些非推理样本用于补齐写作问答编辑总结自我认知其他通用助手场景阶段 4RL for all scenarios最后再做一轮更通用的 RL让模型同时兼顾推理能力helpfulnessharmlessness用户偏好一致性7. 语言一致性奖励与“用户友好 reasoning”R1 相对 R1-Zero 的一个非常实际的改进是引入了language consistency reward。原因很直接在多语言 prompt 或跨语种数据训练中CoT 很容易出现中英混杂、片段切换虽然答案可能仍正确但人读起来不友好。论文承认引入该奖励会带来轻微性能下降但能显著提升可读性并更符合人类偏好。这反映出 R1 的设计目标并不是“只要 benchmark 更高”而是让 reasoning 既强又能被人看懂、被产品接受。8. Rejection Sampling 的作用很多人会把 R1 简化成“pure RL distillation”其实中间还有很关键的一步rejection sampling。这个阶段的目的不是简单扩充数据量而是把 RL 得到的高质量推理轨迹筛出来去掉混语、冗长、混乱格式、无用代码块把最好的 reasoning 结果变成后续 SFT 的稳定数据源。可以理解为RL 负责“发现”推理行为 Rejection sampling 负责“净化”推理轨迹 SFT 负责“固化”高质量推理模式这套组合比“只做一轮 RL”更适合工程落地。9. Distillation大模型发现 reasoning小模型继承 reasoningDeepSeek-R1 论文还有另一条非常重要的结论对小模型来说直接蒸馏 DeepSeek-R1 产生的 reasoning 轨迹通常比让小模型自己做 RL 更有效。官方 README 也明确列出了 R1-Distill 模型系列包含基于 Qwen2.5 / Llama3 系列蒸馏出的多个尺寸版本。论文进一步指出以Qwen2.5-32B为例直接从 DeepSeek-R1 蒸馏效果优于在同样小模型上直接做 RL。这背后的方法学意义非常大大模型更适合“发现 reasoning pattern”小模型更适合“继承 reasoning pattern”工业界做 reasoning 模型时通常应优先考虑teacher-distillation 路线。10. 官方代码层面R1 仓库公开了什么10.1 DeepSeek-R1 官方仓库官方 R1 仓库主要公开的是论文与模型说明模型下载入口distilled 模型列表推理使用建议指向 DeepSeek-V3 仓库的结构实现。重要的是官方并没有把完整的 R1 RL 训练工程按“一键复现工程”方式完整开源。因此“R1 代码解析”更准确地说应该拆成两部分论文中的训练框架解析DeepSeek-V3 仓库中的推理/结构实现解析10.2 DeepSeek-V3 推理实现DeepSeek-V3 官方仓库的inference/model.py可以看出V3 是MoE MLA底座Block中前若干层是 dense MLP后续层切换到 MoETransformer采用增量解码式推理实现注意力实现里包含 MLA 的 latent/KV 相关设计。这说明R1 的 reasoning 能力主要不是来自一个“重新发明的 decoder”而是依托一个已很强的 V3 底座再通过后训练激发出来。11. 与 open-r1 的关系官方路线 vs 社区复现Hugging Face 的open-r1项目把自己定位为DeepSeek-R1 的 fully open reproduction它的价值不在于“替代官方论文”而在于把缺失的训练工程补出来提供sft.py / grpo.py / generate.py / rewards.py等可复用训练脚本用 TRL / vLLM / Distilabel / benchmark 脚本构成一条更完整的开源复现链路。因此做技术分析时建议分清官方 R1关注算法思想多阶段训练逻辑模型能力结论模型与蒸馏发布open-r1关注如何工程化复现这条路线如何组织 SFT / GRPO / synthetic data generation / benchmark如何把 reward、dataset mixture、callbacks、slurm、vLLM 服务串成实际训练流水线12. DeepSeek-V3 结构对 R1 的意义虽然 R1 不是结构创新工作但理解 V3 底座仍然很重要。DeepSeek-V3 官方仓库指出它是671B 总参数37B activated params / tokenMLADeepSeekMoE辅助损失自由的 load balancingmulti-token prediction 训练目标这些设计带来的意义是12.1 大容量 稀疏激活MoE 让模型在保持巨大总容量的同时只激活部分专家降低单 token 实际计算量。12.2 MLA 降低长上下文推理成本MLA 的目标之一是降低 attention 与 KV cache 压力这对长链 reasoning 和长上下文推理很关键。12.3 强 base model 是 R1 成功的前提R1 证明的是在强 base model 上pure RL 可以激发 reasoning并不意味着任何小模型都能轻松复刻这一效果。13. R1 的方法论总结如果把 R1 抽象成一种通用方法论可以归纳为下面 5 条。13.1 先用可验证任务做 reasoning RL数学、代码、逻辑这类有明确判分机制的任务最适合做 reasoning-RL 的第一批训练场景。13.2 尽量用规则奖励少依赖神经奖励在大规模 reasoning RL 中规则奖励更稳、更便宜、更难被黑盒 reward model 误导。13.3 pure RL 可用于“发现行为”R1-Zero 说明纯 RL 适合发现新的 reasoning pattern而不是只会拟合人工示范。13.4 SFT 负责“稳定行为”当 reasoning pattern 已经由 RL 发现后再用 high-quality filtered traces 做 SFT更容易把能力固定下来。13.5 小模型优先蒸馏不优先硬练 RL这是 R1 给工业界最现实的启示之一。14. R1 的局限与风险虽然 R1 很强但不能神化。论文和官方说明至少暴露出以下局限14.1 原版 R1 仍对 prompt 敏感官方 README 给出过明确使用建议采样温度建议 0.6 左右原版 R1 不建议随意加 system prompt数学任务建议显式要求 step-by-step。这说明原版 R1 的行为模式仍较依赖 prompt 约束。14.2 reasoning 强不等于所有 agent 场景都最强论文也承认原版 R1 在 function calling、JSON 输出、多轮 role-play 等方面并非处处占优。14.3 pure RL 的成功高度依赖 base modelR1-Zero 的成功不意味着“任意中小模型 GRPO”都能轻松长出高质量 reasoning。15. 复现者的工程建议如果你要做自己的“R1-like”系统建议分三层看路线 A最现实强 teacher 生成 reasoning traces - SFT 蒸馏 - 轻量 GRPO / DPO / RLOO 微调路线 B中等难度中等尺寸 base model - 可验证任务集 - 规则奖励 GRPO - rejection sampling SFT路线 C最难超大 base model - 纯 RL 起步 - 再做多阶段后训练工业上大多应该优先 A 或 B而不是直接挑战官方 R1 全流程。16. 一句话结论DeepSeek-R1 的真正价值可以用一句话概括它把“reasoning model”的核心问题从“怎么手工标注更多 CoT”转向了“怎么用 RL 发现、净化、固化 reasoning pattern”。这也是它在大模型后训练路线里最重要的历史意义。以上如有解释错误请指正。17. 参考资料DeepSeek-AI,DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learninghttps://arxiv.org/abs/2501.12948DeepSeek 官方仓库DeepSeek-R1https://github.com/deepseek-ai/DeepSeek-R1DeepSeek 官方仓库DeepSeek-V3https://github.com/deepseek-ai/DeepSeek-V3Hugging Face 官方复现仓库open-r1https://github.com/huggingface/open-r1DeepSeek-V3 Technical Reporthttps://arxiv.org/abs/2412.19437

更多文章