跳转到主要内容

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 往往比算力更早成为瓶颈。
DeepSeekMoEDeepSeekMoE 把 FFN 替换为多个 expert。每个 token 经 router 选择少数 routed experts,再叠加 shared experts。MoE 的收益是“参数容量大、每 token 计算少”;代价是路由不均衡、expert 并行和 all-to-all 通信。
Shared experts and routed expertsShared expert 类似所有 token 都会经过的公共 FFN,routed expert 则由 router 按 token 分派。Shared expert 提供稳定的公共能力,routed expert 承担更细的模式分工。
Top-k routingRouter 给 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-V2DeepSeek2024.05MLA 首发,236B 总参数 / 21B 激活,验证了 MLA + MoE 的可行性
DeepSeek-V3DeepSeek2024.12MLA 改进版,671B / 37B,MLA 与 FP8、MTP、DualPipe 协同优化
DeepSeek-R1DeepSeek2025.01推理模型,继承 V3 的 MLA 架构,强化 CoT 能力
Kimi K2Moonshot2025.06万亿参数 MoE,采用 MLA 并将 attention heads 减半(64 vs DeepSeek 的 128),支持 128K 上下文
Kimi K2 ThinkingMoonshot2025Kimi K2 的推理增强版,同样基于 MLA

未采用 MLA 的主流模型(对比参考)

模型注意力机制备注
LLaMA 3/4 (Meta)GQA开源标杆,GQA 的广泛使用者
Qwen3 (阿里)GQA开源 MoE/Dense,沿用 GQA
Gemma 3 (Google)滑动窗口 + GQA局部注意力优化
Mistral / MixtralGQA开源 MoE 先驱,未切换到 MLA
MiniMax M2Full 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-1DSpark (DeepSeek-V4)
发布时间2024.122026.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 吞吐曲线的调度,在高并发时会反向拖慢吞吐
校准是在线问题静态阈值在分布漂移时失效,需要边跑边调

相关页面

修改历史1 次提交