数据中心/云端

NVIDIA NVLink 和 NVIDIA NVSwitch 加速大语言模型推理性能

大型语言模型(LLM)越来越大,增加了处理推理请求所需的计算量。为了满足服务当今LLM的实时延迟要求,并为尽可能多的用户提供服务,多GPU计算是必不可少的。这不仅能够降低延迟,提高用户体验,还能够提高吞吐量,降低服务成本。两者同时重要。

即使大型模型可以装入单个state-of-the-art GPU的内存中,该GPU生成令牌的速率也取决于可用于处理请求的总计算量。通过结合多个state-of-the-art GPU的计算能力,可以实现最新模型的实时用户体验。

为了解对每秒高令牌的需求,以下 GIF 展示了两种情况:

  • 5 个令牌/秒:低于正常的人类阅读速度,而非实时。
  • 50 个令牌/秒:出色的用户体验。
GIF displays three lines of a Shakespeare quote from Macbeth with words appearing one at a time.
图 1.5 个令牌/秒输出示例
GIF displays 20 lines of a Shakespeare quote from Macbeth with entire lines appearing quickly.
图 2.50 个令牌/秒输出示例

通过使用多个 GPU 的组合计算性能和张量并行 (TP) 等技术来运行大型模型,可以快速处理推理请求,从而实现实时响应。通过精心选择用于运行模型的 GPU 数量,云推理服务还可以同时优化用户体验和成本。

有关用于平衡用户体验的并行技术的更多信息,请参阅Demystifying AI Inference Deployments for Trillion Parameter Large Language Models

多 GPU 推理是通信密集型推理

多 GPU TP 推理的工作原理是将每个模型层的计算拆分为服务器中的两个、四个甚至八个 GPU。理论上,两个 GPU 可以将模型的运行速度提升 2 倍,四个 GPU 可以提升 4 倍,八个 GPU 可以提升 8 倍。

但是,每个 GPU 无法独立完成其工作。在每个 GPU 完成模型层各自部分的执行后,每个 GPU 必须将计算结果发送到每个其他 GPU,执行 all-to-all reduction。只有这样,推理执行才能继续到下一个模型层。

尽可能缩短 GPU 之间的结果通信时间至关重要,因为在此通信期间,Tensor Core 通常保持空闲状态,等待数据继续处理。

在此通信步骤中,必须传输大量数据。对 Llama 3.1 70B(8K 输入令牌和 256 个输出令牌)的单个查询需要从每个 GPU 传输多达 20GB 的 TP 同步数据。由于多个查询通过批处理并行处理,以提高推理吞吐量,因此传输的数据量增加了倍数。

因此,高带宽 GPU 到 GPU 互连对于多 GPU 推理至关重要。

NVSwitch 对于快速的多 GPU LLM 推理至关重要

为了实现良好的多 GPU 扩展,AI 服务器首先需要每个 GPU 具有出色的互连带宽。它还必须提供快速连接,以使所有 GPU 能够尽快与所有其他 GPU 交换数据。

NVIDIA Hopper 架构 GPU 可以使用第四代 NVLink 以 900 GB/s 的速度进行通信。借助 NVSwitch,服务器中的每个 NVIDIA Hopper GPU 都可以与任何其他 NVIDIA Hopper GPU 同时以 900 GB/s 的速度进行通信。

峰值速率并不取决于通信的 GPU 数量。这意味着,NVSwitch 是无阻塞的。每个配备 8 个 GPU 的 NVIDIA HGX H100 和 NVIDIA HGX H200 系统都配备 4 个第三代 NVSwitch 芯片。每个 NVSwitch 芯片的总双向带宽高达 25.6 Tb/s,令人惊叹。

Picture of the NVIDIA Hopper Architecture GPU with a callout showing the four NVSwitch chips.
图 3.配备四个 NVIDIA NVSwitch 设备的 HGX H200 8-GPU

为便于比较,假设一台服务器配备 8 个 H200 GPU,但没有使用 NVSwitch,而是使用服务器主板上的点对点连接(图 4)。

Diagram shows 8 GPUs on the top, each with links going to every other GPU. On the bottom, 8 GPUs are connected to each other with a centralized NVSwitch.
图 4.G支持和不支持 NVSwitch 多对多交换机拓扑的 PU 到 GPU 带宽

在点对点设计中,尽管没有四个高速交换机可以降低系统成本,但每个 GPU 都必须将相同的 900 GB/s 连接拆分为七个专用的 128 GB/s 点对点连接,每个连接都连接到系统中的另一个 GPU。这意味着 GPU 之间的通信速度取决于正在通信的 GPU 数量。

GPU 数量 点到点带宽 NVSwitch 带宽
2 128 GB/秒 900 GB/s
4 3 x 128 GB/s 900 GB/s
8 7 x 128 GB/秒 900 GB/s
表 1.GPU 与 GPU 带宽比较

