目录
-
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
倍