引言

在过去的几个月里,我们一直与 NVIDIA 紧密合作,旨在通过 vLLM 充分释放其最新的 NVIDIA Blackwell GPU 架构(B200/GB200)在大语言模型推理方面的全部潜力。Blackwell GPU 引入了全新级别的性能和效率提升,例如增加的内存带宽和原生 FP4 Tensor Core,为加速推理工作负载提供了令人兴奋的机遇。

Blackwell 开箱即具有出色的性能,但为了从硬件中榨取更多潜力,我们的联合优化重构了现有的内核,并开发了专为底层硬件利用率量身定制的新内核,从而释放了额外的性能并提高了效率。新的 SemiAnalysis InferenceMAX 基准测试反映了这些增强功能,展示了 vLLM 在 Blackwell 上的卓越性能。在运行 gpt-oss 120B 和 Llama 3.3 70B 等流行模型时,与上一代 Hopper GPU 相比,在相似延迟下其吞吐量最高提升了 4 倍

这项工作是一项历时数月的工程协作,涉及 vLLM 代码库中的一百多个拉取请求(Pull Request)。我们与 NVIDIA 一起优化了推理流水线的几乎每个部分——从自定义内核(Attention、GEMM、MoE)到高层调度和开销消除。本博客将详细解析这些优化,以及它们如何利用 Blackwell 的架构特性转化为生产环境中的性能提升。

InferenceMax 概览

SemiAnalysis InferenceMax 是一个基准测试框架,旨在对 LLM 服务性能进行自动化的定期测试,结果每日更新以反映软件性能的变化。这种方法缩小了软件更新与发布的基准测试数据之间的差距,使用一致的测试方法确保公平、可复现的比较。

InferenceMAX 目前使用两个具有代表性的开源模型评估 vLLM:

  • 混合专家模型 (MoE):gpt-oss 120B
  • 稠密模型 (Dense):Llama 3.3 70B

为了模拟现实世界的使用情况,基准测试在各种提示/响应长度方案下运行每个模型(ISL = 输入序列长度,OSL = 输出序列长度)。具体而言,测试涵盖三个范畴:

  • 1K ISL / 1K OSL(聊天,中等输入/输出)
  • 1K ISL / 8K OSL(推理,长输出)
  • 8K ISL / 1K OSL(摘要,长输入)

在帕累托前沿提供卓越性能

Blackwell 的新计算架构带来了推理效率的跨越式变化,融合了最新的 HBM3e 内存(每颗 B200 拥有 192 GB、带宽达 8 TB/s 的 HBM3e)、高速 NVLink 数据传输速度(每颗 GPU 1.8 TB/s)以及通过第五代 Tensor Core 对 FP4 精度格式的原生支持。

通过调整我们的内核以充分利用这些进步,与在之前的 Hopper 架构上运行 vLLM 相比,我们看到了吞吐量(单 GPU 性能)和响应速度(单请求延迟)的巨大提升。

现代推理工作负载在序列长度、批量大小和并发度方面差异巨大。产生最高吞吐量的配置通常不是给予用户最低延迟的配置。因此,单点指标可能会产生误导。SemiAnalysis InferenceMAX 采用帕累托前沿(Pareto frontier)方法论来评估响应速度与吞吐量之间的权衡,描绘出 Blackwell 在现实运行条件下的性能包络面。

我们与 NVIDIA 合作的主要目标是确保 vLLM 能够利用 Blackwell 的特性,在整个帕累托前沿提供卓越的性能。

我们很高兴地看到,SemiAnalysis 的基准测试结果显示,在 gpt-oss 120B 和 Llama 3.3 70B 模型的所有交互级别上,Blackwell 的 vLLM 性能相比上一代 Hopper 架构均有持续提升。


图 1:SemiAnalysis InferenceMax gpt-oss-120b 帕累托前沿,比较了 vLLM 在 Blackwell 和 Hopper 上针对 1k/1k ISL/OSL 在广泛交互范围内的性能。结果显示,在 Blackwell 上使用 vLLM 的吞吐量比 Hopper 高出 4.3 倍。


图 2:SemiAnalysis InferenceMax Llama 3.3 70B 帕累托前沿,比较了 vLLM 在 Blackwell 和 Hopper 上针对 1k/8k ISL/OSL 在广泛交互范围内的性能。结果显示,在 Blackwell 上使用 vLLM 的吞吐量比 Hopper 高出 3.7 倍。

这些性能增益在今天即可复现,只需使用 SemiAnalysis 提供的 InferenceMAX 配置。这证明了优化后的软件在专注于从硬件中提取最大潜力时所能达到的成就。达到这些数字需要 vLLM 进行广泛的优化,这些优化是与 NVIDIA 工程师深度协作开发的。接下来我们将概述其中最重要的优化。

vLLM Blackwell 优化项

在 Blackwell 上实现上述性能涉及软件栈各个层级的工作。一些优化提高了 GPU 上原始内核的执行速度,而另一些优化则减少了 CPU 开销或更好地利用了硬件特性。我们在下面列出了 vLLM 到目前为止为支持 Blackwell 引入的关键增强功能:

