一个 671B 总参数、37B 激活参数的开源 MoE 模型, 用 557 万美元训出来,性能对标 GPT-4o 与 Claude 3.5 Sonnet。 本报告从架构、训练、推理、性能四个维度,把它讲清楚。
一句话:DeepSeek-V3 是一个"看起来很大、用起来很小"的语言模型。它把开源大模型与闭源顶级模型之间的差距, 第一次从"望尘莫及"压缩到了"擦肩而过"。
DeepSeek-V3 总参数量高达 671 B(6710 亿),听起来非常吓人——比 Llama 3.1 的 405B 还大不少。 但它用的是 MoE(Mixture of Experts,混合专家)架构:每次推理只激活 37B 参数, 其余部分"在岗待命",并不参与计算。
想象一家拥有 256 位专科医生 + 1 位全科医生的"超级医院"。 你来挂号,分诊台只会从中挑出最对症的 8 位医生 + 那 1 位全科医生组成会诊小组。 其他 248 位医生不上班、不收费、不占算力——但他们必须存在,因为下一个病人可能会用到。
671B 是医院总人数,37B 是每次会诊的医生总参数。 这就是 MoE 的精髓:用"稀疏激活"换"密集知识"。
| 项目 | 数值 | 说明 |
|---|---|---|
| 架构类型 | Decoder-only Transformer + MoE | 61 层 |
| 隐藏维度 | 7168 | 每层主干宽度 |
| 总参数 | 671 B | 包含所有专家 |
| 激活参数 | 37 B | 每个 token 实际计算量 |
| 路由专家 | 256 个 | 每个 MoE 层 |
| 共享专家 | 1 个 | 每个 MoE 层,所有 token 必经 |
| 每 Token 激活专家 | 8 + 1 | top-8 路由 + 1 共享 |
| 注意力机制 | MLA | 多头潜在注意力 |
| 上下文窗口 | 128 K | 分两阶段扩展 |
| 训练数据 | 14.8 T tokens | 多语种、高质量 |
| 训练精度 | FP8 混合精度 | 业界首个超大规模 FP8 训练 |
| 许可证 | 开源(含权重) | 商用友好 |
在 DeepSeek-V3 出现之前,"训练一个对标 GPT-4 的模型"几乎等同于"得有数十亿美元、上万张 H100、几个月的国家级资源"。 DeepSeek 用 2048 张 H800(H100 的中国特供阉割版,互联带宽只有一半)、 不到 2 个月、约 557 万美元就把这件事做完了。
不是堆算力,而是从算法、并行框架、硬件三层联合优化, 把"训一个超大 MoE"这件事的工程成本砍下了一个数量级。 这也是为什么它发布后,整个行业(包括 Meta、OpenAI 内部)都被震动到了。
DeepSeek-V3 不是一拍脑袋的发明,而是 四个独立创新的精确组合: MLA 解决推理显存问题,DeepSeekMoE 解决稀疏激活问题, 无辅助损失负载均衡解决 MoE 崩溃问题,MTP 解决训练信号稀疏问题。
传统 Transformer 在做推理(生成)时,每生成一个 token 都要保存所有历史 token 的 Key 和 Value 向量,这就是大名鼎鼎的 KV Cache。 上下文越长,KV Cache 就越大——10 万 token 的对话能轻松吃掉几十 GB 显存,比模型本身还重。
MLA(Multi-head Latent Attention,多头潜在注意力)的解法很巧妙:
它不直接存 K 和 V,而是先把它们联合压缩成一个低维的"潜在向量"c_KV,存这个就够了。
用的时候再投影回原来的高维空间。
传统 KV Cache 像是把每张照片都用 4K 原图存下来,磁盘很快爆掉。 MLA 是先把每张照片压成缩略图存档,要看的时候临时放大——质量上几乎无损,但占的空间小一个数量级。
这个机制的实际收益非常具体:在同样的 GPU 上,DeepSeek-V3 能撑起 128K 的超长上下文, 服务更多并发用户,单 token 推理成本被大幅压低。这也是它能把 API 价格定到"白菜价"的硬件根基。
传统 MoE(如 Mixtral)通常是"少而粗"的设计——8 个专家,每个都很大,每次激活 2 个。 DeepSeekMoE 反其道而行之:把每个专家切得更小、数量更多,叫做"细粒度专家", 再单独留一个"共享专家"来处理所有 token 都用得上的通用知识。
MoE 有个臭名昭著的问题叫路由崩溃:训着训着,所有 token 都涌向少数几个"明星专家", 其他专家闲着没活干,模型容量被严重浪费。
传统办法是加一个"辅助损失(auxiliary loss)",强行惩罚不均衡。 但这是一种"硬约束"——模型为了让损失变小,会做出违背语义的选择,反而拖累性能。
给模型加一个"罚款": 你不均衡就扣分。
结果模型为了不被扣分,宁可把不该选的专家也选上。
性能受损,路由质量下降。
给每个专家配一个偏置项 bi:路由打分时悄悄加上去。
专家忙不过来 → bi 自动调小(劝退新 token);闲着 → bi 调大(招揽新 token)。
不进入梯度,不影响主损失,性能与负载兼得。
传统辅助损失就像餐厅老板规定"每个厨师每天必须做相同数量的菜"——结果厨师为了凑数,把不擅长的菜也接了。 DeepSeek-V3 的做法是动态调价:哪个厨师档口排队太长,就悄悄给那个档口加一点点"等候时间", 新顾客自然分流。厨师不知道这个机制,只管做自己最拿手的菜。
传统语言模型的训练目标是"预测下一个 token",即 p(x_{t+1} | x_{≤t})。
DeepSeek-V3 引入了 MTP(Multi-Token Prediction)——在主输出头之外,
额外加上一个 MTP 模块,同时预测下下个 token。
这个设计有两个意外之喜:
DeepSeek-V3 的四大架构创新——MLA、DeepSeekMoE、无辅助损失负载均衡、MTP—— 不是为了发论文堆 trick,而是每一个都瞄准了"训练或推理的成本瓶颈"。 MLA 砍推理显存,MoE 砍激活量,无辅助损失保护质量,MTP 一举两得(训练加速+推理加速)。 这种"为成本而设计"的思路,是它能突破工程极限的根本原因。
架构再聪明,训不出来也是空中楼阁。DeepSeek-V3 的另一半故事是 用 2048 张被阉割互联带宽的 H800,把万亿参数 MoE 训稳了—— 靠的是 FP8 精度、自研并行框架、和对硬件的极致榨取。
| 阶段 | GPU 小时(H800) | 预估成本($2/h) | 说明 |
|---|---|---|---|
| 预训练(14.8T tokens) | 2,664 K | $5.328 M | 主体训练,每 1T tokens 用 180K GPU·h |
| 上下文扩展(4K → 32K → 128K) | 119 K | $0.238 M | YaRN 类技术,分两段扩展 |
| 后训练(SFT + RL) | 5 K | $0.010 M | 极少量数据,效率惊人 |
| 合计 | 2,788 K | $5.576 M | 不含前期研究 / 失败实验成本 |
这个数字到底有多惊人?作为对比,Llama 3.1 405B(密集模型)用了约 30.84M H100 GPU 小时, 粗略折算 11 倍于 DeepSeek-V3。即便考虑到 H800 的带宽劣势(约为 H100 的 44%)、MoE 的额外通信开销, DeepSeek 仍然展示了"算法 + 框架 + 硬件协同设计"能换来的真实数量级红利。
557 万美元只是"最后一次成功训练"的算力账。 不包括前期数月的算法探索、消融实验、数据清洗、人员工资、基础设施建设。 所以"557 万美元做出 GPT-4 级模型"是不准确的——更准确的说法是"557 万美元的 final run 成本"。
业内训练大模型的"标配"是 BF16(16 位浮点),更激进的会用 FP16。
DeepSeek-V3 第一次把 FP8(8 位浮点)用到了 671B 这个量级的真实训练中,
且没有出现不可恢复的损失尖峰。
FP8 不是"无脑用就行",DeepSeek 的工程团队做了大量精细工作: 分块量化(1×128 行 / 128×128 块)、关键累加保留 FP32、敏感算子(LayerNorm、Softmax 等)维持高精度。 这套"精打细算到每个算子"的策略,才让 FP8 既快又稳。
训 671B 模型必然要用到各种"并行"。DeepSeek-V3 的并行配方相当独特:
DualPipe 算法,把前向和反向的通信与计算高度重叠,几乎消除了流水线"气泡"。all-to-all 也做了节点感知优化。预训练数据:14.8T tokens,对比 V2 提升了数学和代码占比,并大幅扩充了多语种语料(特别是中文)。 数据质量过滤、去重、毒性筛选是标配。
上下文扩展:从 4K 起步,分两段扩到 32K、再扩到 128K,使用类 YaRN 的位置编码插值方法。
后训练(SFT + RL):这部分别有亮点——DeepSeek 创造性地用了 从 R1 蒸馏推理能力的方法。把 R1 系列模型的"长链式思维"模式(验证、反思、回溯) 迁移到 V3,但又控制了输出风格和长度,避免变成话痨。
强化学习阶段使用了规则奖励 + 模型奖励的混合策略: 数学/代码这类有标准答案的任务用规则奖励(执行测试用例、对答案), 开放生成则用奖励模型评分。
整个 14.8T tokens 的预训练过程没有出现一次不可恢复的 loss 尖峰, 也没有任何回滚——这在万亿参数级 MoE 上几乎是奇迹。 它的工程意义甚至超过了精度数字本身:意味着这套训练方案是可复现、可扩展的。
一个模型再聪明,跑起来贵也没人用。DeepSeek-V3 的推理设计同样是"为成本服务"—— MLA 砍显存,MTP 投机解码砍延迟,预填充/解码分离砍硬件。
LLM 推理有两个截然不同的阶段:
DeepSeek-V3 在线上部署时把这两个阶段放到不同的 GPU 池里跑, 各自做针对性优化(不同的并行配置、不同的批次策略), 避免一个慢拖累另一个,整体吞吐能再榨出 30%~50%。
前面说过 MTP 模块除了训练加速,推理时还能当"草稿生成器"。具体流程是:
就像两个人合作翻译:第一个人翻译当前句,第二个人提前猜下一句。 如果猜对了,进度直接加倍;猜错了也只是浪费一点点时间,不会比一个人翻译更慢。 所以"免费试错",期望收益恒为正。
| 项目 | DeepSeek-V3 | 密集 70B 对照 | 说明 |
|---|---|---|---|
| 模型权重(FP8) | ≈ 700 GB | ≈ 70 GB | V3 所有专家都要常驻显存 |
| 每 Token KV Cache | 极小(MLA) | 较大 | MLA 大幅压缩 |
| 128K 上下文 KV | 数百 MB / 用户 | 数十 GB / 用户 | 差距非常显著 |
| 每 Token 计算 | 37 B FLOPs | 70 B FLOPs | MoE 稀疏激活的好处 |
一个直观结论:V3 适合"多卡多用户"场景。 模型权重的固定成本高(必须放进去),但每个并发用户的边际成本极低(KV 小、激活少)。 所以服务化部署时,规模越大、用户越多,单 token 成本越低。 这正是 DeepSeek 能把 API 价格定到惊人程度的根本原因。
数字是骗不了人的。DeepSeek-V3 在多项主流基准上全面超越所有开源模型, 与 GPT-4o、Claude 3.5 Sonnet 互有胜负。下面是几组关键对比。
所有数字均为 DeepSeek-V3 技术报告中公开的初始版本(2024 年 12 月)成绩。
后续 V3-0324、V3.1、V3.2 还有大幅提升,本节末尾会简要提及。
在 2024 年 12 月发布时,DeepSeek-V3 是第一个在多数客观基准上能与 GPT-4o / Claude 3.5 Sonnet 平起平坐的开源模型。 考虑到它的训练成本只有 Llama 3.1 405B 的 1/10、API 价格只有 GPT-4o 的几十分之一, 性价比是降维打击。
V3 不是终点,而是 DeepSeek 一系列模型的"地基"。 R1 复用了 V3 的预训练权重做推理强化,V3.1/V3.2 则在 V3 基础上不断打磨。
| 版本 | 发布 | 主要变化 | 代表分数 |
|---|---|---|---|
| V3 (initial) | 2024-12 | 原版发布 | MMLU-Pro 75.9 / GPQA 59.1 |
| V3-0324 | 2025-03 | 从 R1 蒸馏推理能力,前端代码能力提升 | MMLU-Pro 81.2 / GPQA 68.4 / AIME 59.4 |
| V3.1 | 2025 | thinking / non-thinking 模式合并;agent 能力增强 | R1 风格推理速度大幅提升 |
| V3.2 | 2025-12 | 引入 DSA(DeepSeek 稀疏注意力);agent / 数学双突破 | 对标 Gemini 3 Pro / Kimi K2 / GPT-5 |
| R1 | 2025-01 | 基于 V3 预训练 + 大规模 RL,专做长链推理 | 第一个完全开源的"思考型"模型 |
DeepSeek-V3 在工程意义和行业意义上的影响,可能比技术指标本身还要深远:
DeepSeek-V3 是一次"用算法的精度,对冲算力的稀缺"的胜利。 它告诉所有人:在 LLM 这条路上,"更聪明"和"更多卡"还是有的一拼的。 这种精神,比任何 benchmark 数字都更有价值。