1. 引言
随着大模型的火热,越来越多的人希望可以购买一个硬件进行大模型的推理,特别是在3090和4090显卡的对比上,需求比较大。目前已有的显卡对比,大多面向于高端的A/H100或者800系列的对比和分析,如图所示。
项目 | A100 | H100 | L40S | H200 |
---|---|---|---|---|
架构 | Ampere | Hopper | Ada Lovelace | Hopper |
发布时间 | 2020 | 2022 | 2023 | 2024 |
FP64 | 9.7 TFLOPS | 34 TFLOPS | 暂无 | 34 TFLOPS |
FP32 | 19.5 TFLOPS | 67 TFLOPS | 91.6 TFLOPS | 67 TFLOPS |
FP64 向量核心 | 19.5 TFLOPS | 67 TFLOPS | 暂无 | 67 TFLOPS |
TF32 向量核心 | 312 TFLOPS | 989 TFLOPS | 183 TFLOPS | 366* TFLOPS |
BFLOAT16 向量核心 | 624 TFLOPS | 1,979 TFLOPS | 362.05 TFLOPS | 733* TFLOPS |
FP16 向量核心 | 624 TFLOPS | 1,979 TFLOPS | 362.05 TFLOPS | 733* TFLOPS |
FP8 向量核心 | 不适用 | 3,958 TFLOPS | 733 TFLOPS | 1,466* TFLOPS |
INT8 向量核心 | 1248 TOPS | 3,958 TOPS | 733 TFLOPS | 1,466* TFLOPS |
INT4 向量核心 | 暂无 | 暂无 | 733 TFLOPS | 1,466* TFLOPS |
GPU 内存 | 80 GB HBM2e | 80 GB | 48GB GDDR6,带有 ECC | 141GB HBM3e |
GPU 内存带宽 | 2,039 Gbps | 3.35 Tbps | 864 Gbps | 4.8 Tbps |
解码器 | Not applicable | 7 NVDEC, 7 JPEG | Not applicable | 7 NVDEC, 7 JPEG |
但是,对于消费级的显卡的计算能力的参数对比还比较少,更多的是对比游戏或者跑分的。由于工作需要,特地辗转了多方网站,整理了3090和4090的性能参数对比图,附带A100的参数用于衔接。
属性 | RTX 4090 | RTX 3090 | A100 (SMX4-80G) |
---|---|---|---|
GPU架构 | AD102 (Ada Lovelace) | GA102 (Ampere) | GA100(Ampere) |
GPCs (Graphics Processing Clusters) | 11 | 7 | 7 |
TPCs (Texture Processing Clusters) | 64 | 14 | 54 |
SMs (Streaming Multiprocessors) | 128 | 82 | 108 |
FP32 CUDA Cores | 16384 | 10496 | 6912 |
INT32 CUDA Cores | 8192 | 5248 | 6912 |
Tensor Cores | 512 | 328 | 432 |
RT Cores | 128 | 82 | N/A |
Geometry Units | 64 | 41 | N/A |
TMUs (Texture Units) | 512 | 328 | 432 |
ROPs (Raster Operation Units) | 176 | 112 | 160 |
INT4 (TOPS) | 1321.2/2642.4 | 568/1136 | 1248/2496 |
INT8 (TOPS) | 660.6/1321.2 | 284/568 | 624/1248 |
INT32 (TIPS) | 41.3 | 17.8 | 19.5 |
BF16 (TFLOPS) | 82.6 | 35.6 | 39 |
FP16 (TFLOPS) | 82.6 | 35.6 | 78 |
FP32 (TFLOPS) | 82.6 | 35.6 | 19.5 |
FP64 (TFLOPS) | 1.3 | 0.56 | 9.7 |
Tensor Core FP8 (TFLOPS) | 660.6/1321.2 | N/A | N/A |
Tensor Core FP16 (TFLOPS) | 330/660 | 142/284 | 312/624 |
Tensor Core TF32 (TFLOPS) | 82.6/165.2 | 35.6/71 | 156/312 |
从表中可以看出,在目前最常用的FP16上,4090和A100是一样的。也就是说,如果只是部署一个7B的模型,并且开了FP16,那么两者的推理速度应该是大致相同的。另外,如果开的是BF16的话4090还可以更胜一筹,但是BF16这种新的半精度表示,需要新显卡才能只支持,最低需要30系列,20系列以下的显卡就无缘了。关于PF16和BF16的差异如图所示,简单来说BF16和FP32具有相同的整数位,但是小数位精度差了一半,但是在LLM时代,大量的exp操作会导致范围比精度更重要。具体可以参见《为什么很多新发布的LLM模型默认不用float16呢?》。
参考文献
[1] https://developer.aliyun.com/article/1396336
[2] https://zh.wikipedia.org/wiki/NVIDIA_GeForce_30%E7%B3%BB%E5%88%97