Skip to content

3. 架构设计:训练与推理系统全景 ​

3.1 一张图看全局 ​

这张图里有四条值得单独展开的数据通路:训练数据通路(3FS 随机读)、权重同步通路(DeepEP all-to-all)、checkpoint 通路(并行写 3FS)、推理 KV 通路(3FS KVCache 卸载)。下面分层拆解。

3.2 集群层:2048 张 H800 的两级互联 ​

V3 训练集群的官方描述(技术报告 §3.1):

  • 2048 张 NVIDIA H800 GPU,每节点 8 卡,共 256 节点;
  • 节点内:NVLink + NVSwitch 全互联(H800 的 NVLink 为合规被削减版,每卡约 400 GB/s 量级);
  • 节点间:InfiniBand(IB,每卡 400 Gb/s ≈ 50 GB/s 量级)。

这就是著名的两级带宽模型:节点内带宽约为节点间的 8 倍。V3 的整个并行设计就是围绕这个 8 倍展开的——EP 组(64 卡)恰好等于 8 个节点,节点受限路由(每个 token 的 8 个专家最多分布在 4 个节点)把约 5/8 的通信量压在 NVLink 上。Mini Demo 的 场景 3 量化了这个账:dispatch 939.5 MB/GPU 中约 587 MB 走 NVLink、352 MB 走 IB。

对照其他案例的集群形态:

案例芯片节点内互联节点间互联拓扑哲学
DeepSeekH800(合规阉割版 H100)NVLink ~400 GB/s/卡IB 400 Gb/s两级模型,路由为带宽服务
Google(见 Google 案例)TPU v4/IronwoodICI 3D-torus + OCS 光路DC-GN/Jupiter可重配光拓扑,torus 降 AllReduce 延迟
Meta(见 Meta 案例)H100 整机柜NVLink/NVSwitchRoCE fat-tree通用 GPU + 标准以太网演进
OpenAI(见 OpenAI 案例)H100/GB200NVLink/NVSwitchInfiniBand万卡级 scale-up 域 + 通用网络

DeepSeek 的特殊性在于:别人的 scale-up 域(NVLink 域)被政策砍了一刀,于是用路由算法把逻辑拓扑重新缝合成"准 scale-up"——这是软件对硬件约束的结构化回应。

3.3 训练框架层:HAI-LLM 与"不用 TP"的并行拓扑 ​

V3 的训练框架是自研的 HAI-LLM(继承了 fire-Flyer 时代 HaiScale 的血统),官方定位是"efficient and lightweight"。并行配置(技术报告 §3.2):

  • 16 路流水线并行(PP16),配合 DualPipe 双向调度;
  • 64 路专家并行(EP64),跨 8 个节点; attention 与共享专家走数据并行;
  • ZeRO-1 数据并行(优化器状态分片);
  • 不用张量并行(TP)——这是整个架构最大胆的决策。

不用 TP 的账在 第 2 章 已经推演过:TP 的 allreduce 是每层的同步税,而 EP 的 all-to-all 可以被 DualPipe 藏进计算。前提是显存要装得下——这正是 MLA 的功劳:注意力 KV 不再是显存大户,MoE 参数被 EP64 切到每卡 4 个路由专家,于是 PP16 × EP64 的组合在没有 TP 的情况下装下了 671B 参数(每卡约 10B 参数 + 激活 + 优化器状态分片)。

(实际 PP16 × EP64 的完整映射为 16 个 PP stage × 8 节点 EP 组 × 32 路 DP;上图取局部示意。)

3.4 存储层:3FS 的分离式架构 ​

3FS(Fire-Flyer File System) 2025-02-28 随开源周第五天公开,设计目标是"榨干现代 SSD 与 RDMA 网络的带宽"。关键数字(3FS 仓库 README):

  • 峰值读吞吐 6.6 TiB/s:180 个存储节点(每节点 2×200 Gbps IB + 16×14 TiB NVMe SSD)、500+ 客户端压测得出,且背景中有训练流量在跑;
  • GraySort:25 存储节点 + 50 计算节点,110.5 TiB 数据 30 分 14 秒排完,平均 3.66 TiB/min(smallpond 框架);
  • KVCache 读:单客户端节点峰值 40+ GiB/s。

架构三原则(对应 存储系统 主题的经典权衡):

  1. 分离式架构(disaggregated):存储节点与计算节点独立扩展,应用"无需感知局部性"地访问任意存储节点,数千块 SSD 与数百台存储机的带宽被聚合成一个池;
  2. 强一致读:CRAQ(Chain Replication with Apportioned Queries) 链式复制——写沿链走保证强一致,读可由链上多节点分摊(apportioned),这是它能同时提供强一致与高读吞吐的关键;
  3. 无状态元数据 + 文件接口:元数据放在事务型 KV 存储(FoundationDB)上,对应用暴露标准 POSIX 文件语义——dataloader 直接随机读训练样本,不需要 prefetch/shuffle 缓存层。

对训练与推理的两类负载,3FS 各解一个痛点:训练侧是高吞吐并行 checkpoint 写与随机读 dataloading;推理侧是 KVCache 卸载——用 SSD 池替代 DRAM 缓存,容量大一个数量级、成本更低,配合 GC 回收无效块(README 附 GC IOPS 曲线)。

3.5 推理服务层:PD 分离与冗余专家 ​

V3/R1 的在线推理架构(技术报告 §3.4 + 开源周 Day-6 概览):

  • 预填充(Prefill)与解码(Decode)分离部署——两者资源画像完全不同(prefill 计算密集、decode 带宽/显存密集),分离后各自扩缩容(对照 vLLM 主题的 PD 分离讨论);
  • Prefill 最小部署单元 = 4 节点/32 GPU:每卡承载 8 个路由专家 外加 1 个冗余专家(9 个),冗余专家吸收路由不均导致的尾部延迟(没有它,最忙的专家决定整批延迟);
  • 计算通信重叠:prefill 阶段同时处理两个计算量相近的 micro-batch,把一个 batch 的 attention/MoE 与另一个的 all-to-all/TP 通信重叠——训练侧 DualPipe 的思想在推理侧的复用;
  • Decode 侧:EP 并行 + FP8 KV cache + FlashMLA 内核(MLA 的推理专用 kernel)。

官方披露的生产数字(开源周 Day-6,H800 节点口径):73.7K 输入 tokens/s + 14.8K 输出 tokens/s 每节点,理论成本利润率 545%。配套的错峰定价(见 第 8 章)把夜间闲置算力变成价格武器。

3.6 分层架构总表 ​

层组件关键数字对应章节
集群256 节点 × 8 H800,NVLink + IB2048 卡;NVLink≈8×IB§3.2
并行PP16 × EP64 × ZeRO-1 DP32,无 TP气泡 (PP/2-1)(F+B-3W)§3.3
数值FP8 E4M3 + 细粒度缩放 + FP32 提升累加训练损失误差 低于 0.25%(vs BF16)第 5 章
通信DeepEP(NVLink+RDMA,SM 可控)dispatch/combine 全重叠第 5 章
存储3FS + smallpond6.6 TiB/s;CRAQ 强一致§3.4
推理PD 分离 + 冗余专家 + FlashMLA73.7K/14.8K tokens/s/节点§3.5

下一章 训练与推理工作流程 将沿着"一个 token 的一生"走完训练与推理的完整链路。

Released under CC-BY-SA-4.0 License.