性能提升

  • 通过 FlashInfer 实现更快的内核: 我们集成了 NVIDIA 的 FlashInfer 库,以整合许多高性能内核,包括用于 GQA 和 MLA 的 FP8 注意力机制、快速 FP8 和 FP4 GEMM、MoE 内核以及融合操作。例如,我们能够将 AllReduce、RMSNorm 和量化组合在单个内核启动中,显著改善了延迟。利用了 NVIDIA 软件栈中广泛的内核,包括 CUTLASS、CuTeDSL、cuBLAS、cuDNN 和 TRTLLM。
  • 更智能的图融合(Graph Fusions): 扩展了 vLLM 的 torch.compile 图融合,现在包括 Attention + Output Quant 以及 AllReduce + RMSNorm + Quant 等算子模式,无需手动修改模型即可提供融合内核性能,最重要的是,这在各种模型架构中都具有普适性。
  • 通过异步调度减少主机开销: --async-scheduling 现在可以实现模型执行与主机开销的完全重叠,消除了之前由同步引起的 GPU 空闲时间。这使工作负载实现了完全流水线化,因此当一个批次的推理在 GPU 上运行时,下一个批次的数据正在并行准备中。

易用性改进

  • 自动量化和后端选择: vLLM 会自动检测模型是否使用了量化,以选择正确的后端,并为您的 GPU 选择最佳的注意力机制后端。例如,在 Blackwell 上,vLLM 会在可用时选择基于 FlashInfer 的注意力机制(集成了 NVIDIA 的 TensorRT-LLM 内核),或根据需要回退到 FlashAttention——无需手动设置标志或调整环境。
  • FlashInfer GEMM 和 MoE 的自动调优: 由于理想的内核实现极大地取决于批次大小和序列长度,我们在 vLLM 的 GPU 运行器中添加了自动调优机制。在启动期间,FlashInfer 将通过基准测试和选择内核来进行自动策略选择,确保即使在推理过程中 ISL/OSL 发生变化,也能保持峰值性能。
  • 快速启动食谱(Quick Start Recipes)助力轻松部署: 除了代码更改,我们还与社区合作编写了针对常见场景的快速启动配置指南。针对给定硬件上的每个模型提供清晰的说明,引导用户使用推荐设置启动服务器、调整参数、验证准确性并测试性能——从而简化设置并缩短获得结果的时间。

持续进行的工作

上述每项优化本身都是一个重大项目,需要紧密的工程协作——而我们甚至还没有涵盖所有的优化!我们与 NVIDIA 的合作仍在继续,未来还有大量的改进即将到来。

展望未来,我们正致力于通过投机采样(speculative decoding)和数据+专家并行(DEP)配置,在 DeepSeek、Qwen、gpt-oss 等模型的集群级推理中实现显著的吞吐量提升。通过 NVIDIA 的 gpt-oss-120b-Eagle3-v2(集成了 Eagle 投机采样),我们预计吞吐量将提高约 2-3 倍。利用 DEP 模式,结合 Blackwell 中 1,800 GB/s 的低延迟 NVLINK GPU 互联,我们有望释放比 InferenceMax 基准测试中所展示的更高的性能和并发度,为更快、更高效的推理铺平道路。

在 vLLM 和 NVIDIA 持续的优化和协作推动下,Blackwell 上的性能提升每天都在发生。我们正在不断发现新的机会,以突破 Blackwell 平台在效率和规模方面的极限。

致谢

我们要感谢 vLLM 社区中参与此项工作的众多才华横溢的成员:

  • Red Hat: Michael Goin, Alexander Matveev, Lucas Wilkinson, Luka Govedič, Wentao Ye, Ilia Markov, Matt Bonanni, Varun Sundar Rabindranath, Bill Nell, Tyler Michael Smith, Robert Shaw
  • NVIDIA: Po-Han Huang, Pavani Majety, Shu Wang, Elvis Chen, Zihao Ye, Duncan Moss, Kaixi Hou, Siyuan Fu, Benjamin Chislett, Xin Li, Vadim Gimpelson, Minseok Lee, Amir Samani, Elfie Guo, Lee Nau, Kushan Ahmadian, Grace Ho, Pen Chun Li
  • vLLM: Chen Zhang, Yongye Zhu, Bowen Wang, Kaichao You, Simon Mo, Woosuk Kwon, Zhuohan Li
  • Meta: Yang Chen, Xiaozhu Meng, Boyuan Feng, Lu Fang

您可以在 http://inferencemax.ai 找到所有 InferenceMax 结果。运行它的代码已在 https://github.com/InferenceMAX/InferenceMAX 开源。他们对结果的解释可以在 https://newsletter.semianalysis.com/p/inferencemax-open-source-inference 找到。

我们衷心感谢 SemiAnalysis 团队,他们通过提供公平的测量和社区对比,将硬件和开源软件的协同设计推向了新的高度。感谢 Kimbo Chen、Dylan Patel 以及其他成员。

我们很高兴在接下来的几周和几个月内继续完善和扩展我们的优化,以释放更强大的能力!