Deploying DeepSeek on GB200 NVL72 with PD and Large Scale EP (Part I): 2.7x Higher Decoding Throughput

发表时间: 2025-06 · Blog post by The SGLang Team (lmsys.org)

原文: https://lmsys.org/blog/2025-06-16-gb200-part-1

作者/机构:The SGLang Team
发布日期:June 16, 2025

速读

一句话结论
基于 GB200 NVL72 硬件,通过引入预填充-解码分离(PD)与大规模专家并行(EP),SGLang 框架在部署 DeepSeek 671B 模型时实现了单 GPU 每秒 7583 tokens 的解码吞吐量,相比 H100 提升了 2.7 倍。

要解决什么问题
原有万亿参数混合专家模型(MoE)在集群部署时面临四个核心卡点。首先是跨节点通信延迟瓶颈,传统 H100 集群高度依赖 RDMA 进行跨节点通信,为了掩盖高昂的通信延迟,系统通常被迫采用双批次重叠(two-batch overlap)策略,但当通信时间长于计算时间时,这种重叠反而会导致严重的计算资源闲置与浪费。其次是显存容量限制,较小的显存无法维持庞大的 KV cache,直接锁死了系统能够支持的最大批处理大小(Batch Size),导致底层算子(Kernel)的执行效率无法提升。第三是 MoE 架构特有的显存访问压力,路由专家在处理海量 token 时极易引发显存带宽瓶颈。最后是阶段耦合导致的资源错配,传统的纯张量并行(如 TP16)将预填充(Prefill)和解码(Decode)阶段绑定在同一硬件资源上执行,由于两者的计算与访存特征截然不同,强耦合会大幅拉低整体的硬件利用率。

怎么做的
核心思路是利用 GB200 NVL72 的全局 NVLink 互联特性与更大的显存及算力,结合预填充-解码分离(PD)与大规模专家并行(EP)架构,对底层算子进行全面重写。系统由五个关键部件构成:第一是 Blackwell DeepGEMM,这是一个专为 FP8 精度定制的矩阵乘法库,在新的 API 中引入了输入缩放的量化与数据打包机制,并调用全新的 UMMA 硬件特性加速计算;第二是 Blackwell DeepEP,专门用于 MoE 架构中路由专家的 token 重排(Shuffling)通信库,其核心机制是摒弃 RDMA,通过将远程 GPU 显存直接映射到本地虚拟地址空间来支持纯 NVLink 环境(通信延迟从跨节点网络栈开销降级为纯总线传输 $T_{comm} = \frac{S_{token}}{B_{NVLink}}$),在带来 15% 额外性能提升的同时,允许系统直接禁用双批次重叠策略;第三是 FlashInfer Blackwell FMHA,重写了用于预填充阶段的融合多头注意力算子;第四是 Blackwell CUTLASS MLA,针对多头潜在注意力(MLA)优化的算子,除了调用 UMMA 外,还为张量内存加速器(TMA)启用了 2-SM 集群模式,其核心作用是显著降低读取 KV cache 时的 L2 缓存读流量;第五是 Blackwell Mooncake,作为 PD 架构下的 KV cache 传输引擎,采用与 DeepEP 类似的纯 NVLink 技术实现跨节点的高效传输。通过 PD 架构,系统实现了两阶段的物理资源解耦,而大规模 EP 则通过将专家分布在更广的 NVLink 域中,有效摊薄了单节点的显存访问压力。

效果如何
实验在 GB200 NVL72 硬件上部署 DeepSeek 671B 模型,共调用 14 个节点。为了模拟真实世界中 18 节点(6 预填充配 12 解码)的配比,实验分配了 12 个节点用于解码,剩余 2 个用于预填充,并使用了降速 API(slow-down API)来确保解码节点处于满载饱和状态。对比基线包含两个明确的路线:一是部署在 H100 集群上的同等规模方案(该基线代表了上一代硬件的极限,且开启了模拟的多 token 预测 MTP 机制),二是传统的纯张量并行(Vanilla TP16)路线。在输入长度为 2000 tokens、输出 100 tokens 的端到端测试中,新方案在满足与 H100 相似的 token 间延迟(ITL)要求下,实现了单 GPU 每秒 7583 tokens 的解码吞吐量,相比 H100 基线在不同序列长度下均取得了 2.5 到 3.4 倍的性能加速。消融实验证明,更大的显存允许系统拉高批处理大小,进而直接提升了吞吐量,且在同等批处理大小下 GB200 的绝对速度依然领先。作者也明确指出了当前方案的局限性与代价:系统尚未对小批处理量或单节点运行(如 B200 或 RTX 5090 硬件环境)进行优化,在不开启大规模 EP 时性能会严重下降;此外,当前的优化全部集中在解码阶段的吞吐量上,预填充阶段的性能、极致的延迟优化、底层算子的算力饱和度,以及针对纯 NVLink 环境的通信计算重叠机制,均处于未完成状态。对于极小批处理量场景,未来仍需依赖真实的多 token 预测(MTP)机制来补足性能。

