正文
;而
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
的性能差距依次都比较大。其原因我在下文中会具体分析。