表 1 显示了通过点对点互连连接的 GPU 与通过 NVSwitch 连接的 GPU 之间的 GPU 到 GPU 带宽比较。

对于只需要两个 GPU 以实现用户体验和成本最佳平衡的模型(例如 Llama 3.1 70B),点对点架构仅提供 128 GB/s 的带宽。20 GB 的数据将消耗 150 毫秒,仅执行众多多对多减少中的一个。由于通信用度高,Amdahl 定律限制了每增加一个 GPU 可能实现的加速。

与此同时,使用 NVSwitch 的系统将提供完整的 900 GB/s 带宽,仅需 22 毫秒传输 20 GB,从而大幅减少 GPU 之间通信所花费的时间。这对整体推理吞吐量和用户体验产生了重大的影响。

On the top of the diagram are two GPUs connected with a small green line, with an indicator that communication makes up a large portion of the execution time. On the bottom, two GPUs are connected via NVSwitch, with communication making up a small portion of the execution time.
图 5.使用和不使用 NVSwitch 的多 GPU 通信

云服务通常为模型服务设置固定的响应时间预算,以提供良好的最终用户体验。这通常意味着能够以快于人类阅读速度的速度生成令牌。为了最大限度地提高吞吐量并降低服务成本,我们会在保持响应时间的同时对请求进行尽可能高的批量处理,以充分发挥云服务的优势。

表 2 显示了在每秒 30-50 个令牌/用户的不同实时响应时间预算下测量的 Llama 3.1 70亿吞吐量。


实时响应预算 tok/s/用户
吞吐量tok/s/GPU (批量大小) NVSwitch 交换机 优势
单个 GPU TP = 1 点到点 TP = 2 NVSwitch 交换机 TP = 2
30 67 (2) 80 (6) 115 (9) 1.4 倍
35 不符合 74 (5) 104 (7) 1.4 倍
40 不符合 67 (4) 87 (5) 1.3 倍
45 不符合 56 (3) 76 (4) 1.4 倍
50 不符合 43 (2) 63 (3) 1.5 倍
表 2. 在各种实时用户体验目标下的批量大小中,Llama 3.1 70B 推理的吞吐量和 NVSwitch 优势

使用内部测量对吞吐量建模。H200 GPU,ISL/OSL = 8k/256、

如表 2 所示,单个 GPU 配置 (TP=1) 在实现实时性能方面面临挑战。使用跨两个 GPU 的张量并行分割模型可结合两个 GPU 的计算资源,在各种实时体验预算中实现高吞吐量。使用 TP=2 和 NVSwitch 的 NVIDIA H200 GPU 的实时推理吞吐量比不使用 NVSwitch 的同类 GPU 高 1.5 倍。

为了展示 NVSwitch 如何受益于增加 GPU 到 GPU 通信流量的场景,表 3 显示了在固定批量大小下的整体服务器吞吐量。更大的批量大小意味着来自越来越多的用户的请求可以一次性处理,从而提高整体服务器利用率并降低每次推理的成本。


批量大小
吞吐量 tok/s/GPU
NVSwitch 交换机优势
点到点 NVSwitch 交换机
1 25 26 1.0 倍
2 44 47 1.1 倍
4 66 76 1.2 倍
8 87 110 1.3 倍
16 103 142 1.4 倍
32 112 168 1.5 倍
表 3.不同固定批量大小下 Llama 3.1 70B 推理的吞吐量和 NVSwitch 优势

使用内部测量对吞吐量建模。H200 GPU,TP = 2,ISL/OSL = 8K/256、

随着批量大小的增加,GPU 到 GPU 的流量也会增加,与点到点拓扑相比,NVSwitch 提供的优势也会增加。但是,即使批量大小相对较小,收益也会明显增加。

NVLink 和 NVSwitch 基于 NVIDIA Hopper 架构在 GPU 之间提供高带宽的通信,并为当今经济高效的实时大型模型推理提供明显优势。

随着模型规模的不断增长,NVIDIA 通过 NVLink 和 NVSwitch 不断创新,为更大的 NVLink 领域突破实时推理性能的极限。

NVIDIA Blackwell 架构采用第五代 NVLink,将每个 GPU 的 NVLink 速度提高一倍,达到 1800 GB/s。对于 Blackwell,还推出了新的 NVSwitch 芯片和 NVLink 交换机托盘,以支持更大的 NVLink 域大小。

NVIDIA GB200 NVL72 系统采用机架级设计,可连接 36 个 NVIDIA Grace CPU 和 72 个 NVIDIA Blackwell GPU,并借助第五代 NVLink,使所有 72 个 GPU 能够作为单个 GPU 发挥作用,与上一代产品相比,实时万亿参数推理的速度提高了 30 倍。

 

Tags