主要贡献

GB200 NVL72 是目前全球最先进的人工智能训练与推理硬件。本文档分享了在 GB200 NVL72 上运行 DeepSeek 671B 模型的早期测试结果,该部署结合了预填充-解码分离(Prefill-Decode Disaggregation, PD)以及大规模专家并行(Large-Scale Expert Parallelism, EP)技术。

通过利用 Blackwell 架构的特有功能来增强现有的系统组件,SGLang 在 GB200 NVL72 上实现了每块 GPU 7,583 tokens/秒的解码吞吐量——在 2,000 token 的输入长度下,相比于 H100 单卡实现了 2.7 倍的加速。随着优化的持续进行,预计系统性能还将进一步提升。

方法实现细节

初步工作与组件集成。作为部署的初步准备工作,研究团队将以下五个核心组件深度集成到了 SGLang 框架中,以全面适配并利用新硬件的特性:

  • Blackwell DeepGEMM 优化。集成了一个专为 FP8 精度量身定制的高性能通用矩阵乘法(GEMM)库。该库经过彻底重写,以完全发挥 Blackwell 架构的硬件潜力。在其新 API 中,针对输入尺度(input scales)引入了量化(Quantization)和打包(Packing)操作。此外,该组件还调用了 Blackwell 架构新引入的 UMMA 特性,从而实现了极速的矩阵乘法运算。
  • Blackwell DeepEP 通信库升级。集成了一个专门设计的通信库,用于在混合专家模型(Mixture of Experts, MoE)中为路由专家(routed experts)进行 Token 的洗牌(shuffle)操作。该组件通过将远程 GPU 的内存直接映射到本地虚拟地址空间中,成功支持了全新的纯 NVLink(NVLink-only)互联环境。在此基础上,团队还对 DeepEP 的性能进行了微调,使其性能略微提升了 15%。
  • FlashInfer Blackwell FMHA 重写。集成了一个针对 DeepSeek 预填充(Prefill)阶段的高性能融合多头注意力(Fused Multi-Head Attention, FMHA)内核。该内核已被完全重写,以提供对 Blackwell 架构的原生支持。
  • Blackwell CUTLASS MLA 优化。集成了一个专为 Blackwell 架构优化过的多头潜在注意力(Multi-Head Latent Attention, MLA)内核。该内核不仅利用了新的 UMMA 特性,还为张量内存加速器(Tensor Memory Accelerator, TMA)启用了 2-SM 集群模式(2-SM cluster mode),这一设计有效减少了键值缓存(KV cache)在 L2 缓存上的读取流量。
  • Blackwell Mooncake 传输引擎部署。集成了一个专门用于预填充-解码分离(PD disaggregation)架构中的键值缓存(KV cache)传输引擎。该引擎采用了与 DeepEP 类似的技术路径,以全面支持 NVLink 环境下的高效数据传输。

实验环境

  • 目标模型:DeepSeek 671B。
  • 硬件配置:

    • 测试平台:GB200 NVL72(实验中实际提供了 14 个计算节点)。
    • 基线对比平台:H100 集群。
  • 节点分配策略:在总共 14 个可用节点中,分配了 12 个节点专门用于解码(Decode),剩余 2 个节点用于预填充(Prefill)。这种分配比例粗略地模拟了真实世界中的使用场景(即在拥有 18 个节点时,用户通常会使用 6 个节点进行预填充,12 个节点进行解码)。

  • 软件与测试配置:为了保证实验的一致性,本次实验设置完全镜像了团队之前关于大规模 EP 部署的博客内容,并且直接复用了其中的基线数据。实验中使用了之前博客中提到的“降速 API(slow-down API)”以确保解码节点能够达到饱和状态。

实验结果与分析

端到端性能评估

为了评估 DeepSeek 在 GB200 NVL72 上的解码性能,团队进行了端到端的实验,并与 H100 进行了对比。需要注意的是,图表中的黄色基线柱状图表示之前测试中模拟的多 Token 预测(Multi-Token Prediction, MTP),而其他柱状图(即本次 GB200 的测试)并未启用 MTP。因此,如果使用完全相同的设置(即均不启用或均启用 MTP),GB200 实际的加速比将比图表中展示的更高。

图1:GB200 NVL72 与 H100 的端到端性能对比
图1:GB200 NVL72 与 H100 的端到端性能对比

