目录
- ML Commons的MLPerf基准测试:Llama-2-70b
- 8x GPU:MI300X与H100-SXM旗鼓相当
- 多GPU线性扩展评估、B100单卡表现优异
- Tensor并行多卡NVLINK vs. PCIe效率
- 选型参考:显存带宽是Token/s输出唯一决定因素吗?
- 硬件参数、卡间互连与软件发挥
ML Commons的MLPerf基准测试:Llama-2-70b
最近看到国外网站讨论NVIDIA和AMD数据中心GPU的实际性能,我也想给大家分享点测试对比信息——来自第三方联盟组织ML Commons推出的MLPerf Inference: Datacenter基准测试。
ML Commons有点像AI行业的spec.org。上图为组织的发起人成员,我看到除了Intel、AMD、NVIDIA等国外巨头之外,也包含有国内的公司阿里巴巴、华为、浪潮、宁畅、OPPO。显然,大家应该都是不希望在业内公认的基准测试中掉队,特别是AI这个如今火热的领域。
上图是更多成员,我又看到了H3C、联想,以及几大服务器ODM厂商。包含的成员覆盖全面,通常推出的测试程序标准就比较公平,网站上公布的测试结果用来横向对比的参考价值也比较大。
本次解读MLPerf BenchMark中的项目,是使用Llama-2-70b大语言模型进行的推理测试。如下图:在最新的v4.1版本已公布结果中,只有除了各种型号的NVIDIA GPU之外,只有一款AMD Instinct MI300X。严格地说,在较早的v4.0测试中出现了Intel Gaudi 2的身影,但其性能水平应该与最新的Gaudi 3有些差距。所以本文不想引入更多分支剧情,专注于当前的MLPerf Inference: Datacenter v4.1。
本文测试数据引用自https://mlcommons.org/benchmarks/inference-datacenter,上面只是部分截图。
与大模型推理测试结果直接相关的,就是GPU的型号和数量。除此之外,我们还能看到更多信息,比如使用的服务器型号、CPU,以及软件平台环境等。参考上面截图,实际上NVIDIA GPU在Llama-2-70b测试中基本都是用CUDA+TensorRT;而AMD则是ROCm+PyTorch+vLLM。PYTorch的流行度不用我说了吧,TensorRT可以理解为NVIDIA进一步加速的框架;vLLM如今的评价也是挺高的。
上图中的测试结果处,可以看到llama2-70b-99和llama2-70b-99.9两栏,而它们之间的Tokens/s数值又完全相同。我觉得这是一个有点容易让人混淆之处,具体区别指的什么呢?
参考上面图表,Llama2测试中的99%和99.9%似乎指的是FP32所占的比重?但事实上推理计算通常不需要这么高精度的模型——另外载入显存的数据量也太大了。下表只是个简单的参考,KV Cache部分与上下文长度相关,就不展开讨论了。
70b模型推理 |
模型占用显存 |
KV Cache… |
8bit |
约70GB |
|
16bit |
约140GB |
|
32bit |
约280GB |
MLPerf Llama-2-70b推理测试实际上是用的FP8量化模型,下文中有我发现的证据。
在MLPerf Llama-2-70b推理测试结果中还分为Offline和Server两项,参考介绍如下:
Server:LoadGen 在启动时会在单个查询中将所有样本发送到被测系统(SUT)。
Offline:一旦被测系统(SUT)完成上一个查询,Loadgen 就会发送下一个查询。
可以理解为Server是模拟服务器在响应查询请求,而Offline则是离线生成最大的压力,应该能把GPU跑得更满一点吧。
8x GPU:AMD MI300X与NVIDIA H100-SXM旗鼓相当
首先我特别挑选出8x GPU(单机8卡)的测试结果,对于相同GPU型号和数量的多个测试结果,挑成绩最高的进行对比。另外对于70b这种尺寸的模型和数据中心GPU配置,单节点服务器就能容纳全部推理数据到显存,多节点的结果参考意义不大(类似于只是跑个多副本)。
在SXM/OAM GPU模组的比较中,8个AMD MI300X的Token/s测试数据与8个NVIDIA H100-SXM-80GB相当接近;8个H200-SXM-141GB则表现最好,还要领先40%左右。
与上面的3款GPU相比,8卡H100-NVL-94GB(4组双卡NVLINK)、H100-PCIe-80GB和L40S-48GB的性能差距依次都比较大。其原因我在下文中会具体分析。
注意:Dell XE9680服务器其实也是双CPU配置(2颗40核),8x SXM GPU的平台基本上都要服务器2 Socket插满吧。
仅以上图表为例,不同测试平台对MLPerf Llama-2-70b推理测试的结果影响不算太大,但还是有一些。同样是8个MI300X GPU,Token/s性能从低到高的3款服务器CPU分别为Xeon 8460Y+、EPYC 9374F和EPYC Turin(最新的9005系列,由于是preview结果没有写CPU核数),它们最大差距达到10%左右。
上图引用自AMD在10月10日发布会上的资料,我在《AMD EPYC 9005 (Zen 5&5c) 服务器CPU架构解读》曾经引用过一部分,今天再看下GPU相关的。
之前AMD官宣这个MI300X能达到H100最多1.3倍的性能,我个人猜测会不会统一使用PyTorch测试的?当然我并不了解更多的细节信息,所以只是一个猜测。
至于H200,AMD之前是拿MI325X来进行对比的。
Instinct MI325X GPU是在2024 Q4正式出货的,也许我们在下个季度能看到它出现在MLPerf的榜单中?
多GPU线性扩展评估、B100单卡表现优异
下面我将列出完整的测试图表,除了8 GPU之外,还有那些“单卡”、“4卡”的,其中包括有NVIDIA GH200 Grace Hopper Superchip以及NVIDIA B200-SXM-180GB。
从这里我们可以评估GPU的线性扩展效果。比如8个MI300X推理Token确实达到了单GPU的8倍;H200也是类似的情况。前面我说过MLPerf是测试的Llama-2-70b FP8量化模型推理,所以像L40S 4/8 GPU测试也能达到翻倍的结果,因为基本不需要跨两组“4卡”交互数据。
NVIDIA B200-SXM-180GB单GPU的数据确实优异,一块差不多能顶4个H100-SXM-80GB了。目前这个测试成绩还是preview状态,估计早晚NVIDIA会公布Blackwell架构多GPU的BenchMark结果。
Tensor并行多卡NVLINK vs. PCIe效率
上面这个图表,看起来还是有点让人感觉复杂。为了进一步方便分析,我还想把算力折算到每个GPU来看看。在此之前,有必要先跟大家分享个重要的信息,也算是我从测试代码中发现的吧。
--qformat fp8及右边的输出目录,是把Llama-2-70b量化到FP8的操作。
90GB VMEM就是进行这个测试的门槛需求,也就是说显存达到90GB就可以跑tensor并行度1;而像H100 80GB这样的需要跑tensor并行度2;48GB的L40S则需要—tp_size=4参数。
在有NVLINK或者AMD Infinity Fabric这类高速专用互连的情况下,跨卡的显存数据访问影响应该不大?而通过PCIe插槽的多卡tensor并行,理论上效率就要低一些了。
选型参考:显存带宽是Token/s输出唯一决定因素吗?
记得我在《LLM大模型推理测试 & AI PC选型指南 (1)》中讨论过端侧推理,Torken生成速度的决定因素经常是显存(内存)带宽,但也可能有由于算力、I/O因素受影响的情况。
折线上的数值为GPU内存带宽,单位TB/s
如上面图表,右边是4款96GB及以上显存的GPU;左边较低显存的是通过多卡测试成绩折算出来的“单GPU贡献”。(注:不代表单卡显存低于90GB就能把这个测试跑起来。)
B200是单位显存带宽Token性能发挥最好的,这一块NV目前的优势大家也不得不承认。
H100-SXM-80GB、H200-SXM-141GB、GH200 96GB、GH200 144GB这4款GPU的Token性能基本上与显存带宽成正比关系。Grace Hopper Superchip架构的效率相对要低一点,可能与其Arm CPU有关。
而PCIe形态的H100、L40S GPU,其单位显存带宽能发挥出的推理性能,就要差一些了。这应该与tensor并行的跨卡显存访问瓶颈有关。只是我没想明白的是:H100-NVL-94GB——按道理超过90GB只要tensor parallelism=1就好了,即使走双卡NVLINK互连的效率也不错啊?
硬件参数、卡间互连及软件发挥
GPU内存带宽 (TB/s) | FP8 TFLOPS (非稀疏) | TDP功耗 (W) | |
AMD Instinct MI300X-192GB | 5.3 | 2614.9 | 750 |
NVIDIA L40S-48GB | 0.864 | 733 | 350 |
NVIDIA H100-PCIe-80GB | 2 | 1513 | 350 |
NVIDIA H100-NVL-94GB | 3.938 | 1671 | 400 |
NVIDIA H100-SXM-80GB | 3.35 | 1979 | 700 |
NVIDIA H200-SXM-141GB | 4.8 | 1979 | 700 |
NVIDIA GH200 Superchip 96GB | 4 | 1979 | 1000* |
NVIDIA GH200 Superchip 144GB | 4.9 | 1979 | 1000* |
NVIDIA B200-SXM-180GB | 8 | 4500 | 1000 |
注:GH200 Superchip的1000W功耗中,还包含了72核Arm CPU,GPU部分大约也是700W左右吧。
只好再看看GPU内存带宽之外的规格参数了。上表中我还列出了每款GPU的标称FP8浮点算力,以及TDP功耗。
H100-SXM、H200-SXM和GH200的计算性能是一样的,前面我们看到,它们的测试表现主要受显存带宽影响。PCIe接口的H100,受限于350-400W的功耗,FP8算力要低一些。H100的PCIe介面是PCIe 5.0 x16;而L40S则是PCIe 4.0 x16(还要跨4卡tensor parallelism),推理效率再低一些也是可以理解的。
根据L40S的表现,您是否也能大致推算出NVIDIA RTX 6000/5880 Ada,以及GeForce RTX 4090 (D)的推理性能?还记得我去年讨论“GPU禁令限制计算 & NVIDIA A800/H800/L40等替代分析” 时总结的表格吗?当然4090的显存只有24GB。像AMD MI300这样把显存做大还是有意义的,比如实际跑130B左右模型的8bit量化推理,加上KV Cache占用单卡14x GB显存就不见得能放下了。
上面为网传图片,仅供参考
这里我想低调提一下H20,由于显存带宽和卡间互连不在禁售的限制中,所以有人说它的推理性能与H100和H800没有明显差距。类似情况应该还有AMD MI308X。
本文中没有讨论训练,及其相关的多卡互连效率——这个因素在AI大模型训练应用中的影响应该更明显。
在本月初的文章中,我曾列出过HGX H20-SXM(H100/200外观形态一样的)以及MI300X-OAM的8 CPU模组照片。上图是AMD Instinct MI325X平台。
关于AMD,一方面我看到MI300X在700-750W的功率水平上,提供了更高的显存带宽和算力指标。但今天似乎还没完全充分发挥出来?估计是ROCm等软件生态上与NVIDIA还有一定差距。所以留给AMD的任务不只是加强GPU的硬件能力——之前公布的roadmap中,2025年将推出MI350系列(包括MI355X),2026年是MI400系列…
根据AMD列出的数字,从ROCm版本6.0到6.2,AI推理性能已经有很大提高。我也期待看到ROCm 6.2以及更新版本的实测表现。
好文章,需要你的鼓励
当今世界改变的速度已与过去不同,每当文明经历一个颠覆性的技术革命,都给这个世界带来了深刻的变化。 ——《世界是平的》
OpenAI 的 ChatGPT 爬虫存在安全漏洞,可被利用对任意网站发起分布式拒绝服务攻击。攻击者只需向 ChatGPT API 发送一个包含大量重复 URL 的请求,就能触发爬虫对目标网站进行大量访问。此外,该漏洞还可能被用于绕过限制,让爬虫回答查询。这些问题凸显了 AI 系统在安全性方面的潜在风险。
三星即将发布的Galaxy S25 Ultra旗舰手机将带来多项升级,尤其是相机方面。据泄露信息显示,新机将支持高分辨率视频拍摄、超广角微距模式、AI音频擦除等功能,并集成Google Gemini AI助手。这些升级将大幅提升用户体验,令人期待。