91. 逐篇讲解DeepSeek关键9篇论文及创新点——“勇敢者的游戏”
91. 逐篇讲解DeepSeek关键9篇论文及创新点——“勇敢者的游戏”
摘要
- DeepSeek 的主线不是单一模型,而是围绕效率持续分叉的一套技术路线。 从 DeepSeek-MoE 的更多 expert、shared expert,到 MLA、GRPO、FP8 training 和 multi-token prediction,每一步都不是为创新而创新,而是为了降低成本、提高 efficiency,最终逐渐与主流路线 diverge。
- R1 的关键路径是从奖励模型收敛到规则奖励。 何俊贤团队和其他团队曾尝试用 reward model 做 reasoning RL,但效果不理想;数学判断最终答案,coding 检查 unit test,往往比另一个模型打分更简单、更稳定。开放式任务仍可能需要 reward model。
- V2 和 V3 展示了模型规模与成本可以脱钩。 V2 总参数 236B、激活参数 21B,训练算力比 DeepSeek 67B 节省 42.5%,KV Cache 降低 90% 以上,生成速度提高 5.76 倍;V3 使用 2,048 张 H800、训练 14.8T token,成本约 557 万美元,且没有 loss spike 或 rollback。
- DeepSeek LLM 的价值不只是超过 Llama 2,而是把复现当成 science。 它重新研究 learning-rate schedule、hyperparameter scaling law、attention 的计算开销和数据质量,并通过 C-Eval 对照实验公开展示刷榜如何将分数从 47 分提高到 71 分。
- GRPO 是 DeepSeek 降低强化学习成本的重要积木。 它去掉 PPO 所需的 value model,用同一问题的一组 response 的平均 reward 作为 baseline;DeepSeek-Math 还发现 online RL 比 offline 方法更好,同时诚实指出 RL 后 Pass@K 未同步提升,可能只是把原本能生成的正确答案排到了前面。
- DeepSeek 的组织特征是低调、开放、详细且敢于承担试错风险。 何俊贤认为它很像高校实验室,论文公开大量细节,也不急于宣传或追逐榜单;不过他同时承认,公开论文主要呈现成功结果,背后必然还有未发表的失败尝试。
- 基座模型仍有 scaling 空间,但高质量数据可能趋于饱和。 更大的模型和更多 token 仍可能带来提升,下一阶段也可能更多转向 synthetic data、强化学习 scaling 和 test-time scaling;R1 正是从预训练 scaling 延伸到 RL scaling 的例子。
精读
1. 类 R1 工作先于 R1 发布,真正收敛的是简单规则
- 何俊贤团队在 DeepSeek-R1 发布前约两个月就开始了相关工作,R1 发布约五天后发布自己的结果;规模更小、方法相似,但他强调更准确的说法是“类 R1”,不能简单称为复现 R1。
- 他们此前用 reward model 做 reasoning 强化学习,持续尝试了半年多,效果一直不理想。最后发现最简单的方式反而最 work:数学只检查最终答案,coding 通过 unit test 检查,不再让另一个模型负责打分。
- 他认为 Kimi 1.5、DeepSeek 以及许多其他团队最后都收敛到了相近的方法。此前 community 追随 OpenAI 关于过程监督奖励模型的工作,可能走了一些弯路;何俊贤也认为,OpenAI 发表相关论文与实际做 o1 的方式未必完全一致。
2. 五千张 A100 让何俊贤在 DeepSeek 成立前注意到幻方
- 2022 年底,ChatGPT 尚未出现、行业还没有形成大模型概念时,幻方开始宣传自己有约 5,000 张英伟达 A100。对一家规模可能只有一百多人的量化公司来说,算力规模和用途都很反常。
- 幻方把暂时用不完的算力搭成集群,开发调度、分配和使用系统,免费开放给高校科研工作者。何俊贤最初怀疑这可能只是宣传或 PR,但亲自使用后认为系统非常成熟。
- 他因此感受到,幻方虽然人数不多,却能自行搭建和维护超算系统,招聘人数少但 bar 高,报酬也比较丰厚。
3. DeepSeek 起步并不早,最初也没有被看好
- 2023 年上半年、DeepSeek 尚未正式命名时,何俊贤已经听说幻方可能要孵化一家类似 OpenAI、探索 AGI 的公司。
- 当时国内正处于百模大战,互联网大厂已经有 AI 积累,而幻方来自量化金融,做大模型的起步并不早。包括何俊贤在内的很多人起初并不看好,只觉得市场上又多了一家 startup。
- 真正改变他判断的是第一篇 DeepSeek LLM 论文:模型和技术细节都公开,论文质量高,写法很像高校实验室,而不是只发布产品结果。
4. 低调、开放和相对低压的研究风格
- 何俊贤认为 DeepSeek 很 unique:不仅开源,论文也写得 honest,公开大量 detail,整体气质不像一般商业公司,更像纯做科研的实验室。
- 2023 年下半年到 2024 年初,行业频繁宣传模型超过 GPT、ChatGPT 或 GPT-4,但 DeepSeek 很少参与这种宣传,产品和 To C 动作也相对晚。
- 他推测团队似乎没有处在“几个月内必须超过某个对手”的极高压环境中,因此愿意投入资源尝试尚未验证的架构。这个判断是从论文和团队表现得到的感受,并非 DeepSeek 公开确认的组织事实。
5. 两条连续的技术路线
- 基座模型路线从 DeepSeek LLM 开始,经过 DeepSeek-MoE、DeepSeek-V2 到 DeepSeek-V3。何俊贤认为 V2 已经完成了很多关键创新,V3 更像是在此基础上的大规模训练和工程化。
- reasoning 路线则从 DeepSeek-Coder、DeepSeek-Math 开始,经过 DeepSeek-Prover,最后到 DeepSeek-R1。
- 他主要讲文本模态,没有展开过去一年的多模态论文,因为多模态并不是 DeepSeek 这一阶段的主要发力方向。
6. DeepSeek LLM:严谨的 Llama 2 复现
- DeepSeek LLM 有 7B 和 67B 两个规模,使用约 2T token,之后进行 SFT 和 DPO。模型 architecture 和主要 training 方法基本 follow Llama 2,数据则更强调中英双语和质量。
- 它超过 Llama 2 70B 并不让何俊贤意外:后来者可以改进数据质量,当时国内也有其他模型超过 Llama 2 70B。
- 真正值得关注的是,DeepSeek 没有只照搬 configuration,而是继续研究训练背后的规律,把模型训练当成科学问题来处理。
7. Multi-step schedule 与 scaling law
- 当时常见的 cosine learning-rate schedule 需要在训练开始前确定总 token 数。若训练中途增加新数据,原有曲线就不容易调整。
- DeepSeek 改用 multi-step learning rate:先保持一个常数,到了阶段节点后突然降低,再以新的常数继续训练。实验显示最终 performance 与 cosine schedule 接近。
- 它还研究 learning rate、batch size 等超参数的 scaling law,用小模型实验外推大模型的设置。此前 scaling law 更多讨论模型规模、数据规模和固定算力下的配置,DeepSeek 则进一步考虑 attention 带来的 computational overhead。
- 论文也讨论 data quality 对最优模型规模和数据规模配置的影响。何俊贤认为,这体现了他们不是单纯堆资源,而是试图理解背后的 science。
8. 小模型实验预测大模型效果
- 论文用较小算力训练出的模型拟合 performance 与 FLOPs 的关系,再预测更大算力下的效果;图中 7B 和 67B 模型的结果与预测较为接近。
- 这种方法的意义在于,不必先完整训练一个大模型,便可以用较低成本判断大规模训练可能达到的水平。何俊贤将它与 GPT-4 论文中类似的预测图联系起来。
9. C-Eval 实验公开了刷榜机制
- C-Eval 是何俊贤团队在 2023 年 5 月发布的中文榜单。榜单出现后,行业很快出现刷榜行为,分数越来越高,但实际能力未必同步提升,形成“高分低能”。
- DeepSeek 做了对照实验,发现加入大量类似的多选题训练后,C-Eval 分数可以从约 47 分提高到 71 分,提升二十多分。
- 何俊贤最尊重的是,DeepSeek 没有只公布刷榜后的高分,而是报告刷榜前的效果,也告诉读者如何刷以及可以刷到什么程度。
- 何俊贤团队后来对国内外多个 base model 做 evaluation,认为 DeepSeek release 的 base model 没有明显刷榜行为;他把这与不少高分模型进行对比。
10. MoE 把总参数和单次计算拆开
- Dense model 中,所有输入都会经过全部参数;MoE 则把 Transformer 中的 feedforward network 分成多个 expert,由 router 只激活其中少数,因此也称 sparse model。
- 例如总参数为 100B、分成十个专家时,一次输入可能只使用约 10B 参数。模型可以储存更多知识,同时降低每次训练和推理的计算成本。
- DeepSeek 并不是最早研究 MoE 的团队,Google 更早做过 GShard,行业也曾猜测 GPT-3.5 或 GPT-4 使用了 MoE。DeepSeek 的不同之处在于,较早把效率导向的 MoE 路线持续发展下去。
11. DeepSeek-MoE:更多 expert 与 shared expert
- DeepSeek-MoE 更像一篇 study,而不是完整成熟的产品模型。大部分实验在较小规模上进行,最后尝试了 145B 模型,但没有完整训练结束。
- 它的两个核心设计是增加 routed expert 的数量,以及加入 shared expert。论文使用 64 个 routed expert 和 2 个 shared expert,2B、16B 模型的激活参数约为 2.8B。
- 传统 MoE 常使用 8 或 16 个 expert,DeepSeek 认为这种划分过粗,增加到更多 expert 后,知识可以有更细的分工。
- shared expert 则负责所有输入都可能需要的通用能力,例如语言理解和常识;routed expert 仍由输入决定是否激活。
- 论文结论是,约使用原来 40% 的 computation,便可以达到接近 7B dense model 的效果。145B 模型虽然只训练了 200 多 B token,远少于第一篇模型的 2T token,但约 22.2B 激活参数下的 benchmark 已与 67B 模型基本相近。
12. V2 把 MoE 设计扩大成完整模型
- DeepSeek-V2 是 236B 总参数、21B 激活参数的 MoE 模型,训练使用 8.1T token,支持 128K context。
- 相比 DeepSeek 67B,V2 的 training computation 节省 42.5%,KV Cache 节省 90% 以上,生成速度提高 5.76 倍;部署时还使用 FP8 等低精度处理,并对 KV Cache 做量化。
- V2 延续了 shared expert 和大量 routed expert 的设计,使用 2 个 shared expert 与 160 个 routed expert。与 Mixtral 相比,它总参数更大,但激活参数更少,部署成本也更低。
- 2024 年 5 月 V2 引发国内 API 价格战。何俊贤听说 DeepSeek 部署它并不是亏钱,只是利润不高;他也提到当时有人称其为“大模型界的拼多多”。
13. MLA 解决 KV Cache 的成本问题
- 普通 Multi-head Attention 为每个 head 保存独立的 key 和 value。自回归生成时,新 token 需要与前文进行 attention,因此历史 K、V 会被保存为 KV Cache,以避免重复计算。
- GQA 让多个 head 共享一组 K、V,MQA 则让所有 query 共享一组 K、V;缓存会变小,但表达能力可能下降,需要在成本和 performance 之间权衡。
- MLA 不直接保存高维 K、V,而是先压缩成低维 latent 向量,需要使用时再映射回去。假设原本是 1,000 维,latent 只有 100 维,存储量便可以大幅下降。
- 何俊贤认为 MLA 是 DeepSeek 自己提出的架构创新。它在达到类似 2.25 个 GQA group 的压缩程度时,performance 比简单减少 group 更好,并持续沿用到 V3。
14. MoE 的实际效率依赖工程平衡
- MoE 不能让所有 token 都集中到少数 expert,否则其他 expert 和对应 GPU 会闲置。
- 因此需要同时处理 expert balance、device balance 以及 GPU 之间的通信平衡,让整个集群保持较高 utilization。
- 这些内容不一定像 MLA 一样显眼,却直接决定稀疏架构能否转化成真实的成本优势。V2 在 H800 集群上每 1T token 约使用 300K GPU hours,训练成本相比上一代进一步下降。
15. V3:671B 模型与低成本训练
- DeepSeek-V3 于 2024 年 12 月发布,总参数 671B,训练 14.8T token,使用 2,048 张 H800,成本约为 557 万美元。
- V3 延续 V2 的 MLA、shared expert 和大量 routed expert,但训练过程没有出现 loss spike,也没有 rollback。何俊贤认为,这说明背后有很强的工程和 infra 能力。
- V3 的论文大量讨论训练稳定性、通信、精度和集群工程,不只是算法设计。对 671B 模型来说,2,048 张卡并不算多,这也是它受到关注的重要原因。
16. V3 的连续创新
- V3 使用 1 个 shared expert 和 256 个 routed expert,延续了从 DeepSeek-MoE 到 V2 再到 V3 不断增加 expert 的路线。
- 它采用 loss-free balancing,不额外加入 balancing loss,而是监控 expert 被选择的频率;某个 expert 过于频繁时,调整常数,让后续输入更少选择它。
- V3 还采用 multi-token prediction。它不是 DeepSeek 首次提出的技术,但 DeepSeek 首次在如此大规模训练中使用并通过 ablation 验证了效果。
- 该技术训练时可以提供更密集的 training signal,推理时也可能用于 speculative decoding。不过何俊贤不确定 DeepSeek 产品部署时是否真的采用了这一方式。
- V3 还成功进行了大规模 FP8 mixed-precision training。部分中间变量仍需保留更高精度,否则会导致训练不稳定或效果下降;这是一项重要的工程优化。
17. V3 的效果与后训练
- 对比 Llama 3.1 405B 时,Llama 仍是 dense model,激活参数接近 405B;V3 总参数 671B,但激活参数只有约 30B,部署成本低十倍以上。
- V3 在英文上与 Llama 3 各有千秋,在 reasoning、code、math 和中文方面大幅超过 Llama 3 405B。
- V3 的 SFT 只使用约 1.5M 条数据。其 reasoning data 使用内部 DeepSeek-R1 做蒸馏;R1 当时尚未发布,但已经作为基于 V3 的内部模型存在,之后又反过来帮助生成 V3 chat 所需的数据。
- 他们还使用 DeepSeek-V2.5 生成 long reasoning data,并进行强化学习。数学和 coding 使用可验证的规则反馈,开放式问答则可能使用 reward model。
- 何俊贤认为 V3 的后训练相对浅,没有特别执着于榜单优化,但他明确表示自己并不是百分之百确定,只是从论文和模型表现作此判断。
18. DeepSeek-Coder 是早期海外认知入口
- DeepSeek-Coder 第一版是 dense model,规模从 1.3B 到 33B,架构基本延续第一代 DeepSeek LLM,训练数据主要是代码。
- DeepSeek-Coder-V1.5 使用 continue pre-training:在已有 DeepSeek LLM 7B 基础上继续训练约 2T token,其中约 70% 是 code。
- 何俊贤认为,海外用户早期对 DeepSeek 的印象很大程度来自 Coder。通用模型有许多替代品,而 V2 之后的模型总参数过大,普通开发者不易部署;Coder 的小中型版本更容易被使用。
- Coding 也是早期大模型真正落地、提高程序员生产力的典型场景。
19. Coder V2 中奖励模型仍有现实理由
- DeepSeek-Coder-V2 基于 DeepSeek-V2 的 checkpoint,继续训练约 6T token,因此本质上是 V2 的 code model。
- 它在 coding reward 上仍使用 reward model,因为 unit test 覆盖可能不足,错误代码有时会碰巧通过测试,单纯的 0/1 规则反馈会比较 noisy。
- 何俊贤认为,这并不意味着规则路线被否定:如果扩大 unit-test coverage,规则可以保持一致;reward model 则可能只在部分数据分布上有效,规模扩大后会暴露泛化问题。
- 当时 DeepSeek 和 community 普遍认为 coding 需要 reward model,后来在数学和 reasoning 任务上才逐步收敛到规则奖励。
20. DeepSeek-Math 与 GRPO
- DeepSeek-Math 是 7B 数学模型,基于 DeepSeek-Coder-Base-V1.5 7B,继续训练约 120B math token。当时它是较强的开源数学基座之一。
- 论文提出 GRPO。PPO 通常需要 policy model、reward model、reference model 和 value model;GRPO 去掉 value model,针对同一个问题采样多个 response,再用这一组 reward 的平均值作为 baseline,计算各 response 相对平均值的 advantage。
- 这样可以减少一个大型模型的显存和算力开销。GRPO 后来被 DeepSeek 在 V2、V3 和 R1 中持续使用,R1 发布后也在开源强化学习框架中广泛使用。
21. Online RL 与 Pass@K 的限制
- DeepSeek-Math 研究了 online reinforcement learning。offline 方法先生成一批数据,再固定这批数据训练;iterative 方法训练一代后重新生成数据;online 方法则随模型更新持续生成新数据。
- 论文发现 online 方法比 offline 方法更好,但它成本高、不稳定、难调,开源 community 当时也缺少成熟的 online RL codebase。
- 论文还分析 Pass@K:对同一个问题采样 K 个 response,只要其中有一个正确就算通过。RL 后 K=1 的 benchmark 分数明显提高,但 K 增大时,RL 前后的差距缩小,某些情况下未使用 RL 的模型甚至更好。
- 何俊贤认为,这可能表示 RL 只是把模型原本就能生成的正确答案排到了前面,并没有真正增强 fundamental ability。DeepSeek 把这一不利结论写进自己的论文,是其科学诚实的一部分。
- 规则奖励的优点是泛化稳定:有标准答案的数学题,无论难度如何都能判断对错;缺点是奖励稀疏。过程奖励理论上上限更高,但目前很难做到足够准确且跨领域泛化。
22. DeepSeek-Prover:外部验证器提供规则反馈
- DeepSeek-Prover 处理数学定理证明,使用 Lean 判断形式化数学语言中的证明是否成立。模型先把自然语言问题转成形式化语言,再交给 Lean 检查。
- 第一阶段采用迭代式自我更新:生成证明,用 Lean 验证,删除错误结果,保留正确结果,再用这些数据继续训练。
- Prover-V1.5 开始使用强化学习和 GRPO。由于定理证明的 0/1 reward 很稀疏,他们没有重新训练 reward model,而是删除那些几乎无法生成正确证明的过难数据。
- 后续工作还尝试了 MCTS 变体。但何俊贤认为,R1 最终采用了更简单的方式,没有 MCTS,也没有复杂 decoding。
23. R1-Zero 与 R1
- R1 的 reward 主要有 accuracy reward 和 format reward:前者判断答案对错,后者判断是否遵循指定格式,例如先输出 think 再输出答案,两者都属于规则奖励。
- R1-Zero 不做前置 SFT,直接从 base model 开始 RL,也没有蒸馏、复杂 reward model 或 MCTS。在 AIME 等数学任务上,performance 从约 0.2—0.3 提高到约 0.7—0.8,思维链也逐渐变长,出现所谓的“aha moment”。
- R1 则先进行 cold-start SFT,使用长序列数据,再进行强化学习;今天用户使用的 DeepSeek-R1 主要是这个版本。
- R1 的论文相对简洁,是因为 V3 基座、GRPO、规则奖励以及此前对多条失败路线的探索已经完成。它不是凭空出现,而是前面成功和失败经验的集中组合。
- 对 R1 的文本为什么优美、感性,何俊贤只提出两个猜测:DeepSeek 可能积累了较好的中文和人文数据,或者长推理训练带来的逻辑、反思能力迁移到了文科任务。他强调无法判断两者谁更重要。
24. 文化、资源与下一阶段
- 何俊贤不清楚 DeepSeek 的最终商业动机:V3 以 MIT License 开源,也允许免费商用,不能据此断定它究竟更重视商业化、赚钱,还是单纯探索 AGI。
- 他认为 DeepSeek 早期公开约 1 万张较老的 A100,V3 使用 2,048 张 H800;成本优势来自 MoE、MLA、GRPO 以及通信、负载平衡和精度处理等工程优化。
- 他也提醒,论文只会发表成功的工作,DeepSeek 背后肯定还有没有公开的失败尝试。
- 基座模型仍存在 scaling 空间,但高质量互联网数据可能逐渐接近上限。更大的模型和更多数据仍可能有效,只是边际收益或许趋于饱和;synthetic data、强化学习 scaling 和 test-time scaling 可能成为下一阶段重点。
- 何俊贤对 DeepSeek 的总结是:它不是纯粹 follow Llama、Mistral 等权威路线,也不是为了创新而创新,而是在降低成本和提高 efficiency 的目标下不断做不同选择。GRPO、MLA、更多 expert、shared expert、FP8 和 multi-token prediction 的差异逐步积累,最终形成了与其他模型越来越不同的一套路线。