实验结果表明,在各种不同的序列长度下,GB200 NVL72 相比于 H100 实现了 2.5 倍至 3.4 倍的性能加速。这一显著的性能提升主要归功于以下四个关键因素:

  • 更高的内存带宽与计算能力:与 H100 相比,GB200 NVL72 提供了更高的内存带宽和计算 FLOPS,这直接加速了底层内核(kernel)的执行速度。
  • 更大的内存容量支持更大的批处理大小(Batch Sizes):增加的内存容量允许系统维持更大的 KV cache,从而支持更大的批处理大小,这直接提升了内核的计算效率。结合上述的内核执行加速,系统在处理更大批次的同时,依然能够满足与 H100 相似的词间延迟(Inter-Token Latency, ITL)要求。
  • 更大的 NVLink 域(NVLink Domain):H100 集群在跨节点通信时严重依赖 RDMA,而 GB200 NVL72 采用的纯 NVLink 解决方案显著降低了通信延迟。这种极低的延迟使得系统可以禁用“两批次重叠(two-batch overlap)”机制,这不仅带来了内核性能的加速,还避免了当重叠通信时间长于计算时间时造成的资源浪费。
  • PD(预填充-解码分离)与大规模 EP(专家并行)的结合:与原生的 TP16(16路张量并行)基线相比,PD 分离架构实现了预填充和解码阶段的灵活解耦,极大优化了资源利用率。同时,大规模 EP 通过降低内存访问压力,显著增强了 MoE(混合专家)模型的性能。

消融实验:批处理大小(Batch Size)的影响

为了更深入地理解批处理大小对系统性能的影响,团队进行了一组消融实验,测试了一系列的批处理大小(注:当前系统尚未针对小批处理大小进行专门优化)。实验中,输入长度设定为 2000,输出长度设定为 100。

图2:不同批处理大小下的吞吐量消融实验
图2:不同批处理大小下的吞吐量消融实验

实验结果表明,更大的批处理大小能够显著提升系统的吞吐量。同时,在相同的批处理大小下,GB200 NVL72 硬件展现出了比 H100 更快的处理性能。

结论与未来工作展望

当前的初步测试结果已经展示了 GB200 NVL72 带来 2.5 倍至 3.4 倍的显著加速,但系统仍存在巨大的进一步优化潜力。未来的工作将集中在以下几个方向:

  • 其他硬件与并行配置的支持:目前尚未对不使用大规模 EP 的执行场景进行优化(例如在 B200 或 RTX 5090 等硬件上常见的单节点小批处理大小场景),因此在这些场景下的性能预期仍处于次优状态,亟待改进。
  • 预填充(Prefill)性能增强:虽然当前阶段的重点一直放在解码性能上,但下一阶段的核心任务将是优先优化预填充阶段的性能。
  • 面向延迟的优化(Latency-oriented Optimizations):本文档的重点在于提升系统吞吐量,但在未来的工作中,将延迟降至最低也是一个重要的研究方向。
  • 内核深度优化(Kernel Optimizations):目前系统中的许多内核尚未完全使 GB200 的内存带宽或计算能力达到饱和,仍有优化空间。
  • 通信重叠(Communication Overlap):鉴于 GB200 NVL72 在通信硬件上的架构变化,未来可以使用与 H100 类似或全新的技术来实现通信与计算的重叠,从而进一步降低延迟并提高吞吐量。
  • 多 Token 预测(Multi-Token Prediction, MTP):在一次前向传播中预测多个 Token 具有显著的收益,特别是当批处理大小太小,导致内核无法发挥全部性能时,MTP 技术将极为关键。

致谢说明

研究团队对以下团队和合作者表达了感谢:

  • SGLang 核心团队与社区贡献者:感谢 Jingyi Chen, Baizhou Zhang, Jiexin Liang 等人在项目中的贡献。
  • Mooncake 团队:感谢 Shangming Cai, Feng Ren 等同事在 SGLang 中实现 PD 分离架构的合作。
  • NVIDIA 团队:感谢来自硬件、DevTech、FlashInfer、DGX Cloud、企业产品以及 Dynamo 团队的成员,感谢他们对 Blackwell DeepGEMM 和 DeepEP、Blackwell FMHA 内核优化、GB200 NVL72 运行支持以及其他 Blackwell 内核优化的巨大贡献。

注:本文档中提及的引用链接与技术细节包括:针对 H100 单卡对比的https://lmsys.org/blog/2025-05-05-large-scale-ep/、代码https://github.com/sgl-project/sglang/issues/7227、以及 CUTLASS 库中针对 TMA 的 https://github.com/NVIDIA/cutlass/blob/main/examples/77_blackwell_fmha/kernel/sm100_fmha_mla_tma_warpspecialized.hpp#L119。