AI 系统 DeepSeek-V3 Technical Report:中英对照解读
· 约 18 分钟阅读
版权说明:这不是论文全文翻译。英文栏保留论文术语、章节名和少量短摘录,其余用英文转述;中文栏侧重解释机制、工程含义和容易误读的地方。原文见 DeepSeek-V3 Technical Report。
1. 这篇报告在说什么
| English | 中文解释 |
|---|
| DeepSeek-V3 is a large MoE language model. | DeepSeek-V3 的核心不是“单个 dense 巨模型”,而是 MoE:总参数很大,但每个 token 只激活一部分 expert。理解它要同时看模型架构、路由、并行通信和线上部署。 |
| Short source phrase: “671B total parameters with 37B activated”. | 这句话是全篇的参数口径:总参数 671B,每个 token 激活约 37B。推理时的计算量按激活参数看,但显存、权重加载、专家放置和通信不能只看 37B。 |
| The report covers architecture, infrastructure, pre-training, post-training, and evaluation. | 它不是单纯的模型卡。DeepSeek 团队把模型结构、训练框架、FP8、MoE all-to-all、prefill/decode 分离部署、硬件建议都写进去了。对系统工程来说,第 3 章的价值不低于 benchmark 表。 |
| The model was pretrained on 14.8T tokens and then aligned with SFT and RL. | 14.8T 是 base model 的主要数据规模。后续 SFT/RL 用来对齐回答风格、推理能力和偏好,不应该把全部能力都归因到 RL。 |
| The reported full training cost is 2.788M H800 GPU hours. | 论文把成本拆为预训练、长上下文扩展、后训练。这个数字的意义在于说明算法、框架、通信和低精度训练是一起设计的;单独复制某个技巧,未必能复现同样的成本曲线。 |
2. Architecture:MLA + DeepSeekMoE
| English | 中文解释 |
|---|
| Multi-head Latent Attention (MLA) | MLA 的目标是降低推理时 KV cache 的压力。传统 MHA/GQA 会保存每层每个 token 的 K/V;MLA 把 K/V 相关状态压到 latent 表示里,再在计算时恢复需要的部分。对长上下文和高并发服务,KV cache 往往比算力更早成为瓶颈。 |
| DeepSeekMoE | DeepSeekMoE 把 FFN 替换为多个 expert。每个 token 经 router 选择少数 routed experts,再叠加 shared experts。MoE 的收益是“参数容量大、每 token 计算少”;代价是路由不均衡、expert 并行和 all-to-all 通信。 |
| Shared experts and routed experts | Shared expert 类似所有 token 都会经过的公共 FFN,routed expert 则由 router 按 token 分派。Shared expert 提供稳定的公共能力,routed expert 承担更细的模式分工。 |
| Top-k routing | Router 给 token 和 expert 打分,选出 top-k expert。这里的 top-k 不只是模型算法问题,也会决定每层有多少 token 要跨 GPU 迁移。 |
2.1 为什么 MLA 对推理重要
| English | 中文解释 |
|---|
| Efficient inference depends on reducing KV cache footprint. | Decode 阶段每生成一个 token,都要读取历史上下文对应的 KV cache。上下文越长、batch 越大,KV cache 越像一块常驻显存账单。MLA 的价值是降低这笔账单,让同样显存承载更多请求、更长上下文或更大的 batch。 |
| MLA is not just an attention variant for accuracy. | 如果只从模型结构看 MLA,会低估它的系统意义。对线上服务,KV cache 决定并发容量、换入换出策略、prefix cache 命中后的收益和多租户调度空间。 |
2.2 为什么 MoE 不是“免费扩参数”
| English | 中文解释 |
|---|
| MoE increases total capacity while keeping per-token compute lower. | MoE 把“每个 token 都用全部参数”改成“每个 token 只访问部分 expert”。这能扩大模型容量,但会引入 expert load balance 和通信成本。 |
| Expert parallelism requires token dispatch and combine. | EP 模式下,每张 GPU 只持有一部分 expert。Router 选完 expert 后,系统要把 token 发到对应 GPU,expert 算完再把结果发回。这个过程就是 dispatch/combine。 |
| All-to-all can become the bottleneck. | MoE 性能不只取决于 GEMM。跨节点 all-to-all 如果暴露在关键路径上,GPU 可能等通信,吞吐会掉。DeepSeek-V3 的训练框架和部署策略都在围绕这个问题做重叠和放置优化。 |
3. Auxiliary-loss-free Load Balancing:不用大辅助损失压路由
| English | 中文解释 |
|---|
| Conventional MoE systems often use auxiliary load-balance loss. | 传统做法会给 router 加一个辅助损失,让 token 分到各 expert 更均匀。问题是这个损失会和主任务目标竞争:辅助损失太强,模型可能为了均衡牺牲语义最优路由。 |
| DeepSeek-V3 uses an expert-level routing bias. | DeepSeek-V3 给每个 expert 维护一个 bias。选择 expert 时使用 score + bias,但真正乘到 FFN 输出上的 gating value 仍来自原始 score。这样 router 的选择会被负载调节,模型输出权重不直接被 bias 污染。 |
| The bias is updated from observed expert load. | 每个训练 step 后,系统根据 expert 是否过载调整 bias。过载 expert 的 bias 下调,欠载 expert 的 bias 上调。这个机制把负载均衡做成反馈控制,而不是强行把辅助损失压进模型目标。 |
| A small sequence-wise auxiliary loss is still used. | “auxiliary-loss-free” 不等于完全没有任何辅助项。论文保留了一个较弱的 sequence-wise balance loss,避免单个序列内部出现极端不均衡。 |
工程含义
| English | 中文解释 |
|---|
| Load balance is a systems metric, not only a modeling metric. | MoE 的负载不均衡会直接体现为某些 GPU 的 expert token 数过多,其他 GPU 等待。训练和推理都要看每层、每 expert、每 GPU 的 token 分布,而不是只看最终 loss。 |
| Routing quality and serving efficiency must be optimized together. | 让 token 去“最适合”的 expert 有利于模型效果;让 token 均匀分布有利于吞吐。DeepSeek-V3 的 bias 方法是在这两个目标之间做动态折中。 |
4. Multi-Token Prediction:训练目标,也可服务投机解码
| English | 中文解释 |
|---|
| Multi-Token Prediction (MTP) trains the model to predict future tokens beyond the next one. | 标准自回归训练只预测下一个 token。MTP 增加了额外预测头,让模型学习后续多个 token 的分布。它不是把模型变成“一次直接生成多 token”的普通 decode,而是在训练中加入更远位置的监督信号。 |
| MTP improves benchmark performance in the report. | 论文报告 MTP 对模型能力有收益。直觉上,它让隐藏状态必须携带对未来更长范围的预测信息,训练信号比只看 next token 更密。 |
| MTP can be used for speculative decoding. | MTP 头可以给后续 token 提供候选,目标模型再验证。它和 EAGLE、Medusa 等方法属于同一个大方向:用便宜的 draft 候选换取 target model 一次验证多个 token 的机会。 |
| MTP in training should not be confused with guaranteed online speedup. | 线上加速取决于接受率、draft 成本、验证 batch、调度实现和业务输出长度。论文说 MTP 可用于 speculative decoding,不等于所有部署都会自动获得同样收益。 |
和推理页面的连接
| English | 中文解释 |
|---|
| Traditional decode is memory-bound. | Decode 每步读权重和 KV cache,但只产出一个 token。投机解码希望一次 target forward 接受多个 token,减少 target model 的调用步数。 |
| Acceptance rate is the key runtime metric. | 真正要监控的是每个验证 step 平均接受几个 token,也就是 accept length / accept rate。如果接受率低,MTP 头或 draft 模型的额外成本会抵消收益。 |
| MTP adds a model-side hook for drafting. | 这类方法的好处是不一定需要单独训练一个小 draft model;坏处是目标模型本身要带额外模块,部署引擎也要支持对应的验证流程。 |
5. Infrastructure:DualPipe、all-to-all 和内存节省
| English | 中文解释 |
|---|
| DualPipe overlaps computation and communication. | MoE 训练的难点是跨节点 all-to-all。DualPipe 的核心是把前向、反向、dispatch/combine 和通信安排成流水线,让通信尽量被计算覆盖。 |
| Cross-node all-to-all is handled in a topology-aware way. | 论文区分节点内 NVLink 和节点间 InfiniBand:先跨节点传输,再在节点内转发。这样能利用不同链路的带宽特征,减少随机跨卡通信。 |
| Memory saving avoids expensive tensor parallelism during training. | DeepSeek-V3 通过重算 RMSNorm/MLA up-projection、CPU 保存 EMA、共享 MTP embedding/output head 等手段压低显存。少用 TP 意味着少一些张量并行通信,也让训练框架更容易把 MoE 通信重叠起来。 |
| Compute cluster details matter. | 报告里的很多结论依赖 H800 集群、节点内 NVLink、节点间 IB。换到别的硬件,通信比例、瓶颈位置和最优并行切分都会变。 |
6. FP8 Training:低精度不是简单把 dtype 改掉
| English | 中文解释 |
|---|
| FP8 mixed precision is validated at very large scale. | 论文强调他们在极大规模模型上验证了 FP8 训练可行。这里的重点是“混合精度框架”,不是所有张量一律 FP8。 |
| Fine-grained quantization is used. | 细粒度量化意味着 scale 不是全局一个,而是按 block 或 tile 维护。这样能减少异常值对量化范围的影响。 |
| Accumulation precision still matters. | 低精度乘法如果累加也太低,误差会快速放大。论文讨论了提高 accumulation precision、在线量化、低精度通信和 optimizer state 存储等细节。 |
| Some sensitive components stay in BF16. | 训练稳定性来自分层处理:高吞吐 GEMM 可以用 FP8,容易影响收敛的组件保留更高精度。工程上要按算子和张量角色定精度,而不是按模型统一改 dtype。 |
对推理量化的启发
| English | 中文解释 |
|---|
| Training FP8 and inference quantization are related but different. | 训练 FP8 要保证梯度、累加、通信和 optimizer 不破坏收敛;推理量化主要关注延迟、吞吐、显存和精度回退。两者都需要 scale 设计和异常值处理,但验证指标不同。 |
| Hardware support shapes the algorithm. | 报告对硬件提出了 FP8 GEMM accumulation、tile/block-wise quantization、online quantization、transposed GEMM 等建议。这里能看出模型团队已经把算子需求反推给硬件。 |
7. Inference and Deployment:Prefill / Decode 分离
| English | 中文解释 |
|---|
| The deployment separates prefilling and decoding. | Prefill 和 decode 的瓶颈不同:prefill 一次处理长 prompt,算力密度高;decode 每步处理少量新 token,更容易受显存带宽、KV cache 和调度影响。分离部署能让两类节点采用不同并行策略和 batch 策略。 |
| Prefill uses a 4-node, 32-GPU minimum unit in the report. | 论文给出的 prefill 单元使用 TP、SP、DP 和 EP 组合:attention 部分 TP4+SP+DP8,MoE 部分 EP32。这说明 attention 和 MoE 不一定用同一套并行切分。 |
| Redundant experts are used for load balancing at serving time. | 线上服务会统计高负载 expert,把它们复制到额外 GPU 上。这样热门 expert 不再固定压在少数 GPU 上。论文还提到周期性调整,例如按在线统计每隔一段时间重排。 |
| Decode has a different parallelism and routing pressure. | Decode 单步 token 数少,MoE expert 的 batch 可能不够大,通信和调度开销更敏感。部署时不能把 prefill 的最优配置直接照搬到 decode。 |
对线上服务的直接启发
| English | 中文解释 |
|---|
| SLO and throughput are optimized together. | 线上部署不是只追求 token/s。SLO 会限制排队、prefill 等待、decode step latency 和尾延迟。Prefill/decode 分离是为了让两类资源分别满足延迟和吞吐目标。 |
| Expert placement is a runtime control point. | MoE 推理要把 expert 放置作为可调配置。监控要包括 expert load、跨节点 token 数、dispatch/combine 时间、每层最慢 rank 和 redundant expert 命中情况。 |
| Micro-batch overlap hides communication. | Prefill 阶段可以同时处理计算量接近的 micro-batch,把一个 micro-batch 的 attention/MoE 计算和另一个的 dispatch/combine 通信重叠。这个技巧对调度器有要求:micro-batch 形状不能差太多。 |
8. Pre-training、长上下文和 Post-training
| English | 中文解释 |
|---|
| Pre-training uses 14.8T tokens. | 数据规模是 base model 能力的主来源。报告还强调训练过程稳定,没有不可恢复的 loss spike 或 rollback。对大模型训练来说,稳定性本身就是工程指标。 |
| Context length is extended in two stages: 32K then 128K. | 长上下文通常不是一开始直接训到最大长度,而是先在较短上下文上训练主体能力,再做阶段性扩展。这样能控制训练成本和稳定性。 |
| Post-training includes SFT and RL. | SFT 给模型示范回答格式和任务行为;RL 进一步根据奖励信号调整偏好。报告还提到从 DeepSeek-R1 系列蒸馏 reasoning 能力。 |
| Distillation from reasoning models changes behavior, not base architecture. | 从 R1 蒸馏并不意味着 V3 变成同一个模型。它更像把长 CoT 模型中的验证、反思和解题风格转移到标准 LLM 中,同时控制输出长度。 |
9. 读这篇报告时的几个边界
| English | 中文解释 |
|---|
| Benchmark numbers are not deployment numbers. | 评测分数说明模型能力,但不能直接推导线上成本。线上还要看 prompt 长度分布、输出长度、并发、KV cache 命中、accept rate、SLO 和硬件拓扑。 |
| Training efficiency is a co-design result. | 2.788M H800 GPU hours 不是某个单点技巧带来的。MLA、MoE、aux-loss-free balance、MTP、FP8、DualPipe、通信 kernel、硬件拓扑一起决定成本。 |
| MoE active parameters do not equal memory footprint. | “每 token 激活 37B”只描述计算路径。部署时仍要放置全部 expert 权重,或者设计 offload、分层、复制和路由策略。 |
| MTP is not the whole speculative decoding story. | MTP 提供候选 token 的训练/模型机制;最终加速还要靠验证算法、接受率、调度器和 serving engine。 |
| FP8 success is not a universal dtype recipe. | FP8 可行性依赖 scale 粒度、累加精度、算子覆盖、通信格式和敏感模块保留高精度。直接全量替换 dtype 风险很高。 |
10. 按工程视角重读原文章节
| 原文章节 | 建议关注点 |
|---|
| 2 Architecture | 看 MLA 如何服务 KV cache,DeepSeekMoE 如何改变 FFN 计算路径,aux-loss-free balancing 如何把负载均衡从损失函数转到反馈控制。 |
| 2.2 Multi-Token Prediction | 分清 MTP 的训练收益、benchmark 收益和 speculative decoding 的部署收益。 |
| 3.2 Training Framework | 重点看 DualPipe、跨节点 all-to-all、内存节省。这里解释了为什么 MoE 大规模训练没有被通信完全拖垮。 |
| 3.3 FP8 Training | 看哪些张量/算子可以 FP8,哪些仍需 BF16,以及量化粒度和累加精度怎么保护训练稳定性。 |
| 3.4 Inference and Deployment | 这是推理工程最值得细读的部分:prefill/decode 分离、EP/TP/DP 组合、redundant experts、micro-batch overlap。 |
| 3.5 Hardware Design | 看模型团队希望硬件提供什么能力:更好的 FP8 累加、tile/block quantization、online quantization、转置 GEMM。 |
| 4-5 Pre/Post-training | 看数据规模、长上下文扩展、SFT/RL 和 R1 蒸馏如何共同构成最终 chat model。 |
11. 一句话总结
DeepSeek-V3 报告最值得学的不是“671B MoE”这个标签,而是它把模型结构、训练精度、MoE 通信、专家负载、prefill/decode 部署和硬件能力放在同一个系统里优化。对推理工程来说,最可迁移的思路是:先拆清楚 prefill、decode、KV cache、MoE all-to-all 和 expert load 的真实瓶颈,再决定 MLA、量化、MTP、EP/TP/DP 和 redundant experts 该放在哪个控制点上。
12. MLA adoption:哪些模型在用
MLA 由 DeepSeek 在 2024 年 5 月随 DeepSeek-V2 首次提出,随后成为 DeepSeek 系列模型的标配架构。截至 2025 年中,采用 MLA 的主要模型包括:
原生采用 MLA 的模型
| 模型 | 团队 | 发布时间 | 说明 |
|---|
| DeepSeek-V2 | DeepSeek | 2024.05 | MLA 首发,236B 总参数 / 21B 激活,验证了 MLA + MoE 的可行性 |
| DeepSeek-V3 | DeepSeek | 2024.12 | MLA 改进版,671B / 37B,MLA 与 FP8、MTP、DualPipe 协同优化 |
| DeepSeek-R1 | DeepSeek | 2025.01 | 推理模型,继承 V3 的 MLA 架构,强化 CoT 能力 |
| Kimi K2 | Moonshot | 2025.06 | 万亿参数 MoE,采用 MLA 并将 attention heads 减半(64 vs DeepSeek 的 128),支持 128K 上下文 |
| Kimi K2 Thinking | Moonshot | 2025 | Kimi K2 的推理增强版,同样基于 MLA |
未采用 MLA 的主流模型(对比参考)
| 模型 | 注意力机制 | 备注 |
|---|
| LLaMA 3/4 (Meta) | GQA | 开源标杆,GQA 的广泛使用者 |
| Qwen3 (阿里) | GQA | 开源 MoE/Dense,沿用 GQA |
| Gemma 3 (Google) | 滑动窗口 + GQA | 局部注意力优化 |
| Mistral / Mixtral | GQA | 开源 MoE 先驱,未切换到 MLA |
| MiniMax M2 | Full Attention | 显式选择 Full Attention 而非 MLA,认为同等 token 预算下效果更好 |
| Claude / GPT-4o | 未公开 | 闭源模型未披露注意力细节 |
MLA 的生态扩展
- TransMLA(北大 + 腾讯,2025):提出将 GQA 模型后训练转换为 MLA 的方法,已在 LLaMA-2/3、Qwen-2.5/3 上验证,KV cache 压缩率可达 68.75%–93%
- vLLM:已原生支持 MLA 推理加速,DeepSeek 系列模型可直接利用其优化
- MHA2MLA(并发工作):另一种 GQA→MLA 的迁移方法
工程选型启示
| 场景 | 建议 |
|---|
| 从零训练新模型 | MLA 是当前的优选架构,尤其当目标场景涉及长上下文、高并发 |
| 已有 GQA 模型想获得 MLA 收益 | 可考虑 TransMLA 等后训练迁移方案,避免从头训练 |
| 对延迟极敏感、上下文短 | GQA 仍然是稳妥选择,MLA 的 up-projection 开销在短上下文场景收益不明显 |
13. DSpark:从 V3 MTP 到 V4 投机解码的演进
DeepSeek-V3 的 MTP(Multi-Token Prediction)在训练时加入额外预测头学习后续 token 分布,推理时用于单 token 推测(MTP-1)。2026 年 6 月,DeepSeek 在 V4 上发布了 DSpark——一套完整的投机解码框架,在 MTP-1 基础上再叠加 60%–85% 的速度提升。
核心对比
| 维度 | DeepSeek-V3 MTP-1 | DSpark (DeepSeek-V4) |
|---|
| 发布时间 | 2024.12 | 2026.06 |
| 草稿架构 | 串行 MTP 头,逐个位置生成候选 | 半自回归:并行骨干 + 轻量顺序头 |
| 草稿速度 | 每位置一次前向传播 | 一次前向产出全部位置,顺序头做极低开销修正 |
| 后缀衰减 | 无(串行天然保持依赖) | 顺序头显式注入前缀依赖,缓解并行方案的后缀衰减 |
| 验证长度 | 固定(单 token) | 动态可变,由置信度头 + 硬件吞吐曲线决定 |
| 调度机制 | 无 | 硬件感知置信度调度,GPU 内执行,零 CPU 开销 |
| 草稿校准 | 无 | 在线温度缩放,校准误差从 3%–8% 压到 ~1% |
| 加速效果(vs MTP-1) | 基线 | Flash +60%–85%,Pro +57%–78% |
| 接受长度(vs Eagle3) | — | +26.7%–30.9% |
| 接受长度(vs DFlash) | — | +16.3%–18.4% |
| 开源 | MTP 训练机制 | DSpark + DeepSpec 全栈训练库(含 Eagle3/DFlash/DSpark 三种草稿模型) |
关键技术拆解
半自回归生成:DSpark 将 Eagle 式的串行精度和 DFlash 式的并行速度拼在一起。并行骨干一次前向产出所有位置的 logits(负责速度),轻量马尔可夫头从前往后逐位置注入前缀偏置(负责修正)。马尔可夫头通过低秩分解(rank 256)实现,草稿长度从 4 扩到 16 时额外延迟仅 0.2%–1.3%,但接受长度最高提升 30%。
置信度调度验证:传统方案盲目将全部草稿 token 送验证,高并发时大概率被拒的尾部 token 浪费 batch 算力。DSpark 给每个草稿位置打存活概率分,结合 GPU 吞吐参考曲线为每条请求动态匹配最优验证长度。调度全程在 GPU 内执行,兼容零开销调度(ZOS)和连续 CUDA 图回放。
在线校准:神经网络天然过度自信,原始置信度不可靠。DSpark 在运行时持续观察实际接受率,用顺序温度缩放动态修正阈值——代码任务多了就学会对代码草稿更宽容,聊天任务来了自动收紧。
和 V3 MTP 的关系
DSpark 不是替代 MTP,而是在 MTP-1 已经提供的推测解码基线上再叠加优化。V3 的 MTP 头仍然是训练时的多 token 预测机制,提供模型能力收益;DSpark 是推理时的草稿-验证框架,提供纯工程加速。两者可以共存:模型训练时用 MTP 增强能力,部署时用 DSpark 加速推理。
对推理工程的启发
| 要点 | 说明 |
|---|
| 加速三层杠杆 | 降低草稿耗时(猜得更快)、提高接受率(猜得更准)、减少验证浪费(验得更聪明) |
| 可变草稿 > 固定草稿 | 不同请求类型、不同服务器负载应使用不同草稿长度 |
| 调度必须硬件感知 | 不考虑 GPU 吞吐曲线的调度,在高并发时会反向拖慢吞吐 |
| 校准是在线问题 | 静态阈值在分布漂移时失效,需要边跑边调 |
相关页面