2024 年,DeepSeek 团队连续发表了两篇重磅论文:DeepSeek-V2 和 DeepSeek-V3。这两篇论文的核心贡献是提出了 Multi-head Latent Attention(MLA),通过将 KV Cache 压缩到低维潜在向量,在保持性能的同时大幅降低了推理成本。配合 DeepSeekMoE 的细粒度专家路由和辅助损失无关的负载均衡策略,DeepSeek-V3 仅用 557 万美元训练了 671B 参数的 MoE 模型,性能媲美 GPT-4o 和 Claude 3.5 Sonnet。
这是中国 AI 团队在 LLM 架构层面做出的最具原创性的贡献之一,也是开源大模型发展史上的里程碑事件。
本文要点
- Multi-head Latent Attention(MLA):KV 压缩到低维潜在向量的核心机制
- MLA 与标准 MHA、GQA 的详细对比分析
- DeepSeekMoE:细粒度专家 + 共享专家隔离策略
- 辅助损失无关的负载均衡(Auxiliary-Loss-Free Load Balancing)
- DeepSeek-V3 的 FP8 混合精度训练
- 多 Token 预测(Multi-Token Prediction, MTP)
- 671B MoE 模型仅用 557 万美元的训练成本
- 性能对标 GPT-4o 和 Claude 3.5 Sonnet
- 开源贡献与社区影响
一、背景:注意力机制的效率瓶颈
自 2017 年 Transformer 诞生以来,注意力机制的 KV Cache 一直是推理效率的核心瓶颈。随着模型规模和上下文长度的增长,KV Cache 的内存占用呈线性增长,严重制约了推理吞吐量。
0.1 标准 MHA 的内存问题
在标准的多头注意力(Multi-Head Attention, MHA)中,每个注意力头都需要独立的 Key 和 Value 向量:
KV Cache 大小 = 2 × num_layers × num_heads × head_dim × seq_len × batch_size以 LLaMA-2 70B 为例,2K 上下文的 KV Cache 约需 8GB 显存,远超模型参数本身。
0.2 已有的优化方案
在 MLA 之前,业界主要采用以下两种优化策略:
MQA(Multi-Query Attention)将所有头共享一组 KV,压缩比最高但性能有明显损失。GQA(Grouped-Query Attention)将头分组共享 KV,在性能和效率间取得平衡,被 LLaMA-2 等模型采用。
二、MLA:多头潜在注意力
DeepSeek-V2 提出的 MLA 是一种全新的思路:不减少 KV 的头数,而是将 KV 压缩到低维潜在空间。
0.3 核心思想
MLA 的核心洞察是:Key 和 Value 向量中存在大量冗余信息,可以通过低秩投影将其压缩到远低于原始维度的潜在空间。在推理时只需缓存压缩后的潜在向量,而非完整的 KV 对。
# MLA 的核心压缩机制(伪代码)# 标准注意力:缓存完整的 Key 和 Value# KV Cache: [batch, seq_len, num_heads, head_dim]
# MLA:压缩到低维潜在向量# 压缩后的 Cache: [batch, seq_len, kv_lora_rank]
# 压缩过程c_kv = compress_proj(x) # [batch, seq_len, kv_lora_rank] — 低维潜在表示
# 解压缩过程(推理时)k = k_decompress(c_kv) # [batch, seq_len, num_heads, head_dim]v = v_decompress(c_kv) # [batch, seq_len, num_heads, head_dim]0.4 MLA 的数学原理
MLA 使用低秩联合投影将 Key 和 Value 压缩到一个共享的潜在表示:
- 压缩:将输入隐藏状态投影到低维潜在空间
c_t = W_DKV · h_t,其中W_DKV的输出维度为d_c << d_h × n_h
- Key 解压缩:从潜在表示恢复 Key
k_t = W_UK · c_t,其中W_UK将d_c维映射回n_h × d_h维
- Value 解压缩:从潜在表示恢复 Value
v_t = W_UV · c_t,其中W_UV将d_c维映射回n_h × d_h维
- Query 侧:Query 也经过类似的低秩压缩
关键在于:推理时只需缓存 c_t(维度为 d_c),而 W_UK 和 W_UV 是固定的模型参数,不占用 Cache 空间。
0.5 MLA vs MHA vs GQA 对比
| 特性 | MHA | GQA | MLA |
|---|---|---|---|
| KV 缓存维度 | 2 × n_h × d_h | 2 × (n_h/g) × d_h | d_c |
| 压缩比 | 1× | g× | 2n_h d_h / d_c × |
| 注意力质量 | 最高 | 中等 | 接近 MHA |
| DeepSeek-V2 中 | — | — | d_c=512, 压缩约 16× |
在 DeepSeek-V2 的实际配置中,MLA 将 KV Cache 压缩了约 16 倍,同时保持了与标准 MHA 相当的注意力质量。
三、DeepSeekMoE:细粒度专家路由
除了 MLA,DeepSeek-V2/V3 的另一大创新是 DeepSeekMoE 架构。
0.6 细粒度专家分割
传统的 MoE(如 Mixtral)使用 8 个大型专家,每次激活 2 个。DeepSeekMoE 采取了截然不同的策略:
- 细粒度专家:将每个大型 FFN 分割成更多更小的专家(如 64 个)
- 更多激活专家:每次激活更多专家(如 6-8 个),保持总计算量不变
- 共享专家隔离:保留 1-2 个共享专家,始终被激活,处理通用知识
0.7 共享专家的价值
共享专家的设计解决了一个关键问题:在传统 MoE 中,不同专家可能会学习重复的通用知识(如语法、常识),造成参数浪费。共享专家始终被激活,专门处理这些通用知识,让路由专家可以更专注于各自的领域。
0.8 辅助损失无关的负载均衡
传统 MoE 使用辅助损失(Auxiliary Loss)来鼓励各专家负载均衡,但辅助损失会与主训练目标冲突,影响模型性能。DeepSeek-V3 提出了一种创新方案:
# 传统方法:添加辅助损失# loss = main_loss + alpha * aux_loss # aux_loss 惩罚负载不均
# DeepSeek-V3:辅助损失无关的方法# 通过动态调整每个专家的偏置项来实现负载均衡# 偏置项只影响路由决策,不影响梯度计算for expert in experts: bias[expert] += update_rate * (target_load - actual_load[expert]) adjusted_score = router_score + bias[expert]这种方法完全不干扰主训练目标,同时保证了各专家的负载均衡。
四、DeepSeek-V3:极致效率
DeepSeek-V3 在 V2 的基础上进一步优化,实现了令人惊叹的训练效率。
0.9 模型架构
| 参数 | DeepSeek-V2 | DeepSeek-V3 |
|---|---|---|
| 总参数量 | 236B | 671B |
| 激活参数量 | 21B | 37B |
| 层数 | 60 | 61 |
| 隐藏维度 | 5120 | 7168 |
| 注意力头数 | 128 | 128 |
| KV 压缩维度 | 512 | 512 |
| MoE 专家数 | 160 | 256 |
| 激活专家数 | 6(含共享) | 8(含共享) |
0.10 FP8 混合精度训练
DeepSeek-V3 是首个成功在超大规模 MoE 模型上使用 FP8 精度训练的模型:
FP8 训练的关键挑战是量化误差的累积。DeepSeek-V3 通过以下策略解决:
- 细粒度量化:对权重和激活值分别使用不同的缩放因子
- 延迟缩放:使用前一步的统计信息来调整当前步的缩放因子
- 选择性精度:对误差敏感的操作(如 RMSNorm、Softmax)保持高精度
0.11 多 Token 预测(MTP)
DeepSeek-V3 引入了多 Token 预测(Multi-Token Prediction, MTP)作为辅助训练目标:
- 传统方法:只预测下一个 Token
- MTP:同时预测未来 2 个 Token
# 标准 Next-Token Predictionloss = CE(model(x[:, :-1]), x[:, 1:])
# Multi-Token Prediction(DeepSeek-V3)# 主预测头loss_main = CE(head_1(hidden), target_t+1)# 辅助预测头(共享表示)loss_aux = CE(head_2(hidden), target_t+2)loss = loss_main + 0.3 * loss_auxMTP 不仅提升了训练效率,还增强了模型的规划能力。推理时可以可选地使用 MTP 头实现投机解码(Speculative Decoding)。
0.12 训练成本:557 万美元的奇迹
DeepSeek-V3 最令人震惊的数字是训练成本:
| 项目 | DeepSeek-V3 | GPT-4(估计) |
|---|---|---|
| 总参数量 | 671B(激活 37B) | 约 1.8T(估计) |
| 训练数据 | 14.8T Tokens | 约 13T Tokens(估计) |
| GPU 类型 | H800 | A100(估计) |
| GPU 数量 | 2048 × H800 | 约 25000 × A100(估计) |
| 训练成本 | $5.57M | $50-100M(估计) |
| 训练时长 | 约 2 个月 | 约 3-4 个月(估计) |
成本降低的核心原因:
- FP8 训练:减少约 50% 计算量和显存
- MoE 架构:只激活 37B 参数,等效于训练一个 37B Dense 模型
- 辅助损失无关:不浪费计算力在辅助损失上
- 极致的工程优化:通信与计算重叠、高效的 MoE 实现等
五、性能评估
DeepSeek-V3 在多项基准测试上取得了与顶级闭源模型相当的成绩:
| 基准测试 | DeepSeek-V3 | GPT-4o | Claude 3.5 Sonnet | LLaMA-3.1 405B |
|---|---|---|---|---|
| MMLU | 87.1 | 87.2 | 88.7 | 85.2 |
| MMLU-Pro | 75.9 | 78.0 | 78.0 | 72.6 |
| MATH-500 | 90.2 | 76.6 | 78.3 | 73.8 |
| GPQA | 59.1 | 53.6 | 59.4 | 51.1 |
| HumanEval | 82.6 | 86.6 | 84.9 | 80.0 |
| LiveCodeBench | 41.8 | 43.0 | 43.8 | 36.2 |
| AIME 2024 | 39.6 | 36.7 | 26.7 | 23.3 |
DeepSeek-V3 在数学推理(MATH-500、AIME)方面表现尤为出色,显著超越了 GPT-4o 和 Claude 3.5 Sonnet。
六、架构演进时间线
七、开源影响
DeepSeek-V2/V3 的影响力远超论文本身:
- 完全开源:模型权重、训练代码、技术报告全面公开
- MIT 协议:允许商业使用,降低了 AI 应用门槛
- 社区生态:大量基于 DeepSeek 的微调模型和应用涌现
- 行业影响:促使 Google、Meta 等公司加快开源步伐
- 硬件适配:证明了 H800(阉割版 H100)也能训练顶级模型
常见问题 FAQ
0.1 Q1: MLA 和 GQA 的本质区别是什么?
GQA 通过减少 KV 头数来降低内存,属于”减少信息量”的方案。MLA 则通过低秩投影压缩 KV 表示,属于”压缩信息”的方案。MLA 的优势在于压缩后的潜在表示仍然可以完整恢复 KV 信息,因此注意力质量更接近标准 MHA。
0.2 Q2: 为什么 DeepSeek-V3 的训练成本能这么低?
三个核心因素:FP8 训练节省了约 50% 的计算资源;MoE 架构使得每次前向传播只激活 37B 参数(而非全部 671B);极致的工程优化(通信计算重叠、高效 MoE 实现)进一步提升了硬件利用率。
0.3 Q3: FP8 训练不会损失精度吗?
DeepSeek-V3 论文详细分析了 FP8 的数值误差。通过细粒度量化(per-tensor scaling)、选择性精度保持(对误差敏感的操作用 BF16/FP32)和延迟缩放策略,FP8 训练的最终模型性能与 BF16 训练几乎无差异。
0.4 Q4: DeepSeekMoE 的细粒度专家有什么优势?
细粒度专家提供了更灵活的知识组合。传统 8 专家 MoE 只能选择 2 种知识组合,而 DeepSeekMoE 的 256 专家可以选择 8 种知识组合,知识获取的粒度更细,专业化程度更高。
0.5 Q5: 多 Token 预测(MTP)和投机解码有什么关系?
MTP 在训练时同时预测未来多个 Token,增强了模型的规划能力。在推理时,MTP 头可以被复用为投机解码的草稿模型,用一次前向传播生成多个候选 Token,然后由主模型并行验证,从而加速推理。
0.6 Q6: DeepSeek-V3 和 GPT-4o 的差距在哪?
在通用能力(MMLU、编码)上,DeepSeek-V3 略逊于 GPT-4o。但在数学推理(MATH-500、AIME)上,DeepSeek-V3 显著领先。考虑到 DeepSeek-V3 是开源的且训练成本仅为 GPT-4o 的约 1/10,这个差距几乎可以忽略。
0.7 Q7: MLA 可以用于非 MoE 架构吗?
理论上完全可以。MLA 是一种通用的注意力压缩方案,可以应用于任何基于 Transformer 的模型。但 MLA 的压缩优势在长上下文场景下最为明显,因此更适合需要处理长序列的模型。
小结
DeepSeek-V2/V3 的核心贡献可以归纳为:
- MLA(多头潜在注意力):通过低秩投影将 KV Cache 压缩 16 倍,在保持 MHA 级注意力质量的同时大幅降低推理成本
- DeepSeekMoE:细粒度专家 + 共享专家隔离的设计,使知识获取更灵活高效
- 辅助损失无关的负载均衡:不干扰训练目标,同时保证专家均衡利用
- FP8 混合精度训练:首个在超大规模 MoE 上成功应用 FP8 的实践
- MTP(多 Token 预测):增强规划能力,并可复用于投机解码
DeepSeek-V3 用 557 万美元训练了性能媲美 GPT-4o 的 671B 模型,打破了”训练顶级 LLM 需要上亿美元”的行业认知。这不仅证明了 MLA + MoE 架构的优越性,更展示了极致工程优化能够带来的巨大效率提升。
对于想要深入了解 LLM 架构优化的读者,建议按照以下顺序阅读:
- 本文(DeepSeek-V2/V3 MLA)→ 理解注意力压缩
- 第 14 篇(Flash Attention)→ 理解 IO 感知注意力
- 第 18 篇(MQA 与 GQA)→ 理解 KV 头共享
- 第 9 篇(Mixtral 与 MoE)→ 理解 MoE 基础
参考资料
- DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model — DeepSeek-AI, 2024
- DeepSeek-V3 Technical Report — DeepSeek-AI, 2024
- DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models — DeepSeek-AI, 2024
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning — DeepSeek-AI, 2025
- GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding — Lepikhin et al., 2020
- Switch Transformers: Scaling to Trillion Parameter Models — Fedus et al., 2021
- DeepSeek 官方博客
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时






