捷智算平台上架DeepSeek !即开即用,支持一键部署 立即注册
企业资讯
利用 TensorRT 释放 NVIDIA H100 GPU 的全部潜力,实现 ML 推理
发布时间: 2024-07-03 14:56

NVIDIA 的 H100 GPU 是市场上最强大的处理器。但在 ML 模型上运行推理需要的不仅仅是原始功率。为了获得最快的第一个令牌时间、最高的每秒令牌数以及 LLM 和 Stable Diffusion XL 等模型的最短总生成时间,我们转向 NVIDIA 的模型服务引擎 TensorRT。通过在 H100 GPU 上提供使用 TensorRT 优化的模型,我们可以比 A100 工作负载节省大量成本,并在延迟和吞吐量方面获得出色的性能基准。


NVIDIA H100 GPU 上部署 ML 模型可为 LLM、图像生成模型和其他要求严格的 ML 工作负载提供最低延迟和最高带宽推理。但要从这些 GPU 中获得最大性能,需要做的不仅仅是加载模型并运行推理。


我们使用 NVIDIA 的 TensorRT 和 TensorRT-LLM 模型服务引擎对 LLM(Mistral 7B in fp16)和图像模型(Stable Diffusion XL)进行了基准推理。使用这些工具,我们在相同或更低的延迟下实现了比 A100 高出两到三倍的吞吐量。


捷智算 是可以在 H100 GPU 上提供模型推理的公司。由于 H100 可以将 A100 的吞吐量提高一倍或三倍,因此在使用 TensorRT 和 TensorRT-LLM 时,与当前价格的同等 A100 工作负载相比,切换到 H100 可以将性价比提高 18% 到 45%。


开箱即用,H100 GPU 在模型推理方面具有显著优势:

80GB VRAM 上的内存带宽为 3.35 TB/s — 比 A100 多 1.6 倍。

989.5 teraFLOPs fp16 张量计算 — — 比 A100 好 3 倍多。

来自 NVIDIA Hopper 架构的新功能和优化。


但是使用 TensorRT/TensorRT-LLM 进行推理比 A100 获得的改进甚至比统计表显示的还要大:


与 A100 相比,Mistral 7B 的吞吐量提高了一倍(每秒生成的令牌总数),延迟提高了 2 倍(第一个令牌的时间,每秒感知的令牌数),并且批处理大小保持不变。

与 A100 相比,Mistral 7B 的吞吐量(每秒生成的令牌总数)增加了三倍,并且随着批次大小的增加,延迟(第一个令牌的时间、每秒感知的令牌数)也保持恒定。

Stable Diffusion XL 的结果类似,30 步推理仅需一秒半。


在本报告中,我们将回顾 Mistral 7B 和 Stable Diffusion XL 的基准,并讨论为何 TensorRT/TensorRT-LLM 在 H100 GPU 上的模型推理中提供如此出色的性能。


一、为什么 TensorRT 和 TensorRT-LLM 可以提高 H100 推理能力


H100 不仅仅是具有更多内核和更快内存的 A100,它使用 NVIDIA 的Hopper架构。Hopper 架构是 NVIDIA Lovelace架构的数据中心导向兄弟,后者为 RTX 4090 等消费级 GPU 和L4等较小的数据中心级 GPU 提供支持。


Hopper 架构提供了一系列新功能,以补充更大的核心数量、带宽和缓存。深入研究架构可以发现线程块集群、分布式共享内存、异步执行、新的张量内存加速器等数十项优化。这些优化旨在让 H100 在 ML 推理和其他工作负载方面获得额外的优势。


并非所有模型都会用到所有功能。这就是 TensorRT 的作用所在。TensorRT 是一个用于模型推理优化的工具包。它由 NVIDIA 构建,因此充分利用了 H100 GPU 中的新功能。使用 TensorRT,您可以构建特定于模型的引擎,以优化各个模型层和 CUDA 指令,从而最大限度地提高性能。这可以带来比原始统计数据本身更大的推理性能提升。


二、更高的内存带宽带来更好的吞吐量


LLM 推理的主要衡量指标是每秒标记数 (TPS),它描述了模型输出文本的速度。此推理阶段受内存限制,因此 H100 增加的内存带宽至关重要。


H100 有三种变体。我们专门使用 SXM H100,由于其内存带宽更高,因此性能比 PCIe 变体好得多。同样,在可用的 A100 中,我们只使用同类最佳的 80GB SXM A100,其带宽最高——我们正在进行同类比较。


这些 H100 GPU 具有 3.35 TB/s 的内存带宽,而等效的 A100 仅有 2.039 TB/s 的内存带宽,这意味着 H100 的内存带宽约为 A100 的 1.64 倍。


内存带宽的增加对 LLM 的性能有直接影响。在对每秒令牌数进行基准测试时,我们会关注两个指标:

感知 TPS — 单个用户在响应提示时每秒获得的令牌数量。这是一个延迟指标,50 TPS 是聊天的合理阈值。

