论文 · arXiv 2412.19437
DeepSeek-V3 技术报告
DeepSeek-V3 Technical Report
三句话总结
- 🎯 前沿级 MoE 模型需要极大的计算预算,承受辅助平衡损失带来的性能衰减,并面临庞大的跨节点 all-to-all 通信瓶颈。
- 🔧 采用 Multi-head Latent Attention (MLA)、无辅助损失均衡的 DeepSeekMoE、细粒度量化的 FP8 混合精度训练、DualPipe 重叠调度以及多 token 预测(MTP)。
- 📈 仅用 2.788M H800 GPU 小时(约 557.6 万美元)在 14.8T token 上训练了 671B 参数(37B 激活),取得开源模型 SOTA 成绩,且能与 GPT-4o 和 Claude-3.5-Sonnet 竞争。
摘要
我们推出了 DeepSeek-V3,这是一个强大的混合专家(MoE)语言模型,总参数量为 671B,每个 token 激活 37B 参数。为了实现高效推理和高性价比训练,DeepSeek-V3 采用了在 DeepSeek-V2 中得到充分验证的 Multi-head Latent Attention (MLA) 和 DeepSeekMoE 架构。此外,DeepSeek-V3 首创了无辅助损失的负载均衡策略,并引入了多 token 预测训练目标以实现更强性能。我们在 14.8 万亿高质量、多样化的 token 上预训练了 DeepSeek-V3,随后进行了监督微调和强化学习阶段以充分发挥其能力。全面的评估显示,DeepSeek-V3 的性能超越了其他开源模型,并达到了与领先闭源模型相当的水平。尽管性能卓越,DeepSeek-V3 的完整训练仅消耗了 2.788M H800 GPU 小时。此外,其训练过程极其稳定。在整个训练过程中,我们没有遇到任何不可恢复的 loss 异常突增(spike),也未执行过任何回滚。模型权重已发布于 https://github.com/deepseek-ai/DeepSeek-V3。
英文原文摘要
We present DeepSeek-V3, a strong Mixture-of-Experts (MoE) language model with 671B total parameters with 37B activated for each token. To achieve efficient inference and cost-effective training, DeepSeek-V3 adopts Multi-head Latent Attention (MLA) and DeepSeekMoE architectures, which were thoroughly validated in DeepSeek-V2. Furthermore, DeepSeek-V3 pioneers an auxiliary-loss-free strategy for load balancing and sets a multi-token prediction training objective for stronger performance. We pre-train DeepSeek-V3 on 14.8 trillion diverse and high-quality tokens, followed by Supervised Fine-Tuning and Reinforcement Learning stages to fully harness its capabilities. Comprehensive evaluations reveal that DeepSeek-V3 outperforms other open-source models and achieves performance comparable to leading closed-source models. Despite its excellent performance, DeepSeek-V3 requires only 2.788M H800 GPU hours for its full training. In addition, its training process is remarkably stable. Throughout the entire training process, we did not experience any irrecoverable loss spikes or perform any rollbacks. The model checkpoints are available at https://github.com/deepseek-ai/DeepSeek-V3.
论文解读
问题与动机
前沿大语言模型(LLM)正不断缩小通往 AGI 的距离,但扩展开源模型通常需要高昂的计算预算和基础设施。此外,扩展混合专家(MoE)架构还会引入特定的工程挑战:
- 辅助损失退化:传统的辅助负载均衡损失严重限制了路由的灵活性,损害了语言建模能力。
- 通信瓶颈:细粒度的跨节点路由会导致严重的 all-to-all 通信开销,计算与通信比往往达到 1:1。
- 数值精度与显存:标准的 16 位训练极耗显存,而原生 FP8 训练由于激活异常值和有限的 Tensor Core 累加精度,容易出现数值不稳定和下溢。
DeepSeek-V3 通过协同设计的算法策略与硬件级基础设施优化解决了这些挑战,以极低的训练成本实现了前沿性能。
核心理念
- 架构效率:通过 Multi-head Latent Attention (MLA) 将低秩键值压缩与基于 DeepSeekMoE 的细粒度路由专家(1 个共享专家 + 256 个路由专家,激活 8 个)相结合。
- 无辅助损失负载均衡:用动态更新的专家偏置项替代降低性能的辅助损失,在避免路由崩塌的同时实现不同领域的专业化分工。
- 多 token 预测(Multi-Token Prediction, MTP):在保持因果链的每个位置按顺序预测未来多个 token,以丰富训练信号并支持推测解码(1.8× TPS)。
- DualPipe 并行:一种双向流水线调度方案,将前向和后向计算与跨节点 MoE all-to-all 及 PP 通信完全重叠。
- FP8 混合精度训练:在所有张量上使用 E4M3,应用 tile 级()激活缩放和 block 级()权重缩放,并每隔 步将累加转移至 CUDA Core 寄存器中以 FP32 进行。
- 推理蒸馏:将 DeepSeek-R1 系列中包含验证与反思的长 CoT 推理模式直接蒸馏到 SFT 和 RL 后训练阶段。
方法
1. Multi-head Latent Attention (MLA)
对于 token 的隐藏状态 ,MLA 将 KV cache 压缩为一个共享隐向量 ,将查询状态压缩为 :
在推理过程中,显存缓存仅限于 和 ,从而大幅降低了显存占用。
2. 无辅助损失均衡的 DeepSeekMoE
前馈网络的输出结合了 个共享专家和 个路由专家:
专家亲和度计算为 。门控值 通过归一化 获得,其中路由决策引入了一个动态偏置项 :
如果专家 在步结束时过载,则 ;如果负载不足,则 (其中 )。同时辅以一个极小的序列级平衡损失()。
3. 多 token 预测(Multi-Token Prediction, MTP)
对于预测深度 (其中 ),表示 与偏移的 token 嵌入相结合:
总训练损失增加一项 。
结果
- 预训练预算:在 14.8T token 上仅使用 2.664M H800 GPU 小时完成预训练(2048 块 GPU 上每 1T token 耗时 3.7 天)。完整训练消耗 2.788M GPU 小时(按每小时 2 美元计算约合 557.6 万美元)。
- 稳定性:在所有 14.8T token 的训练过程中,保持零回滚且无不可恢复的 loss 突增。
- 基座模型评测基准:
- 在 MMLU (87.1 vs. 84.4)、BBH (87.5 vs. 82.9)、HumanEval (65.2 vs. 54.9) 和 MATH (61.6 vs. 49.0) 上超越 LLaMA-3.1 405B Base。
- 在 C-Eval (90.1 vs. 89.2) 和 GSM8K (89.3 vs. 88.3) 上超越 Qwen2.5 72B Base。
- 对话模型评测基准:
- 数学与代码:刷新非 o1 模型的 SOTA 得分:MATH-500 (90.2)、AIME 2024 (39.2)、LiveCodeBench CoT (40.5)。
- 广泛知识:MMLU (88.5)、MMLU-Pro (75.9)、GPQA-Diamond (59.1)。
- 开放式问题:在 Arena-Hard 上的胜率超过 85%(85.5%),并在控制长度的 AlpacaEval 2.0 上取得 70.0% 的成绩。
局限性与开放性问题
- 硬件推理底线需求:高效服务需要庞大的部署单元(预填充单元需要 32 块 GPU,解码单元需要 320 块 GPU),这对小型机构构成了基础设施门槛。
- 跨节点 SM 分配:每块 GPU 有 20 个 SM 被专门用于处理跨节点的 all-to-all 通信例程,而不是进行矩阵数学计算。
- 事实性差距:在英文事实类任务如 SimpleQA (24.9% vs. 38.2%) 上落后于闭源前沿模型(例如 GPT-4o、Claude-3.5-Sonnet),尽管在中文 SimpleQA (64.8%) 上处于领先地位。
关键术语
- Multi-head Latent Attention (MLA)
- 一种将键(Key)和值(Value)低秩压缩到共享隐向量的注意力机制,可大幅减少推理过程中的 KV cache 占用。
- DeepSeekMoE
- 一种利用细粒度专家和专用共享专家的混合专家(MoE)架构,旨在增强专业化分工和路由表达能力。
- Auxiliary-Loss-Free Load Balancing
- 一种根据 batch 负载动态修改每个专家亲和度偏置项的路由方法,避免在目标函数中添加过大的正则化辅助损失。
- Multi-Token Prediction (MTP)
- 一种使用因果模块在每个位置按顺序预测未来多个 token 的训练框架,同时复用主模型的词表嵌入和输出头。
- DualPipe
- 一种双向流水线并行算法,将前向计算、输入的反向计算和权重的反向计算与 all-to-all 及流水线通信相互重叠。
- Warp Specialization
- 一种将 GPU 流式多处理器(SM)划分为执行专用任务的 warp 的执行模型,用于并发进行 IB 和 NVLink 数据分发与合并。
- Group Relative Policy Optimization (GRPO)
- 一种通过计算相对于一组采样响应的优势来消除对单独 Critic 模型需求的强化学习算法。
常见问题
DeepSeek-V3 的总参数量和激活参数量是多少?
DeepSeek-V3 拥有 671B 的总参数量,每个 token 激活 37B 参数(包含 1 个共享专家以及从 256 个路由专家中选出的 8 个)。
训练 DeepSeek-V3 花费了多少成本?
完整训练需要 2.788M H800 GPU 小时(预训练 2.664M、上下文扩展 119K、后训练 5K),按每 GPU 小时约 2 美元的单价估算,成本约为 557.6 万美元。
为什么无辅助损失均衡方法优于标准辅助损失?
标准的序列级辅助损失强制单个序列内均匀使用专家,从而破坏了领域专业化。DeepSeek 的动态偏置更新确保了 batch 级别的负载均衡,而不会干扰主要的语言建模梯度目标。
FP8 混合精度是如何在没有损失发散的情况下成功训练的?
通过使用 tile 级(1x128)激活量化、block 级(128x128)权重量化、纯 E4M3 表示,并在 CUDA Core 上的 FP32 寄存器中每 128 个元素转录一次中间 Tensor Core 累加和,以避免低精度累加下溢。
本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。