借助 NVIDIA H100 Tensor Core GPU 和 NVIDIA TensorRT-LLM 实现出色的推理性能

这篇文章最初发表在 NVIDIA 技术博客上。

出色的 AI 性能需要高效的并行计算架构、高效的工具堆栈和深度优化的算法。NVIDIA 发布了 NVIDIA TensorRT-LLM,它包括专为 NVIDIA RTX GPU 设计的优化,以及针对 NVIDIA Hopper 架构 的优化,这些架构是 NVIDIA H100 Tensor Core GPU 的核心,位于 NVIDIA Omniverse 中。这些优化使得如 Lama 2 70B 等模型能够在 H100 GPU 上利用加速的 FP8 运算进行执行,同时保持推理准确性。

在最近的一次发布活动中,AMD 谈到了 H100 GPU 与其 MI300X 芯片相比的推理性能。分享的结果没有使用经过优化的软件,如果基准测试正确,H100 的速度会提高 2 倍。

以下是在 Llama 2 70B 模型上搭载 8 个 NVIDIA H100 GPU 的单个 NVIDIA DGX H100 服务器的实际测量性能。这包括"Batch-1"(一次处理一个推理请求)的结果,以及使用固定响应时间处理的结果。

图 1.Lama 2 70B 服务器每秒查询的推理性能,具有"Batch 1"的 2048 个输入令牌和 128 个输出令牌,以及各种固定响应时间设置 AMD 对 H100 的隐含声明基于 AMD 发布演示脚注#MI300-38 中的配置进行衡量。使用配备 NVIDIA DGX H100 系统的 vLLM v.02.2.2 推理软件,Llama 2 70B 查询的输入序列长度为 2048,输出序列长度为 128.他们声称与配备 8 块 GPU MI300X 系统的 DGX H100 相比,性能相对较好。

对于 NVIDIA 测量数据,DGX H100 配备 8 块 NVIDIA H100 Tensor Core GPU,搭载 80 GB HBM3 和公开发布的 NVIDIA TensorRT-LLM,v0.5.0 用于Batch 1,v0.6.1 用于延迟值测量。工作负载详细信息与脚注#MI300-38 相同。

DGX H100 可以在 1.7 秒内处理单个推理,而批量大小为 1 (换言之,一次一个推理请求)。批量大小为 1 的结果可实现更快的模型响应时间。为了优化响应时间和数据中心吞吐量,云服务为特定服务设置固定的响应时间。这使他们能够将多个推理请求组合成更大的"批量",并增加服务器每秒的总体推理次数。MLPerf 等行业标准基准测试也使用这个固定的响应时间指标来衡量性能。

在响应时间方面进行细微的权衡会产生服务器可以实时处理的推理请求数量的 x 系数。使用固定的 2.5 秒响应时间预算,8 GPU DGX H100 服务器每秒可处理超过 5 次 Llama 2 70B 推理,而在批量 1 中,每秒可处理的推理不到 1 次。

AI 正在飞速发展,NVIDIA CUDA 生态系统让我们能够快速且持续地优化整个技术栈。我们期待每次软件更新都能进一步提升 AI 性能,因此请确保查看我们的性能页面以及GitHub 页面以获取最新信息。


如何重现这些 AI 推理结果

DGX H100 AMD 脚注 由 NVIDIA 在 vLLM 中根据 AMD 在其脚注中提供的配置进行测量,并提供了vLLM基准测试脚本,使用以下命令行:

css 复制代码
$ python benchmarks/benchmark_latency.py --model "meta-llama/Llama-2-70b-hf" --input-len 2048 --output-len 128 --batch-size 1 -tp 8

MI300X 8 芯片系统 是基于 AMD 声称的DGX H100 AMD 脚注测量 vLLM 结果。

测量的 DGX H100 由 NVIDIA 使用公开可用的 TensorRT-LLM 版本进行测量,详情请见 GitHub,并使用 TensorRT-LLM 基准测试中列出的命令行,参考 Llama 2 指南

scss 复制代码
// Build TensorRT optimized Llama-2-70b for H100 fp8 tensorcore
$ python examples/llama/build.py --remove_input_padding --enable_context_fmha --parallel_build --output_dir DTYPE.float16_TP.8_BS.14_ISL.2048_OSL.128 --dtype float16 --use_gpt_attention_plugin float16 --world_size 8 --tp_size 8 --pp_size 1 --max_batch_size 14 --max_input_len 2048 --max_output_len 128 --enable_fp8 --fp8_kv_cache --strongly_typed --n_head 64 --n_kv_head 8 --n_embd 8192 --inter_size 28672 --vocab_size 32000 --n_positions 4096 --hidden_act silu --ffn_dim_multiplier 1.3 --multiple_of 4096 --n_layer 80


// Benchmark Llama-70B
$ mpirun -n 8 --allow-run-as-root --oversubscribe ./cpp/build/benchmarks/gptSessionBenchmark --model llama_70b --engine_dir DTYPE.float16_TP.8_BS.14_ISL.2048_OSL.128 --warm_up 1 --batch_size 14 --duration 0 --num_runs 5 --input_output_len 2048,1;2048,128

阅读原文

相关推荐
Together_CZ4 天前
Windows 下 CUDA / cuDNN / PyTorch GPU 训练环境搭建完整指南:虚拟环境与系统级环境两种方案
virtualenv·nvidia·cuda·cudnn·rtx 5060
元让_vincent5 天前
论文Review SLAM cuVSLAM | NVIDIA 2025 | CUDA加速的视觉里程计与建图系统
nvidia·视觉slam·gpu加速
AI小小怪6 天前
保姆级教程:Ubuntu 22.04 安装 NVIDIA GPU 驱动 + CUDA 12.6(RTX 3080 显卡)
linux·nvidia·cuda
feasibility.7 天前
nvidia-smi 失灵,显存凭空消失?—— NVML 驱动版本错配的记录
linux·运维·服务器·经验分享·nvidia·驱动
视***间9 天前
端侧大模型落地新标杆:视程空间将GPT-OSS边缘AI深度导入NVIDIA Jetson平台
人工智能·gpt·边缘计算·nvidia·ai算力·gpt-oss·视程空间
扫地的小何尚9 天前
掌握 Agentic AI 技术:AI Agent 定制方法全景与实践路径
大数据·人工智能·算法·ai·llm·agent·nvidia
Elastic 中国社区官方博客10 天前
快 12 倍的 Elasticsearch 向量索引:使用 GPU 和 CPU 分层部署 NVIDIA cuVS
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·nvidia
阿里云大数据AI技术10 天前
开发者博客|在阿里云 PAI 平台实现规模化的机器人感知强化学习
人工智能·阿里云·机器人·强化学习·nvidia
藤谷性能13 天前
Jetson Orin Nano:安装Jetpack等基础工具并验证摄像头
边缘计算·nvidia·jetson orin
AgentOPC15 天前
Cerebras WSE-3 vs Nvidia H100/H200/B200:详细技术对比——谁才是 AI 时代真正的“芯片之王“
开发语言·人工智能·nvidia