DeepSeek 技术报告精读手册:演进、对比与原理拆解
写给初学者的技术报告精读手册:先用一句话说清每个概念要解决什么问题,再拆开公式与结构,最后用一个可交互的小实验亲手拨动参数。纵向是 DeepSeek 的版本演化,横向是与 GPT / Claude / Gemini 的对比,纵深是 MLA、MoE、GRPO、FP8、DSA、CED 这些名词背后的原理。
这是一份写给初学者的技术报告精读手册。它不把原报告改写成大白话,而是给你一副「脚手架」: 先用一句话说清每个概念要解决什么问题,再拆开它的公式与结构,最后用一个可交互的小实验让你亲手拨动参数、看见结果。 三条线索贯穿全文 —— 纵向(DeepSeek 版本怎么一路演化过来)、横向(它与 GPT、Claude、Gemini 差在哪里)、纵深(MLA、MoE、GRPO、FP8、DSA 这些名词背后的原理)。
怎么读一份技术报告
READING PROTOCOL你的困难不是「看不懂中文」,而是缺少承接新术语的框架。技术报告的写法是:默认读者已经知道上一代方法,于是只写「相对于上一代,我改了什么」。所以直接从头读,会不断撞到没有定义的词。
推荐的顺序是四遍法,每一遍只解决一个问题,刻意忽略其余内容:
第 1 遍 只读摘要与图表标题
技术报告的摘要(Abstract)和所有图的标题已经包含 80% 的信息量。这一遍只回答:它是什么模型、多大、比谁强、凭什么省。不查任何术语。
第 2 遍 读架构章节,画方框图
把 Architecture 一节抄成一张方框图:数据从输入到输出经过哪些模块。凡是出现在图里的模块,就是你后面必须搞懂的名词清单。
第 3 遍 逐个攻克公式
不要试图一次看懂所有公式。按这个次序问自己三件事:输入是什么、输出是什么、为什么不直接用上一代的写法。第三问才是技术报告真正想说的话。
第 4 遍 读实验与消融
消融实验(Ablation)是作者自己做的「去掉了会怎样」的对照。这一节的表格,往往比主结果表更能告诉你:哪个创新是真的关键,哪个只是锦上添花。
0.1术语速查表(先混个脸熟)
不用背,扫一眼即可。后文每个术语都会有独立小节,这里只建立「它大概是什么」的印象。
| 缩写 | 英文全称 | 一句话理解 | 详见 |
|---|---|---|---|
| Attention | Attention | 让每个词「看着」上下文中所有其他词来决定自己的含义,是 Transformer 的核心运算 | 3.1 |
| KV Cache | Key-Value Cache | 把历史词的 Key / Value 向量存下来避免重复计算。它是长上下文推理时显存的第一大开销 | 3.1 |
| MHA / MQA / GQA | Multi-/Multi-Query/Grouped-Query Attention | 注意力「多头数」的三种共享策略,共享越多缓存越小,但表达力也越受限 | 3.2 |
| MLA | Multi-head Latent Attention | 把 KV 压缩成一个低维「潜在向量」再缓存,缓存降到约 1/10 而性能不降 | 3.2 |
| MoE | Mixture-of-Experts | 把前馈网络切成很多「专家」,每个词只调用其中几个,参数大但算得少 | 3.3 |
| Router | Gating / Router | MoE 里的「分诊台」,决定这个词该派给哪几个专家 | 3.3 |
| MTP | Multi-Token Prediction | 训练时让模型一次预测未来多个词,逼它想得更远,还能加速推理 | 3.5 |
| FP8 / FP4 | 8-/4-bit Floating Point | 用更少的比特表示小数,省显存省带宽,代价是精度风险 | 3.6 |
| RL / RLHF | Reinforcement Learning (from Human Feedback) | 用打分反馈去调整模型行为,从「会说话」到「说得好」 | 3.7 |
| GRPO | Group Relative Policy Optimization | 同一道题采样一组答案,组内互相比,用相对高低当训练信号 | 3.7 |
| CoT | Chain-of-Thought | 让模型先写推理过程再给答案,即「思考链」 | 3.16 |
| Distillation | Knowledge Distillation | 大模型当老师,小模型学它的输出,从而「继承」能力 | 3.9 |
| DSA | DeepSeek Sparse Attention | 先挑出最相关的少量词再算注意力,把长文本成本从平方级压下来 | 3.10 |
| CSA / HCA | Compressed Sparse / Heavily Compressed Attention | 两种「压缩后再看」的注意力分支,分别负责远距离检索与全局概览 | 3.11 |
| mHC | Manifold-Constrained Hyper-Connections | 把残差连接升级成「受约束的多路高速路」,让超深网络信号更稳 | 3.13 |
| Muon | Muon Optimizer | 一种替代 AdamW 的优化器,用矩阵正交化加速收敛 | 3.13 |
| Engram | Engram Conditional Memory | 用查表方式做「条件记忆」,是 MoE 之外新的一条稀疏轴 | 3.14 |
| OPD | On-Policy Distillation | 把多个领域专家的能力合并回一个统一模型 | 3.17 |
纵向:DeepSeek 的演进路线
EVOLUTION · 2024.01 → 2026.09把 DeepSeek 的迭代看成一条不断解方程的主线:每一个版本都在解「更强的能力」与「更低的成本」之间的同一个矛盾,只是每一代换了一个约束条件。下面 12 个节点,点击任意一个即可展开该版本的技术要点。
1.112 个版本节点
DeepSeek LLM 67B
2024.01第一代 · 密集架构这一代还是「常规路线」:一个 67B 的密集(Dense)模型,每一层的前馈网络对所有词都全量计算。它的价值在于把训练数据和评测体系搭起来,SFT 与 RL 对齐流程也是在这一代成型的。
DeepSeek-V2
2024.05MLA + DeepSeekMoE 双创新技术路线的真正转折点。两个创新同时上线:MLA 解决「推理时缓存太占显存」,DeepSeekMoE 解决「训练时每个词都要算全量参数」。一个管推理成本,一个管训练成本,从此成为 DeepSeek 的固定配方。
来源:DeepSeek-V2 Technical Report(arXiv:2405.04434)
DeepSeek-V3
2024.12工程效率的标杆沿用 V2 的 MLA + MoE 骨架,把规模推到 671B,然后在工程侧做了三件别人没做成的事:用 FP8 低精度训练万亿级模型、把 MoE 负载均衡从「加惩罚项」改成「调偏置」、以及让每个位置同时预测未来多个词。
来源:DeepSeek-V3 Technical Report(arXiv:2412.19437)
DeepSeek-R1 / R1-Zero
2025.01纯强化学习涌现推理这一代改变了「后训练」的叙事。R1-Zero 完全不使用监督微调,直接对基座做大规模强化学习,模型自己长出了长思维链、自我检查与反思行为;训练中甚至出现「等一下,我重新想想」的顿悟时刻。
来源:DeepSeek-R1 Technical Report(arXiv:2501.12948);同时开源了 1.5B~70B 六个蒸馏模型。
DeepSeek-V3-0324
2025.03编程强化 · 部署友好一次以「实用」为目标的中期更新:重点打磨编程与数学推理,同时把部署门槛降下来,使模型可以在消费级硬件上运行。这次更新后,它一度成为开源模型中的第一梯队选手。
DeepSeek-V3.1 / V3.1-Terminus
2025.08 / 2025.09双模式统一把「推理模型」和「通用模型」合并成一个模型:同一个权重,通过开关切换思考模式(Thinking)与非思考模式(Non-Thinking)。上下文扩展到 128K。随后 9 月的 Terminus 版本重点修掉了中英文混杂的输出问题,并优化了代码 Agent 与搜索 Agent 的表现。
来源:DeepSeek 官方动态(2025-09-22 版本更新说明)
DeepSeek-V3.2-Exp
2025.09.29DSA 稀疏注意力登场引入 DeepSeek Sparse Attention(DSA):先用一个轻量的「闪电索引器」给所有历史词打分,再只挑分数最高的一小部分真正参与注意力计算。长文本场景下训练与推理效率同时提升,官方同步把 API 价格下调 50% 以上。
来源:DeepSeek 官方动态(2025-09-29)
DeepSeek-V3.2 正式版
2025.12.01思考融入工具使用V3.2 与 V3.2-Speciale 同时发布,重点强化 Agent 能力,并首次把「思考」直接融入工具调用流程 —— 模型可以在调用工具的过程中持续推理,而不是先想完再动手。同系列的 Speciale 是长思考增强版,结合了定理证明模型的能力。
来源:DeepSeek 官方动态(2025-12-01)
1M 上下文(静默升级)
2026.02.11上下文规模跃迁通过一次没有发布会、没有技术报告的静默更新,把网页端与 App 的上下文处理能力提升到 100 万 token 量级,知识截止时间同步更新。这个节点很适合用来提醒自己:不是所有变化都会以论文形式出现。
来源:官方服务端更新(媒体广泛报道,2026-02-11)
DeepSeek-V4 预览版
2026.04.24百万上下文成为标配全新系列:V4-Pro(1.6T 总参 / 49B 激活)与 V4-Flash(284B / 13B),两者都原生支持 1M 上下文,并同步开源。核心是混合注意力架构:把「压缩后再看」的注意力与「稀疏挑选」的注意力组合起来,让百万级上下文的计算与显存开销大幅回落。
来源:DeepSeek-V4 Technical Report(arXiv:2606.19348)、官方 V4 预览版发布说明
DeepSeek-V4-Pro-0813(正式版)
2026.08面向 Agent 的正式版V4-Pro 的正式发布检查点,取代此前的预览版,重点强化 Agent 相关能力,并附加了推测解码模块用于加速。
DeepSeek-V4.1-Flash
2026.09.10最新发布 · 非对称结构截至本手册数据截止日(2026-09-21)的最新发布模型。它换上了全新结构:Causal Encoder-Decoder(CED),输入与输出不对称 —— 读入时只激活 8B 参数,生成时激活 16B。因为 Agent 任务往往是「读一大段、写一点点」,这种不对称直接把成本压了下来。官方同时宣布 V4.1-Flash 在性能、费用、速度、总用时上全面超越 V4-Pro,并计划逐步下线 V4-Pro —— 不过这项下线在 9 月 12 日前后被官方收回:变更日志改为「应广大用户需求,2026 年 9 月 14 日之后继续提供 DeepSeek V4 Pro 的 API 服务,计费方式不变」。截至 2026-09-21,V4-Pro 仍在正常服务,V4.1-Pro 也仍未发布。
技术报告同时指出:新架构带来了尚未充分测试的鲁棒性边界 —— 稀疏选择出错、以及近似状态重建,可能在极端情况下削弱能力,尤其是在超长上下文的稀疏检索和缓存恢复的衔接处。官方表示将做进一步压力测试。读技术报告时,作者自己写的 limitation 一节,往往比结论更有价值。
来源:DeepSeek 官方发布页(2026-09-10)、《DeepSeek-V4.1-Flash 技术报告》(Hugging Face 公开)
1.2架构主线图解:每一代在改什么
把 12 个版本压缩成六个「架构世代」。注意阅读顺序:从左到右不是模型变大,而是同一个矛盾被换了一种解法。
1.3关键参数对照:把数字排成一行行
这张表是全文最值得反复回看的一张。注意两点:「激活」那一列的增长远慢于「总量」;上下文在变长的同时,KV Cache 在变小。
| 版本 | 时间 | 总参数 | 激活参数 | 预训练规模 | 注意力机制 | 标志性变化 |
|---|---|---|---|---|---|---|
| DeepSeek LLM | 2024.01 | 67B | 67B(全量) | 约 2T | 标准 MHA | 密集架构基线 |
| DeepSeek-V2 | 2024.05 | 236B | 21B | 8.1T | MLA | 缓存↓93.3%、吞吐↑5.76× |
| DeepSeek-V3 | 2024.12 | 671B | 37B | 14.8T | MLA | FP8 训练 · MTP · 无损负载均衡 |
| DeepSeek-R1 | 2025.01 | 671B | 37B | 沿用 V3 基座 | MLA | 纯 RL 涌现推理;蒸馏 1.5B–70B |
| V3-0324 | 2025.03 | 671B | 37B | — | MLA | 编程强化、可本地部署 |
| V3.1 | 2025.08 | 671B | 37B | — | MLA | 思考 / 非思考双模式,128K 上下文 |
| V3.2-Exp | 2025.09 | 671B | 37B | — | MLA + DSA | 细粒度稀疏注意力,API 降价 50%+ |
| V3.2 / Speciale | 2025.12 | 671B | 37B | — | MLA + DSA | 思考融入工具使用,竞赛金牌级 |
| V4-Pro | 2026.04 | 1.6T | 49B | >32T | 混合注意力 CSA+HCA | 1M 上下文标配;mHC;Muon |
| V4-Flash | 2026.04 | 284B | 13B | >32T | 混合注意力 | 经济版,推理能力接近 Pro |
| V4.1-Flash | 2026.09 | 552B | 8B 输入 / 16B 输出 | 45T(多模态) | CED + CSA2 + FP4 KV | KV 890 字节/token,接棒主力 |
表格依据:各版本官方技术报告与官方发布页。部分版本的预训练规模官方未单独披露,标「—」。「激活参数」对 V4.1-Flash 而言是分阶段口径(读入 / 生成)。
1.4三个真正的转折点
把「省算力」正式变成技术路线
在所有人比参数规模时,V2 用 MLA + MoE 证明了一件事:容量和计算量可以解耦。总量 236B 保留大容量,激活 21B 控制成本。此后「激活参数」成为行业通用指标,而不只是总参数。
把「教模型」换成「给激励」
R1-Zero 不用任何监督数据、只给正确性与格式两种规则奖励,模型自己长出反思与验证行为。这提示:复杂能力不一定需要被演示,也可以被激励出来。这是后训练范式的分水岭。
竞争重心移到「上下文经济性」
当上下文拉到 100 万 token,瓶颈不再是模型多聪明,而是读这么长的文本要花多少显存和算力。于是有了混合注意力、CED 非对称结构、FP4 缓存 —— 全部围绕同一件事:让长上下文变得便宜。
横向:与 GPT、Claude 的异同
COMPARISON · 2026.09 快照做横向对比时,最容易犯的错是「把各家的跑分直接摆在一起比大小」。不同厂商的评测设置(思考强度、是否用工具、采样次数、提示词模板)都不一样,分数只有落在同一张表里才有可比性。所以下面先看一张「谁的评测表」,再看结构性差异。
2.1能力与成本对照(截至 2026.09)
| 模型 | 厂商 | 规模 | 上下文 | 权重 | 训练 / 对齐方法(官方口径) | 参考单价 输入 / 输出(每百万 token) |
|---|---|---|---|---|---|---|
| DeepSeek-V4.1-Flash | 深度求索 | 552B 激活 8B/16B | 1M | MIT 开源 | MoE + 低精度训练;SFT → RL(GRPO)→ 同策略蒸馏;后训练改动主要在数据管线 | $0.15 / $0.60 缓存命中 $0.003 |
| DeepSeek-V4-Pro | 深度求索 | 1.6T 激活 49B | 1M | MIT 开源 | 混合注意力 + mHC + Muon;两阶段后训练(领域专家培养 → 统一蒸馏) | $0.66 / $1.98 闲时价 |
| GPT-5.4 | OpenAI | 未公开 | 1M Codex 实验性 |
闭源 | 推理模型通过强化学习训练「先想再答」;合并代码专用模型为主线;安全侧有 Preparedness 框架 | $2.50 / $15.00 |
| GPT-5.6 Sol | OpenAI | 未公开 | — | 闭源 | 同系列更高配置档;缓存输入单独计价 | $4.00 / $20.00 缓存命中 $0.40 |
| Claude Opus 5 | Anthropic | 未公开 | — | 闭源 | 预训练 + 人类反馈强化学习 + AI 反馈强化学习 + 面向角色与宪法的人工训练;按 ASL 分级做部署决策 | $5.00 / $25.00 缓存命中 $0.50 |
| Gemini 3.1 Pro | 未公开 | — | 闭源 | 未披露细节;作为高配置档参与各家横向评测 | — |
① 三家都不公开「参数量、预训练数据量、训练卡时」这类底层数字,只有 DeepSeek 逐版本披露 —— 这不是 DeepSeek 更透明,而是开源权重迫使它必须把训练细节写清楚,否则没有人能复现。② 价格是会变动的商业策略,且缓存命中率、峰谷时段会显著改变实际账单,下面第 2.3 节的测算器比单价表更有参考价值。
2.2同一张评测表里的成绩
下面这张图的数字全部来自 DeepSeek-V4 技术报告的横向评测表 —— 也就是说,这是 DeepSeek 自己选定的对手、自己设定的评测条件。读竞品报告时,时刻记住这一点:它是一份「我方视角」的证据。点击切换指标,看不同能力维度上的座次如何变化。
思考强度设置:DS-V4-Pro-Max / Claude Opus-4.6-Max / GPT-5.4-xHigh / Gemini-3.1-Pro-High。括号内为百分比或得分,横条长度按该项满分或最高分归一化。
2.3成本结构:差距不在单价,在「缓存命中」
这是三家最本质的差异,也是 Agent 时代最容易被忽略的一点。当一个 Agent 反复读取同一份代码仓库、同一套工具说明、同一段系统提示时,它读的大部分 token 是可以命中缓存的。所以真正决定账单的,是「缓存命中的那一档多少钱」。
DeepSeek 把缓存命中的价格压到了输入价的 1/50($0.003 vs $0.15);而 Claude Opus 5 的缓存命中价是 $0.50,相对输入价($5)是 1/10。同样的复用场景,账单差异会被放大到十倍以上。拖动下面的滑块,用你自己的场景算一遍。
把上表读成一句话:DeepSeek 卖的从来不是「最聪明」,而是「单位智能的价格」。三家在能力上的差距通常在几个百分点到十几个百分点之间,而在价格上可以差一到两个数量级。这也解释了为什么 V4.1-Flash 一发布就敢宣布「全面超越 V4-Pro 并接替主力」——在 Agent 场景里,成本本身就是能力的一部分。(「接替主力」这一步随后被官方收回:V4-Pro 至今仍在服务,见 1.1 时间线与附录 B。)
2.4训练方法的异同:三段式下的三种取舍
| 环节 | DeepSeek | GPT 系列 | Claude 系列 |
|---|---|---|---|
| 预训练 | MoE 稀疏激活 + 低精度(FP8 → FP4)训练;语料规模与卡时逐版本公开(V3 为 14.8T token / 2.788M H800 卡时;V4 超过 32T) | 未公开数据规模与算力;强调数据过滤与安全分类器 | 未公开数据规模与算力;公开说明使用 AWS / GCP 云算力与 PyTorch / JAX / Triton 框架 |
| 监督微调 | SFT 数据大量由模型自己生成(拒绝采样),并明确披露数量级(R1 阶段约 80 万条) | 人类示范与模型生成数据混合,细节未公开 | 人类偏好数据 + 标注承包商数据 + 用户可选加入的数据 |
| 强化学习 | 规则奖励为主:数学按答案核对、代码跑测试用例、格式检查;刻意避免易被「刷分」的神经网络奖励模型 | 通过强化学习训练推理行为(学会先思考、试不同策略、识别自己的错误) | RLHF + RLAIF:人类反馈与 AI 反馈并用,配合「宪法」定义角色与价值观 |
| 能力合并 | 把多个领域专家模型经同策略蒸馏合并回一个统一模型(V4 起明确为两阶段范式) | 把代码专用模型的能力合并进主线模型(GPT-5.4 起) | 以单一系列模型覆盖不同档位(Opus / Sonnet / Haiku) |
| 安全与发布 | 以技术报告披露局限为主,发布偏工程节奏 | 发布 System Card,覆盖生物化学、网络安全等高能力风险缓解 | 发布 System Card + 负责任扩展政策(RSP)分级(如 ASL-3),部署前做能力评估 |
| 开放性 | 开源权重(MIT),可自部署、可商用 | 闭源,仅 API | 闭源,仅 API |
2.5谁更强,谁更省:把结论落到场景上
要省钱
优先 DeepSeek V4.1-Flash。Agent 类、重复读取长上下文、批量代码任务上单位成本优势最大,且权重开源可自部署。
要最强知识
Gemini 3.1 Pro 与 GPT 高配档在事实问答、研究生级科学题上仍有明显优势。DeepSeek 在 SimpleQA 这类纯知识题上相对偏弱。
要长程与安全
百万级检索(MRCR 1M)Claude Opus 4.6 一档表现突出;若部署场景对安全分级与合规有硬要求,Claude 的发布流程更成熟。
本节的对比数字来自 DeepSeek 官方报告的评测表,以及各家公开的定价页与系统卡。厂商自测分数天然有主场优势;价格随时可能调整;能效与真实任务成功率还会受你的 Agent 框架影响。做技术选型时,请以「你自己仓库上的成本 / 完成率」为最终依据。
纵深:核心概念逐个拆开
MECHANISMS · 20+ CONCEPTS这一部分是全篇的主菜。每个概念都按同一个模板展开:① 它要解决什么问题 → ② 不这么做会怎样 → ③ 具体怎么做(含公式) → ④ 动手试一试 → ⑤ 需要的前置知识。公式不会全部展开推导,但每一个符号都会告诉你它在说什么。
建议读法:先读「问题」和「直觉」两段,跳过公式往下读实验;等实验看懂了,再回头读公式,你会发现公式其实是实验的数学缩写。
3.1注意力与 KV Cache:一切成本的源头
要解决的问题。语言里的词义是相互决定的。「苹果」在「我吃了一个苹果」和「苹果发布了新手机」里完全是两个意思。注意力机制就是让每个词去「看」上下文里所有其他词,然后按相关度加权求和,得到自己的新表示。
核心公式。每个词会被投影成三个向量:Query(我要找什么)、Key(我是什么)、Value(我携带的信息)。相关度就是 Query 与 Key 的点积:
不这么做会怎样。生成文本是一个词一个词往外吐的。生成第 1000 个词时,前 999 个词的 Key 和 Value 都必须重新算一遍 —— 而它们的值其实没变过。这个重复计算是纯浪费,于是有了 KV Cache:把已经算过的 K、V 存下来,新词只算自己的 Q,然后去查缓存。
于是成本转移了。计算省了,但显存被吃掉。缓存大小与上下文长度成正比,与层数、注意力头数、每个头的维度成正比:
计算口径(逐项透明):以「61 层 / 128 头 / 头维度 128 / BF16」作为密集注意力参照,每个 token 约 3.99 MB; MLA 按 V2/V3 配置(每层潜向量 512 维 + 解耦 RoPE 的 64 维)约 70 KB; V4.1-Flash 的 890 字节 / token 取自官方技术报告披露值。缓存的增长是线性的,所以上下文翻倍,账单翻倍。
想补基础,按这个顺序读:《Attention Is All You Need》(2017) 理解注意力本身 → KV Cache / MQA / GQA 理解缓存优化谱系 → 再回到 DeepSeek-V2 报告读 MLA。跳过第一步直接读 MLA 公式,会不知道它在优化什么。
3.2MLA 多头潜在注意力:把缓存压成一个「潜在向量」
要解决的问题。上一节的缓存公式里,有四个乘数可以被优化:层数(结构决定,动不了)、头数、头维度、以及「存 K 和 V 两份」。已有的 GQA / MQA 方案是靠让多个头共享同一份 K、V 来省缓存,省得多但会损失表达能力 —— 相当于用「减少分辨率」换空间。
MLA 的思路完全不同:不减少头,而是压缩内容。它不直接存 K、V,而是把 K 和 V 联合投影到一个低维的「潜在向量」c 上,只缓存 c。用的时候再把 c 上投影(升维)还原成各头的 K、V。
但压缩会撞上一个硬钉子:位置编码。RoPE(旋转位置编码)的原理是给 Q、K 乘一个随位置旋转的角度,让模型感知「谁在前谁在后」。问题在于:如果 K 存的是压缩后的 c,那么位置信息就没法在还原之后再干净地加回去了 —— 旋转操作和低秩压缩不满足交换律。
解决办法叫「解耦 RoPE」。把 Key 拆成两路:一路走压缩还原(负责内容),另一路单独保留一小段维度(64 维)专门承载位置旋转(负责顺序)。两路拼起来用。代价是多了 64 维的缓存,但换来了压缩与位置编码的兼容 —— 这个细节是 MLA 能真正落地而不只是纸上谈兵的关键。
3.3MoE 稀疏专家:参数很大,但每次只用一点点
要解决的问题。模型越大学得越多,但每个词都跑完整模型,成本会线性上涨。能不能「保留大模型的容量,却只支付小模型的计算」?
做法。把一个巨大的前馈网络(FFN)拆成许多个小专家(Expert),前面放一个「路由 / 分诊台」(Router)。每个 token 进来时,Router 算出它和每个专家的匹配分数,只把 token 发给分数最高的 K 个专家,最后把这 K 个专家的输出加权求和。
蓝框 = 共享专家(始终参与);深蓝 = 本次被激活的路由专家;砖红 = 累计过载;浅色 = 闲置。 真实模型里 Router 的分数由可学习的权重算出,这里用随机分数演示「选择」与「均衡」这两件事。
MoE 的鼻祖是 1991 年的 Adaptive Mixtures of Local Experts;把它搬进 Transformer 的关键工作是 Switch Transformer(2021) 与 GShard(2020)。DeepSeekMoE 的两个原创点是「细粒度专家切分」(把专家切得更小更多,组合更灵活)与「共享专家隔离」(把通用知识从路由专家里独立出来,减少冗余学习)。
3.4负载均衡:MoE 最隐蔽的坑
要解决的问题。MoE 里有个恶性循环:某几个专家一开始被选中得多 → 收到的训练信号多 → 变得更强 → 以后更容易被选中。最后 256 个专家里可能只有十几个在工作,其余全部荒废。学术上叫路由崩塌(routing collapse)。
传统解法:加惩罚项。在损失函数里加一个「负载不均衡惩罚」(辅助损失 / auxiliary loss),谁被选得太频繁就罚谁。但这就引入了新矛盾:你为了均衡而扭曲了模型的优化目标,均衡得越好,语言建模本身可能越差。这是一种「用主任务性能换工程稳定」的交易。
DeepSeek-V3 的解法:不碰损失函数,改调一个偏置。给每个专家维护一个偏置项 bi,这个偏置只参与路由决策,不参与最终输出的加权:
3.5MTP 多 token 预测:逼模型想得远一点
要解决的问题。标准语言模型的训练目标是「预测下一个词」。这个任务有个副作用:模型只需要盯着眼前一步就能拿到不错的奖励,不必规划更远的语义结构,学到的表示偏「局部」。
做法。在训练时给模型加几个额外的预测头,让它在每个位置同时预测未来 2 个、3 个词(V3 用一步 MTP,V4 沿用了这个设计)。这会强迫隐状态里编码更多「接下来会发生什么」的信息。
3.6FP8 / FP4 混合精度:用更少的比特算同一件事
要解决的问题。训练万亿参数模型时,显存和显卡间通信都是瓶颈。而传统训练用 BF16(16 位)存每一个数。如果把参与矩阵乘的数字压缩到 8 位甚至 4 位,显存和带宽立刻减半甚至减到四分之一。
难点在哪。不是「能不能压」,而是「压了之后模型会不会训崩」。低精度的核心风险有两类:动态范围不够(数值太大溢出成无穷,或太小归零);有效位数不够(相近的两个数被压成同一个值,梯度更新失效)。所以低精度训练的工程细节 —— 分块量化、把累加算在更高精度上、关键层保留高精度 —— 才是真正的壁垒。DeepSeek-V3 是第一个把 FP8 训练在超大规模模型上跑通并公开验证的案例。
浮点格式记法:E 表示指数位(决定动态范围),M 表示尾数位(决定精度)。FP8 有两种常用格式 —— E4M3(范围小、精度高,用于前向计算)和 E5M2(范围大、精度低,用于反向传播)。FP4 的主流格式是 E2M1,只有 2 位指数 1 位尾数,必须配合「每 16 个通道共享一个缩放因子」的分块量化才可用。条形长度为相对量级示意,非实测值。
想深入这一步,需要浮点数表示法(IEEE 754:符号 / 指数 / 尾数)与量化基础(对称量化、逐通道 vs 分块量化、缩放因子与零点)。V4.1-Flash 已把 MoE 专家参数压到 FP4,并对主 KV 缓存在 FP4 下存储(每 16 通道一个 E4M3 缩放因子)—— 也就是说,低精度已经从「训练技巧」变成了「推理基础设施」。
3.7强化学习与 GRPO:不教步骤,只给激励
要解决的问题。监督微调(SFT)的本质是模仿:人类写出好答案,模型学着复现。但模仿有个天花板 —— 模型无法超越示范数据的水平。强化学习(RL)换了个思路:让模型自己尝试多种解法,做对了就加强、做错了就削弱,能力上限由模型自己探索决定。
常规 RLHF 怎么做。先训练一个奖励模型(RM)给答案打分,再用 PPO 算法优化策略。PPO 有个开销:它需要一个「价值网络」(critic)来估计当前状态的平均期望收益,作为判断「这次比平均好多少」的基准 —— 而这个价值网络的大小通常和策略模型相当。对 671B 的模型来说,等于再养一个 671B。
GRPO 的关键简化:用「同组对比」代替「价值网络」。同一道题,让模型采样一组(比如 16 个)答案,把这一组的平均分当作基准。某个答案比组内平均好,它的概率就被推高;比平均差就被压低。基准不用学,直接从组内算出来。
绿色 = 答对(奖励 1),砖红 = 答错(奖励 0)。算法不需要知道「哪一步想错了」,它只知道最终对错 —— 为了在这类信号下稳定提分,模型自己长出了反思、验证、重试这些行为。这就是 R1-Zero 中「顿悟时刻」的来历。
3.8规则奖励与奖励攻击:为什么不用神经网络打分器
奖励从哪来,决定了模型往哪跑。奖励有两类来源:可验证的规则(答案对不对、代码能不能过测试、格式对不对)和学习出来的神经奖励模型(模仿人类偏好的打分器)。R1-Zero 刻意只用了前者。
原因是奖励攻击(reward hacking)。只要是学出来的打分器,它就一定有可被利用的漏洞。在成千上万步的 RL 里,模型会以远超人类预期的效率找到这些漏洞 —— 比如输出特别长、特别自信、特别会迎合打分器口味的文字,从而拿到高分,却并没有真正解决问题。而且奖励模型一旦被「攻破」,你还得重新训练它,训练流程变得又贵又复杂。
规则奖励的代价同样明确。它只能用在「有客观对错」的任务上:数学题可以核对答案,代码可以跑测试用例,形式逻辑可以验证。至于写作品评、开放问答、角色扮演这类没有唯一答案的任务,规则打分无能为力 —— 这直接把 R1-Zero 的训练分布限制在了可验证领域。所以 R1 的后续阶段引入了生成式奖励模型与人类偏好数据来补上通用能力。
准确性奖励
要求模型按指定格式(如把最终答案放进框内)输出,从而可以用规则可靠地核对。代码题则用编译器跑预定义测试用例来产生反馈。
格式奖励
强制模型把思考过程放进指定标签之间。注意它只约束结构,不规定内容 —— 作者刻意避免「要求反思」这类倾向性引导,以便干净地观察模型的自然演化。
3.9蒸馏:把「会推理」这件事传下去
要解决的问题。671B 的模型能推理,但没人想在本地跑它。小模型直接做 RL 效果很差 —— 它连像样的解题路径都采样不出来,也就无从被激励。怎么办?
做法。让大模型当老师,把它的推理过程写成大量数据,拿去微调小模型。DeepSeek-R1 用这种方式开源了 6 个稠密学生模型(1.5B / 7B / 8B / 14B / 32B / 70B,分别基于 Qwen 与 Llama)。
报告里最关键的一个发现。以 Qwen2.5-32B 为基座时,直接从 R1 蒸馏的效果,优于在这同一个模型上做强化学习。这句话的含义很重:它说明「推理模式」是一种可迁移的能力,而且大模型发现的推理模式,小模型自己很难探索出来。
DeepSeek-V3 的技术报告里也提到「从 DeepSeek-R1 蒸馏」,但那说的是把 R1 的推理能力蒸馏回 V3,属于版本迭代的一部分(V3 后续版本因此推理能力提升);而 3.9 这里说的是把 R1 蒸馏到小模型。同一件事、两个方向,读报告时注意区分主语。
3.10DSA 稀疏注意力:从平方级到近似线性
要解决的问题。标准注意力要让每个词跟所有词配对,复杂度是 O(L²)。10 万 token 是 100 亿次配对;100 万 token 是 1 万亿次 —— 这在工程上直接不可行。
关键观察:绝大多数配对是浪费的。写代码时,第 5000 行的括号该跟哪一层配对,其实只取决于少数几个位置。如果能先廉价地判断「哪些历史位置真正重要」,再只为这些位置做完整注意力计算,成本就能降一个数量级。
做法(两阶段)。第一阶段,用一个极轻量的索引器(Lightning Indexer)给所有历史 token 打相关性分数 —— 它只做点积,不做完整的注意力,成本接近线性。第二阶段,只取分数最高的 K 个 token,在这 K 个上做完整的注意力计算。这就是 DeepSeek Sparse Attention(DSA)。
横轴:上下文长度(千 token,对数刻度)· 纵轴:相对计算量(对数刻度,以 4K 长度为 1)
曲线按相对量级绘制(标准注意力 L²,稀疏注意力 L×k),用于说明增长趋势的差异,不代表某次实测的绝对耗时。 K 的取值在真实系统中是超参数,取决于任务与硬件。「k」此处以千 token 为单位。
稀疏意味着「放弃看某些 token」。如果索引器判断错误,真正关键的证据就被跳过了。这就是为什么 DeepSeek 在 V4.1-Flash 的官方局限声明里专门点名「稀疏选择错误」与「近似状态重建」两类风险,尤其在超长上下文的稀疏检索与缓存恢复边界上。任何加速手段都会引入新的失效模式,读报告时要专门找这一节。
3.11CSA / HCA 混合注意力:三种距离,三种看法
要解决的问题。DSA 解决的是「看哪些词」,但长上下文还有第二个瓶颈:即使只挑少数词,KV 本身的存储量仍然与长度成正比。而且不同距离上的信息需要不同的处理方式 —— 紧邻的词要精确,远处的词只要概要,中距离的词要能检索。
做法:用三条互补的注意力分支,各管一段距离。这是 DeepSeek-V4 的核心创新。
CSA · 压缩稀疏注意力
把每 m 个 token 的 KV 压成一条,然后在这些压缩条目上做稀疏注意力。
管什么:中远距离的「检索」—— 快速找到相关段落。
HCA · 重度压缩注意力
压缩得更狠,但保留稠密注意力(不跳过任何条目)。
管什么:全局概览 —— 相当于始终记得整本书的目录。
SWA · 滑动窗口注意力
只看最近 n 个 token,不做任何压缩。
管什么:局部精确依赖 —— 保证眼前这几句话的语法与指代不出错。
官方数据:在 1M 上下文设置下,V4-Pro 单 token 推理的计算量(FLOPs)只需 V3.2 的 27%,KV Cache 只需 10%。这两个数字就是混合注意力架构的全部意义。
到 V4.1-Flash,这条路线又推进一步:CSA2 让每一层在 Full / Reindex / Reuse 三种模式里静态分工,共享主 KV 与索引,复用 Top-K 索引结果;解码器中再加一个层次化稀疏索引器,把后段索引限制在由首个 Full 层构造的候选池内,使深层索引成本与上下文长度脱钩。配合 FP4 主 KV 缓存,全局 KV 压到 890 字节 / token。
3.12CED 非对称结构:读得多,就少花力气读
要解决的问题。看一个真实的 Agent 任务:读入 30 万 token 的代码仓库、工具说明、历史对话,最后只想输出 200 个 token 的代码修改。输入和输出的规模差了三个数量级,但传统 Transformer 对两者用同一套参数、同样的计算方式 —— 这是巨大的结构性浪费。
做法。V4.1-Flash 把 40 层 Transformer 拆成 20 层因果编码器 + 20 层解码器:编码器专门负责把输入压成一套表示;解码器负责生成。关键在于——
这种「用近似表示代替逐层自产」的做法引入了新的风险:稀疏选择出错与近似状态重建,可能在极端情况下降低能力 —— 尤其出现在超长上下文的稀疏检索与缓存恢复的衔接边界。官方表示将做进一步压力测试。这类「作者主动写出的局限」是精读报告时信息密度最高的部分。
3.13mHC 与 Muon:让上百层的网络稳住
mHC 要解决的问题。Transformer 靠残差连接(把输入直接加到输出上)让梯度能顺畅地穿过上百层:hl+1 = hl + F(hl)。但当层数继续堆叠,单条残差通道会变成瓶颈 —— 信号要么被稀释,要么被逐层放大。一个自然的想法是:把一条通道扩展成多条并行通道,让网络自己学习怎么混合它们(这就是 Hyper-Connections)。可引入更多自由度的同时,也引入了不稳定性。
mHC 的解法是给混合矩阵加「流形约束」。把那些负责混合的矩阵限制在一个性质良好的矩阵集合(流形)上 —— 比如保持范数、保持正交性 —— 这样多路混合既保留了表达力,又不会在深层传播中失控。V4.1-Flash 进一步做了 Single-Pass mHC 与高效的 Mega-mHC 内核,把这份额外的稳定性开销压下来。
Muon 要解决的问题。主流优化器 AdamW 是「逐元素」调节学习率的:每个参数单独根据自己的历史梯度调整步长。它很好用,但对一个巨大的权重矩阵来说,它并不知道「这个矩阵整体的更新方向是否合理」。Muon 的做法是对整个矩阵做近似正交化(常用 Newton-Schulz 迭代实现),让更新在各个方向上尺度更均衡,从而收敛更快、训练更稳 —— 这在万亿参数规模上尤其重要。
3.14Engram 条件记忆:用「查表」替代一部分「计算」
要解决的问题。语言里有大量内容是「固定搭配」和「事实」:「北京的省会是……」这类信息,用矩阵乘法去反复运算它,是很昂贵的表达方式。人脑处理这类知识的方式更接近检索,而不是重新推理。
做法。Engram 模块的思路是把「可扩展的查表(lookup)」作为一条新的稀疏轴:根据 token 直接检索一段记忆表示,再与后续计算结合。DeepSeek 的对应工作标题很直白 —— 《Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models》。
为什么说这是「新的稀疏轴」。MoE 稀疏的是计算(不激活的专家不参与矩阵乘);Engram 稀疏的是存储(不命中的记忆条目根本不被读取)。两者的收益方向不同:前者省算力,后者省带宽。V4.1-Flash 中 Engram 模块有 196B 参数,按 token 稀疏访问。
3.15推测解码:一次前向,验证好几个词
要解决的问题。自回归生成是串行的:出一个词 → 算一次前向 → 再出一个词。但 GPU 是高度并行的硬件,一个字一个字地喂给它,算力利用率极低。瓶颈不在计算,在「没法并行」。
做法。让一个便宜的小「草稿模型」(或模型自身的额外预测头)一口气猜出后面 k 个词,然后把这段草稿一次前向并行验证。验证时模型会算出每个位置上「正确答案应该是什么」,从头依次比对:连续的猜对部分全部接受,第一个猜错的位置截断、改用大模型的正确结果。关键点在于 ——验证 k 个词的成本,约等于生成 1 个词的成本,因为它是同一次前向。
每个方块 = 草稿模型猜的一个词。绿色 = 大模型验证通过(白送),砖红 = 猜错位置(从该处截断重算)。平均一次前向能产出 1 个以上 token,这就是加速的来源。
V4-Pro-0813 检查点附加了推测解码模块;V4.1-Flash 的方案叫 DSpark:半自回归地生成草稿,并用「置信度」来调度验证策略(对高置信的草稿更激进地一次验证多个,对低置信的更谨慎)。注意它与 MTP(3.5)的关系:MTP 在训练时建立的「多步预测能力」,正好可以被复用来充当草稿。
3.16测试时计算:多想一会儿,真的会更准吗
要解决的问题。传统上模型的能力在训练完就固定了。但有些问题(复杂数学、长程规划)本来就需要更多思考步骤 —— 能不能在推理阶段「多花算力换准确率」?
做法。让模型生成长的思维链(Chain-of-Thought),把思考当作计算资源来花,这就是测试时计算扩展(test-time scaling)。工程上它表现为一个可调参数:思考强度 / 推理强度。DeepSeek-V4.1-Flash 把它做成了 1 到 100 的连续可调整数,官方建议复杂 Agent 场景设到 max 档。
两个可锚定的数据点(官方披露):推理强度从 25 提到 100 时,DeepSWE v1.1 从 66.0% 升到 74.2%,Terminal-Bench 2.1 从 82.4% 升到 90.6%,而输出 token 消耗约为 2.5 倍。 中间档位的曲线为按此两端点做的平滑插值示意,真实边际收益通常是递减的、且随任务类型而变化。
在 R1-Zero 的训练过程中,报告观察到模型的平均思考时间在持续缩短 —— 但这个缩短并不是因为「想得更少」,而是模型内部演化出了更高效的探索方式(比如更早放弃错误路径)。思考更长 ≠ 更好;有效思考才是目标。这句话是理解整个测试时计算方向最有用的一句提醒。
3.17同策略蒸馏 OPD:把多个专家合回一个模型
要解决的问题。V4 的后训练是两阶段范式。第一阶段,为了让每个领域都做到最好,分别培养领域专家(数学的、代码的、Agent 的、写作的……)—— 它们靠 SFT 加 GRPO 强化学习各自做到很强。但上线时你只能部署一个模型,不能同时挂十几个专家让用户自己选。
做法:用同策略蒸馏(On-Policy Distillation, OPD)合并。「同策略」意味着:不是拿专家生成的固定数据集去训练学生,而是让当前学生模型自己走一遍、采样出自己的轨迹,再让专家在这些轨迹上给出指导信号,学生据此纠正。
为什么必须「同策略」。学生模型犯的错,和专家模型犯的错不是同一类。如果只在专家的输出分布上做模仿(离线蒸馏),学生只学会了「专家会怎么答」,却没学会「当自己走偏时该怎么回来」。而同策略蒸馏纠正的正是学生自己会走到的那些状态,所以合并后的模型在统一行为上更稳。
离线蒸馏
在专家的输出上模仿。数据可以提前生成、反复使用,工程简单,但学生的错误分布没被覆盖。
同策略蒸馏
在学生自己采样的轨迹上学习。需要在线生成,成本更高,但能纠正学生自身的偏差 —— V4 系列采用的是这条路线。
到这里,整个后训练范式的演进可以串起来了:SFT 模仿(会答)→ 规则奖励 RL / GRPO(会推理)→ 冷启动 + 多阶段 RL(会推理且能读)→ 蒸馏(把能力传给小模型)→ 领域专家分头训练(每个领域都最强)→ 同策略蒸馏(合回一个模型)。每一步都在解「如何在不牺牲均衡性的前提下把单项做到极致」。
原始报告与出处
SOURCES下面是本手册引用的原始资料清单。建议的读法是「先读本手册的对应小节,再点进原始报告只看那一节」,而不是从头啃论文。链接如失效,请在 arXiv 或官方 GitHub 按标题检索。
DeepSeek 官方
- 官方动态列表(各版本发布说明的权威入口)
- DeepSeek V4.1 Flash 发布说明(2026-09-10)
- DeepSeek-V4 预览版发布说明(2026-04-24)
- V3.2 正式版发布说明(2025-12-01)
- V3.2-Exp 发布说明(2025-09-29)
- V4.1-Flash 模型与技术报告(Hugging Face)
- deepseek-ai GitHub 组织(含 FlashMLA / DeepGEMM / DualPipe / Engram 等配套开源)
技术报告与论文
- DeepSeek-V3 Technical Report
- DeepSeek-V2 Technical Report(MLA 与 DeepSeekMoE 的原始定义)
- DeepSeek-R1 Technical Report
- DeepSeek-V4 Technical Report
- DeepSeekMoE(细粒度专家 + 共享专家隔离)
- DeepSeekMath(GRPO 算法的出处)
- DeepSeek LLM(第一代 67B)
前沿对比来源
前置知识(按阅读顺序)
- Attention Is All You Need(Transformer 原始论文)
- GShard(MoE 大规模并行训练)
- Switch Transformer(MoE 进入 Transformer 的关键一步)
- NSA(Native Sparse Attention,DSA 的技术前身之一)
- Muon 优化器(在 GitHub 检索 KellerJordan/Muon)
附录 B口径与局限声明
1 · 时间快照。本手册数据截至 2026-09-21。DeepSeek 的迭代节奏以月为单位(V3.2-Exp 到 V3.2 正式版仅隔两个月);V4.1-Pro 官方只在 V4.1-Flash 的发布说明里提过一次名字,至今没有发布日期、没有模型 ID、没有价格;同一份公告里「9 月 14 日起 V4-Pro 下线并路由至 V4.1-Flash」的安排,也已在 9 月 12 日前后被官方收回。任何数字与排名都可能在你读到它时已经过时。
2 · 来源分层。带明确出处的数据来自:DeepSeek 官方发布页、Hugging Face 官方模型卡与技术报告、arXiv 论文、OpenAI 与 Anthropic 的官方发布页与系统卡。少量细节(如静默更新的具体范围、正式版检查点的评测汇总)来自第三方追踪站点,已在小节内标注「口径提醒」。
3 · 跑分的可比性。第 2.2 节的成绩全部出自 DeepSeek 官方报告的横向评测表 —— 这是「我方视角」的证据,思考强度、是否使用工具、采样设置均由发布方设定。不同厂商的分数不能直接跨表比较。
4 · 演示的性质。所有交互实验都是机制演示,用于说明原理与量级趋势,不是实测性能数据。KV 缓存、稀疏注意力、成本测算的数值基于公开配置的公式推算,已在对应实验下方写明计算口径。
5 · 定价与商业策略。API 价格为发布时点的公开标价,峰谷时段与缓存命中率会显著改变实际账单。做选型请以官方定价页当日数据为准。