总生成 TPS — 模型在整个请求批次中每秒生成多少个令牌。这是一个吞吐量指标,您希望该指标尽可能高,以便从 GPU 获得最高的性价比。


如下表所示,在保持批处理大小不变并测试 300 个输入令牌和 1000 个输出令牌的情况下,H100 的每秒感知令牌数和每秒生成令牌总数大约是 A100 的两倍。得益于 TensorRT-LLM 提供的优化,测量的性能比预期的要好——我们预计增加内存带宽后性能只会提高 64%。




三、通过更好的 Tensor 计算更快地获得第一个 token


LLM 推理的预填充阶段是独一无二的,因为它受计算限制。在预填充中,模型获取整个输入标记集并使用它来生成第一个输出标记。执行此操作需要大量张量计算能力,但内存访问相对较少,因此在这种情况下,H100 的 989.5 teraFLOPS fp16 张量计算能力使 H100 具有优势。


我们特别关注预填充阶段的完成速度,因为它直接影响到第一个令牌的时间——延迟的一个重要指标。第一个令牌的时间是衡量 LLM 开始响应流式输出的速度的指标。快速的首个令牌时间意味着快速的用户体验。


将 H100 与 A100 预填充时间进行比较,我们发现 H100 预填充在所有批次大小中始终比 A100 快 2-3 倍。这是使用 300 个输入令牌测量的,并且会根据输入序列长度而变化,但 H100 的相对加速比在大多数序列长度中应该保持相似。




第一个令牌的时间还取决于网络速度等因素,但我们可以从该表中观察到,H100 显著提高了预填充性能,这直接对应于更快的第一个令牌时间。


四、恒定延迟带来 3 倍吞吐量提升


对于某些用例来说,每秒感知令牌数和第一个令牌时间的“免费”改进以及 2 倍更高的吞吐量可能非常有用。但是,如果您已经对模型的性能感到满意,则可以通过增加批处理大小来从同一硬件中获得更高的吞吐量(在某些情况下为 3 倍或更多),从而节省更多成本。


为了了解具体情况,让我们看一下上述基准的综合表。




假设你在 A100 上运行 Mistral 7B,目标是最大化吞吐量,同时仍支持较高的延迟数:

每个请求每秒可感知 50 个令牌

第一个 token 的获取时间不到 1 秒


您应该在 A100 和 H100 上选择多少批次大小?让我们看一个简化的相关值表:



从表中我们可以看出:

在 A100 上,批次大小为 32 可以实现您的延迟目标,总吞吐量为每秒 1,771 个令牌。

如果在切换到 H100 时保持批次大小相同,则可以获得两倍的吞吐量。

如果在切换到 H100 时将批次大小增加到 64,则可以获得三倍的吞吐量,同时保持低于延迟目标。


输入和输出序列长度以及特定于模型的性能怪癖等因素可能会稍微改变这些值,但如果您愿意接受较低的延迟增益,H100 会为您提供更大的吞吐量提升空间。这会带来显著的性价比提升:在这种情况下,吞吐量提高了 3 倍,性能提升了 45%。


五、更快的Stable Diffusion XL 推理


这些性能提升不仅限于大型语言模型。TensorRT 还支持 Stable Diffusion XL (SDXL) 等模型,这些模型的性能提升与 H100 类似。


SDXL 推理受益于计算能力和内存带宽的增加。对于使用 TensorRT 的 30 步 SDXL 和批处理大小为 1,我们看到:

H100:延迟 1.478 秒,吞吐量 0.68 幅/秒

A100:延迟 2.742 秒,吞吐量 0.36 张图片/秒

A10G:延迟 8.16 秒,吞吐量 0.12 张图片/秒


开箱即用,您再次获得几乎两倍的延迟和吞吐量性能。与 LLM 一样,您可以通过增加 SDXL 推理的批处理大小来在一定程度上权衡延迟和吞吐量。


六、通过将 A100 工作负载切换到 H100,可节省 18% 至 45%

我们以每小时 9.984 美元的价格在 H100 GPU 上提供优化的模型推理。我们提供具有 1、2、4 或 8 个 H100 GPU 的实例来处理最大的模型,并且可以在 TensorRT/TensorRT-LLM 上运行开源和自定义模型,以充分利用 H100 的计算能力。




H100 的模型推理性能比 A100 高出 2 到 3 倍,但每小时成本仅高出 62%。这意味着,对于需要多个 A100 支持的实例的工作负载,切换到 H100 可以节省大量成本:

通过 2 倍吞吐量节省约 18% 并免费获得更低的延迟

吞吐量提高 3 倍,延迟可媲美,节省高达 45%


要在 H100 GPU 上部署Mistral 7B、Mixtral 8x7B、Stable Diffusion XL或任何其他开源或自定义模型,请联系我们并告诉我们您的使用案例- 我们很乐意帮助您充分利用这些令人难以置信的 GPU。

  • 捷智算联系人