DeepSeek-V3 论文解读:557 万美元练出 671B,还要什么自行车
论文:DeepSeek-V3 Technical Report 作者:DeepSeek-AI 这篇是 2024 年底开源圈的核弹。一个 671B 参数的 MoE 模型,全部训练成本 2.788M H800 GPU 小时,按市价折算 557.6 万美元,不到两个月练完。成绩呢?跟 GPT-4o、Claude-3.5-Sonnet 掰手腕。架构上它基本是 V2 的延续,真正的新东西是三样,无辅助损失的负载均衡、多 token 预测、FP8 训练。读懂这篇,DeepSeek 从 V2 到 R1 的路线图就串起来了。
一、总盘子:671B 总参数,37B 激活
DeepSeek-V3 还是那个配方,MLA 加 DeepSeekMoE,都是 V2 验证过的架构。总参数 671B,每个 token 只激活 37B,上下文 128K。训练数据 14.8T token,2048 张 H800 跑完。
成本账最扎眼。预训练 2664K GPU 小时,长上下文扩展 119K,后训练 5K,加起来 2788K 小时。按 H800 每小时 2 美元租算,557.6 万美元。每训 1T token 只要 180K GPU 小时,2048 张卡跑 3.7 天。训练过程还特别稳,全程没有一次不可恢复的 loss spike(损失尖峰),没用过回滚。
这个数字当时有多夸张,对比一下就懂。同等规模的闭源模型训练成本以亿美金计,V3 用不到六百万美元办完了。省钱的秘诀在三个层面,算法、框架、硬件,协同设计。
二、架构:三个新东西
1. 无辅助损失的负载均衡
MoE 训练最怕路由崩溃,几个专家把活全抢了。传统解法是加 auxiliary loss(辅助损失),强迫专家负载均衡,但辅助损失本身就是对模型的干扰,加太大性能掉。
V3 的做法很巧,给每个专家加一个 bias(偏置)项,路由时看”亲和分 + bias”谁高,但真正参与计算的门控值还是原始亲和分。训练时每步统计整批的专家负载,超载的专家 bias 往下调 γ,欠载的往上调 γ,γ 是 bias 更新速度。前 14.3T token 用 γ=0.001,最后 500B 设成 0,让模型自由漂移。
消融实验显示,无辅助损失的方法在 3B MoE 模型上验证损失 2.080,比加序列级辅助损失的 2.085 更低,而且专家分化更彻底。作者还观察到无辅助损失的模型专家更”专”——每个专家处理的任务类型更聚焦。
当然不能完全放飞,还留了一个序列级的平衡损失,α 设得极小(0.0001),只防单条序列内极端失衡。
2. 多 token 预测(Multi-Token Prediction)
预训练目标从”预测下一个 token”扩展成”一次预测两个”。做法是在主模型后面挂 MTP 模块,每个模块预测一个额外 token,保持完整的因果链。跟 Gloeckle 那种并行预测不同,V3 是串行预测,深一层就把上一层的结果和下一个 token 的 embedding 拼起来再过一个 Transformer 块。
MTP 深度 D=1,损失权重 λ 前 10T 是 0.3,之后 0.1。训练时它给模型更密的梯度信号,推理时直接扔掉 MTP 模块,主模型照常工作。副产品是加速,第二个 token 的预测接受率在 85% 到 90% 之间,配合 speculative decoding(投机解码),解码速度提升 1.8 倍。
3. 其它细节
- 61 层 Transformer,隐层 7168,128 个头每头 128 维,KV 压缩维度 512,query 压缩维度 1536。
- 每层 1 个共享专家加 256 个路由专家,每专家中间维度 2048,每 token 激活 8 个路由专家。
- Node-limited routing(节点受限路由),每 token 最多发往 4 个节点,通信开销有上界。
- 因为负载均衡有效,全程不丢 token,训练推理都不丢。
- 训练数据里加了 Fill-in-Middle(FIM,填充中间)策略,用 PSM 格式,比例 0.1。
三、基础设施:FP8 与 DualPipe
这一章是纯工程,但含金量极高,因为省钱全靠它。
FP8 混合精度训练。这是第一次在超大规模模型上验证 FP8 训练的可行性。激活、权重、梯度计算都压到 FP8(激活以 FP8 缓存供反向传播使用),但主权重、梯度与优化器状态以更高精度存储,embedding、输出头、MoE 门控、归一化、注意力等算子保持原精度(BF16 或 FP32)。为了防止精度崩掉,做了细粒度的 tile-wise(分块)和 block-wise(分块组)量化,矩阵乘法累积到 FP32。论文还专门吐槽了 Hopper 架构的硬件缺陷,FP8 GEMM 累积精度只有 14 bit,他们用 CUDA core 手动累积 FP32 来补救,并给芯片厂商提了一串建议,FP8 累积精度提高、支持分块量化、在线量化融合等等。
DualPipe。16 路流水线并行(PP)、64 路专家并行(EP)跨 8 个节点、ZeRO-1 数据并行。DualPipe 的核心是让前向和后向的计算与通信充分重叠,把 cross-node all-to-all(跨节点全对全通信)的延迟藏进计算里。配合专门优化的通信 kernel,把 InfiniBand 和 NVLink 带宽榨干。内存上也抠得很细,不用张量并行(TP)也能训 671B,这是把激活重计算和显存管理做到了极致。
部署。prefilling 阶段用冗余专家策略,高负载专家复制一份,每 10 分钟根据线上统计调整。decoding 阶段把共享专家当路由专家看待,每个 GPU 只放一个专家。
四、预训练:14.8T token,稳如老狗
数据处理比 V2 优化了数学和代码的比例,多语言覆盖扩到中英之外。文档打包(document packing)保留数据完整性,但不做跨样本注意力掩码。
训练超参:AdamW,β1=0.9,β2=0.95,weight decay 0.1;最大学习率 2.2e-4,10T token 后按余弦衰减到 2.2e-5,最后 500B 分两段用常数学习率。batch size 从 3072 渐增到 15360。序列长度预训练期 4K,之后用 YaRN 分两阶段扩到 32K、128K,每阶段 1000 步。NIAH(大海捞针)测试 128K 全程绿。
Base 模型表现,直接对标当时最强开源底座。MMLU 87.1 对 LLaMA-3.1 405B 的 84.4,MATH 61.6 对 49.0,HumanEval 65.2 对 54.9,C-Eval 90.1。几乎全面压制 405B 稠密模型,而激活参数只有它的零头。作者原话,这是当时最强的开源 base 模型,尤其数学和代码。
五、后训练:把 R1 的推理能力蒸馏进来
这一节的历史意义很大,因为它是 R1 和 V3 之间承上启下的桥。
SFT 数据 150 万条。推理类数据(数学、代码竞赛、逻辑题)用内部的一个 DeepSeek-R1 模型生成,但 R1 输出有过度思考、格式差、太长的毛病,所以作者先训一个”专家模型”,用 SFT 加 RL 组合管线,把 R1 的模式吸收进来,再配合拒绝采样(rejection sampling),产出又准又简洁的数据。非推理数据(创意写作、角色扮演、简单问答)用 DeepSeek-V2.5 生成,人工标注校验。
RL 阶段。规则奖励模型管能验证的题(数学给最终答案格式、LeetCode 用编译器),模型奖励模型管开放题。奖励模型从 V3 的 SFT checkpoint 训练,偏好数据里连”给出奖励的推理链”都带上,降低 reward hacking(奖励作弊)风险。算法还是 GRPO,不要 critic。
开放域的对齐用了 constitutional AI(宪法式 AI)路线,让 V3 自己投票打分当反馈源,self-rewarding(自我奖励)。
R1 蒸馏的消融(基于 V2.5 做的对照)很能说明问题。LiveCodeBench 从 31.1 涨到 37.4,MATH-500 从 74.6 涨到 83.2,但平均回答长度从 718/769 涨到 783/1510。性能涨了,话也变多了,作者在准确率和生成长度之间做了取舍。
六、成绩:开源第一,闭源平起平坐
标准评测(chat 版):MMLU 88.5、MMLU-Pro 75.9、GPQA-Diamond 59.1、MATH-500 90.2、AIME 2024 39.2(16 次平均,温度 0.7)、Codeforces 百分位 51.6、SWE-Verified 42.0、DROP 91.6、LongBench v2 48.7。数学题上 AIME、MATH-500、CNMO 2024 三项都比第二名的 Qwen2.5 72B 高出约 10 个点,非 o1 类模型里登顶。
开放域对话:Arena-Hard 85.5,第一个超过 85 分的开源模型,追平 Claude-3.5-Sonnet;AlpacaEval 2.0 长度控制胜率 70.0,把 V2.5 甩开 20 个点。
当奖励模型用:RewardBench 87.0,跟 GPT-4o-0806、Claude-3.5-Sonnet-1022 相当,投票(maj@6)后到 89.6。所以 V3 自己就能给自己的开放域数据打分。
英文事实知识是短板,SimpleQA 24.9 落后 GPT-4o 的 38.2,因为训练资源向中文倾斜,C-SimpleQA 64.8 超过 Qwen2.5-72B 达 16.4 分(GPT-4o 为 59.3)。
收尾:我的一点看法
V3 这篇的价值不在某个单项突破,在于它把”开源模型也能这么便宜地练到顶级”变成了事实。这个示范效应比技术本身更炸裂,它直接改写了行业的成本叙事,后续所有开源大模型的预算表都得拿 V3 当参照系。
技术层面我最服的是无辅助损失那个设计。DeepSeek 的路线一直是”去掉多余的东西”,V2 砍 KV cache,Math 砍 critic,V3 连辅助损失都砍了,用一个小 bias 项解决负载均衡。每次都是先想清楚”哪个部件其实是负担”,再动手拆。
FP8 训练那章也值得细读,它把”算法、框架、硬件协同设计”写成了教科书。FP8 不是新东西,但第一次有人敢在 671B 上全流程用,还顺手给英伟达提了一串硬件建议。后来 Blackwell 的 FP8 精度提升,很难说没有这类工作的功劳。
后训练那节最有意思的伏笔是 R1 蒸馏。V3 已经是当时开源最强,作者还嫌不够,把 R1 的推理数据蒸馏进来,换来数学代码大涨。这条线后来直接演化成 V3.1 的推理模式开关、V3.2 的 Thinking 模式,再后来就是 R1 本体和 V3.2 的全面开花。读到这里再回头看,V3 不是终点,它是 R1 这条线绕回来反哺主模型的起点。
局限也实诚。部署单元太大,小团队自己跑 671B 是奢望;推理速度只有 V2 的 2 倍,还有提升空间。但这两个问题本质上都是”硬件没跟上”,等更好的卡出来自然缓解。
附:核心数据速查
基本盘
| 项目 | 数值 |
|---|---|
| 总参数 / 激活参数 | 671B / 37B |
| 架构 | MLA + DeepSeekMoE(1 共享 + 256 路由专家,激活 8 个) |
| 训练数据 | 14.8T tokens |
| 上下文 | 128K(YaRN 两阶段扩展) |
| 训练成本 | 2.788M H800 GPU 小时 ≈ 557.6 万美元($2/小时) |
| 每 1T token 成本 | 180K GPU 小时(2048 卡约 3.7 天) |
三个核心创新
| 创新 | 要点 |
|---|---|
| 无辅助损失负载均衡 | 每专家加 bias 动态调路由,性能优于辅助损失方案 |
| MTP 多 token 预测 | 深度 1,第二 token 接受率 85%-90%,投机解码加速 1.8 倍 |
| FP8 混合精度训练 | 首次超大规模验证,tile/block 级量化,主权重/优化器状态高精度存储 |
Chat 版关键成绩
- MMLU 88.5;MMLU-Pro 75.9;GPQA-Diamond 59.1;DROP 91.6
- MATH-500 90.2;AIME 2024 39.2;CNMO 2024 43.2;Codeforces 百分位 51.6
- SWE-Verified 42.0;HumanEval-Mul 82.6;LiveCodeBench(COT) 40.5
- Arena-Hard 85.5(首个开源破 85);AlpacaEval 2.0 70.0;RewardBench 87.0(maj@6 89.6)
R1 蒸馏消融(基于 V2.5)
| 指标 | 基线 | +R1 蒸馏 |
|---|---|---|
| LiveCodeBench-CoT | 31.1(718 tokens) | 37.4(783) |
| MATH-500 | 74.6(769) | 83.2(1510) |
关键概念清单
- MoE = Mixture of Experts,专家混合
- MLA = Multi-head Latent Attention,多头潜在注意力
- auxiliary-loss-free = 无辅助损失(bias 动态调路由)
- MTP = Multi-Token Prediction,多 token 预测
- speculative decoding = 投机解码
- FP8 mixed precision = FP8 混合精度训练
- DualPipe = 双向流水线并行(计算通信重叠)
- FIM = Fill-in-Middle,填充中间训练
- YaRN = 长上下文外推方法
- GRPO = Group Relative Policy Optimization,组相对策略优化
- constitutional AI = 宪法式 AI(用模型自身投票做对齐反馈)
- rejection sampling = 拒绝采样
- reward hacking = 奖励作弊
- NIAH = Needle In A Haystack,大海捞针测试
- Arena-Hard / AlpacaEval 2.0 = 开放域对话评测基准
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时





