这是因为供应商不习惯指出他们的芯片或产品在竞争中不足的地方,因此结果通常是经过精心挑选、调整和优化的,以尽可能以最佳方式呈现它们。 这些比较通常不会引起竞争对手芯片制造商的回应,但就AMD新推出的MI300X GPU而言,英伟达认为有必要大声疾呼。 这位加速器专家拒绝了AMD基准测试的准确性和相关性。 到周五,AMD已经做出了回应,分享了进一步的优化数据,即使考虑到英伟达的优化软件库和对较低精度的支持,AMD也声称具有性能优势。 为什么 Nvidia 如此努力 在本周早些时候的AMD发布会上,这家芯片制造商声称其MI300X(该芯片的GPU变体)在推断Meta的Llama 2 700亿参数模型时,能够实现比H100低40%的延迟。 根据 Nvidia 的说法,问题在于 AMD 的基准测试没有利用其优化的软件或 H100 对 FP8 数据类型的支持,而是在 FP16 上使用 vLLM 进行。一般来说,精度较低的数据类型会以准确性换取性能。换句话说,英伟达表示AMD阻碍了H100。 ![](https://pic.imgdb.cn/item/65897de9c458853aef83cbd3.webp) 英伟达声称,当使用芯片制造商首选的软件堆栈和FP8精度时,其H100的性能优于AMD的MI8X 英伟达声称,当使用其闭源 TensorRT LLM 框架和 FP8 进行基准测试时,H100 的速度实际上是 MI300X 的两倍。 英伟达还认为,AMD通过使用1的批量大小来呈现性能的最佳方案,换句话说,就是一次处理一个推理请求。英伟达认为,这是不现实的,因为大多数云提供商会用延迟来换取更大的批量大小。 使用英伟达优化的软件堆栈,它表示,具有八个加速器的DGX H100节点能够处理14个批量大小,而配备八个AMD的MI300X的类似节点需要处理一个。 SemiAnalysis首席分析师迪伦·帕特尔(Dylan Patel)也认为,单批次延迟是一个“毫无意义”的指标。然而,他确实认为英伟达的博客文章承认AMD的最新加速器吓坏了它。 “英伟达显然受到AMD的MI300X的表现以及来自其两个最大客户Microsoft和Meta的批量订单的威胁,”他告诉The Register。“在游戏领域,英伟达在几代人中都没有如此公开地将自己与AMD进行比较,因为AMD没有竞争力。当AMD赢得数据中心的胜利时,他们也从未关心过数据中心。但现在,他们必须反击,因为AMD正在赢得多个云领域的交易。 AMD的反驳 在英伟达帖子发布后的一天内,AMD就发表了自己的博客文章,认为英伟达的基准测试不是同类比较。 除了使用自己优化的软件堆栈外,AMD还指出,英伟达正在将H100的FP8性能与FP16的MI300X进行比较。每当精度减半时,芯片的浮点运算就会增加一倍,因此这种差异不容小觑。 MI300X 支持 FP8。然而,用于AMD测试的vLLM还不支持数据类型,因此为了在MI300X上进行推理,我们目前只能使用FP16基准测试。 最后,AMD呼吁英伟达将AMD的性能数据从相对延迟反转为绝对吞吐量。 虽然AMD的博客文章没有解决英伟达对单批次延迟的批评,但一位发言人告诉The Register,这是标准做法。 “在衡量最低延迟性能时,批处理大小 1 是标准,而最大批处理大小用于突出最高的吞吐量性能。在测量吞吐量时,我们通常会将批次设置为符合客户 SLA 的最大大小。 该发言人补充说,AMD的发布日性能声明确实包括1760亿参数Bloom模型在“最大批量大小”下的吞吐量性能。在这种情况下,AMD声称比Nvidia的H100有1.6倍的优势,但正如我们稍后将要介绍的那样,这在很大程度上要归功于MI300X更强大的内存配置。 ![](https://pic.imgdb.cn/item/65897e34c458853aef850199.webp) 即使使用英伟达首选的软件堆栈,AMD表示其MI300X在FP16 AI推理中的性能也提高了30% 除了挑选英伟达的博客文章和性能声明外,AMD还展示了利用新优化的更新性能数据。“自从我们在11月记录了我们在发布会上使用的数据以来,我们已经取得了很大的进展,”该帖子写道。 AMD声称,当在FP16精度下使用通用vLLM框架时,这些改进将MI300X在Llama 2 70B中的延迟领先优势从1.4倍提高到2.1倍。 即使在配备 H100 的节点上使用 Nvidia 的 TensorRT-LLM 框架,AMD 声称 MI300X 平台在 FP16 时仍能提供 30% 的延迟改善。 甚至在FP16的MI300X与FP8的H100和Nvidia的首选软件堆栈的竞争中,AMD声称能够实现可比的性能。 英伟达没有直接回答我们关于AMD最新博客文章的问题,而是将我们引导至其GitHub页面,以获取有关关键基准测试的详细信息。 软件在人工智能中的作用越来越大 英伟达和AMD的基准测试之争凸显了几个重要因素,包括软件库和框架在提高AI性能方面所发挥的作用。 英伟达的主要论点之一是,通过使用 vLLM 而不是 TensorRT-LLM,H100 处于劣势。 TensorRT-LLM 于 9 月发布,并于 10 月下旬发布,是软件功能的组合,包括深度学习编译器、优化的内核、预处理和后处理步骤,以及多 GPU 和多节点通信原语。 使用优化的软件,英伟达声称,在运行 60 亿参数的 GPT-J 模型时,它能够有效地将 H100 的推理性能提高一倍。与此同时,在 Llama 2 70B 中,英伟达声称性能提升了 77%。 AMD在本月早些时候推出ROCm 6框架时也提出了类似的要求。这家芯片制造商声称,由于对 vLLM、HIP Graph 和 Flash Attention 的优化,其最新的 AI 框架能够将 LLM 性能提高 1.3 倍到 2.6 倍。 与在 ROCm 5 上运行的 MI250X 相比,AMD 认为在新软件框架上运行的 MI300X 速度提高了 8 倍。 但是,尽管软件作为性能的推动因素不容忽视,但硬件仍然是一个主要因素,正如当前和即将推出的加速器上对更快、更大容量内存配置的推动所证明的那样。 AMD的内存优势 在FP8和FP16m中,AMD的MI300X比H100拥有约30%的性能优势。然而,AI 推理工作负载非常复杂,性能取决于多种因素,包括 FLOPS、精度、内存容量、内存带宽、互连带宽和模型大小,仅举几例。 AMD 最大的优势不是浮点性能,而是内存。MI300X 的高带宽内存 (HBM) 速度提高了 55%,提供 5.2TB/秒,与 H100 的 80GB 相比,它的容量是 192GB 的两倍多。 这对于 AI 推理很重要,因为模型的大小与运行模型所需的内存量成正比。在 FP16 中,您看到的是每个参数 16 位或 2 个字节。因此,对于 Llama 70B,您需要大约 140GB 的空间以及 KV 缓存空间,这有助于加速推理工作负载,但需要额外的内存。 H200 和 Gaudi3 即将到来 如果你需要更多证据来证明内存是这里的限制因素,只需看看 Nvidia 的下一代 GPU H200 即可。该器件将于新年第一季度推出,将拥有 141GB 的 HBM3e,适用于每秒 4.8TB 的带宽。 然而,就FLOPS而言,该芯片并没有提供任何明显的性能提升。深入研究规格表显示,其性能与它所取代的 H100 相同。 尽管如此,英伟达声称,与H100相比,H200在Llama 2 70B中的推理性能大约是H100的两倍。 虽然MI300X仍然比H200拥有更多的内存和带宽,但利润要窄得多。 “客户选择英伟达全栈 AI 平台是因为它无与伦比的性能和多功能性。我们通过技术堆栈的每一层(包括芯片、系统和软件)的创新来持续提高性能,“一位发言人告诉The Register。 为此,H200并不是英伟达明年初推出的唯一GPU。卫冕 GPU 冠军最近从 2024 年的 B100 开始,转向加速器和网络设备的年度发布节奏。 虽然我们对这款芯片了解不多,但可以肯定的是,它将比其前身更快、更好地适应 AI 工作负载。 英特尔即将推出的 Gaudi3 加速器也是如此。英特尔没有分享太多关于哈瓦那实验室第三代芯片的信息,但我们确实知道它将拥有其前身的 1.5 倍的内存带宽。该芯片还将使网络性能翻倍,据说可提供 4 倍的大脑浮动 16 (BF16) 性能。后者是一个特别奇怪的说法,因为英特尔不会告诉我们 Gaudi2 的 BF16 性能到底是多少——而是更愿意谈论现实世界的性能。 英特尔拒绝了我们对其竞争对手的基准测试恶作剧进行权衡的提议。无论如何,AMD的MI300X在新的一年里不仅要与Nvidia竞争。 因此,在 FP16 上,AMD 的 MI300X 自动具有优势,因为整个模型可以放入单个加速器的内存中,并为 KV 缓存留出足够的空间。另一方面,H100 处于劣势,因为该模型需要分布在多个加速器上。 另一方面,在 FP8 中,Llama 2 70B 只需要 H100 的 70GB 内存中的大约 80GB。虽然可以将 700 亿个参数的模型放入单个 H100 的内存中,但 Patel 指出,它留给 KV 缓存的空间非常小。他解释说,这严重限制了批量大小,即可以处理的请求数量。 从英伟达的博客文章中,我们知道这家芯片制造商并不认为批量大小是现实的。 在系统层面,这一点尤为明显,尤其是对于更大的模型,例如AMD性能声明中强调的1760亿参数Bloom模型。 AMD 的 MI300X 平台可以支持多达 8 个加速器的系统,总容量为 1.5TB HBM。同时,英伟达的HGX平台最高可达640GB。正如 SemiAnalysis 在其 MI300X 发布报道中指出的那样,在 FP16 上,Bloom 需要 352GB 内存——让 AMD 为更大的批量提供更多内存。
评论 (0)