大语言模型的算力之源:解密LLM与GPU的关系 - 从显存需求到性能评估

AI硬件选型指南:如何为您的LLM模型匹配最佳GPU配置 - 从Meta到Apple

突破算力瓶颈:LLM模型规模与GPU性能的完美平衡 - 从并发到token生成速度

一、     Model size

最新发布的Llama 3.1来举例,从meta的规模选择来看,最新一代的模型分布在三个量级,分别对应不同的用途:

Model

Model size

Tensor type

备注

meta-llama/Meta-Llama-3.1-8B

8B

BF16

轻量级

meta-llama/Meta-Llama-3.1-70B

70B

BF16

实用级,性能和消耗的平衡

meta-llama/Meta-Llama-3.1-405B

405B

BF16/FP8

旗舰级

对移动端而言,普遍在1B以下,此处参考apple的开源Instruct models,Tensor type为BF16,最大的版本为3B,以应对不同的硬件规格:

二、     Tensor type

Tensor type类别很多:FP64/FP32/FP16/BF16/TF32/INIT8/INIT4。但就实际而言,hugging face上开源模型Tensor type普遍是BF16。量化层面在用的有FP8/INIT8(如meta的guard类模型)。

因此从商用估算的角度来说,只需要考虑BF16和FP8两种精度可以满足使用需求。具体Tensor type的数据结构及差异,此处不再赘述。总结而言:

l  BF16(Brain Floating Point 16):占用2字节(16位)。

l  FP8(8-bit Floating Point):占用1字节(8位)。

三、     估算显存需求

我们首先计算1B在不同Tensor type下的显存基础需求,实际配置时,需要冗余出实际计算所需的显存。大致可以按照1B对应2GB(BF16)/1GB(FP8)的显存去做估算。

Tensor type

Model size

计算过程

显存的需求

BF16

1B

1000000000*2/1024/1024/1024

1.86 GB

FP8

1B

1000000000/1024/1024/1024

0.93 GB

按照上边的结果可以进一步测算模型用量:

Model

Model size

Tensor type

显存的需求

meta-llama/Meta-Llama-3.1-8B

8B

BF16

14.88GB

meta-llama/Meta-Llama-3.1-70B

70B

BF16

130.2GB

meta-llama/Meta-Llama-3.1-405B

405B

BF16/FP8

753.3GB/376.65GB

关于显存的计算hugging face还做了一个计算页面:hugging face Model Memory Calculator

四、     性能及并发

调研了一下目前阿里云及腾讯云上可以选择到的GPU:

架构

型号及显存

2016-Pascal

P4 (8GB GDDR5)
P40 (24GB GDDR5)
P100 (16GB HBM2 或 12GB HBM2)

2017-Volta

V100 (16GB HBM2 或 32GB HBM2)

2018-Turing

T4 (16GB GDDR6)

2020-Ampere

A10 (24GB GDDR6)

A30(24GB HBM2)
A100 (40GB HBM2 或 80GB HBM2)

2022-Hopper

/

2024-Blackwell

/

对于中国大陆而言,目前能够拿到的最好的GPU应该就是A系列了,下边的并发基于A系进行测算。

参考百度Comate模型的数据:其comate模型可运行单张在A30/A100的上(估计模型的规模在10B量级)。百度给出的测算结果为单卡支撑的用户为120人。

注:这部分的数据可以参考本文第六部分做换算。百度的测算依据来自于10B量级的模型,PCIe版本的GPU。

目前用于AI计算的GPU的接口存在PCIe及SXM两种。前者更有可能搭载DDR类型的内存,后者搭载HBM内存。最终的TFLOPS的理论值会产生变化。

例如A100 PCIe VS SXM 官方的性能对比:A100 datasheet

五、     案例说明

1000人并发的8B模型需要的资源情况测算?可以采购到GPU为A100(40GB HBM2)。

并发人数(单位个):1000

模型规模(单位B):8

显卡显存(单位GB):40

一套模型启动需要的显卡数量= 8*1.86/40≈0.372,因此需要1张显卡。

显卡的总需求数=1000/120*1≈8.33,因此需要9张显卡。

建议采购/租赁方案:2台8-GPU 服务器:2台服务器 (9/8 = 1.125,向上取整到 2),多余的部分用于未来扩展。

同时预留搭配模型使用的前后端项目、中间件的服务器需求即可,一般而言10台虚拟机以内可以满足需求。

六、     关于token生成速度的整理

Nvidia官方对于A100及H100的推理性能做了完整的测试(基于llama2),并形成了报告。其报告由聊天及翻译两个场景组成。A100及H00推理性能详细数据。基于上述的图表,我们可以对于实际的需求做更加精准的估算。

观察Nvidia官方对于不同大小模型所需的GPU数量,可以印证本文对于更大模型运行数量的估算是比较科学的。

最终从官方的数据来看,7B的模型(llama2)在一个GPU的情况下,Average Throughput [sentences/s]为24.3,延时为329.5ms。70B的模型在2个GPU的情况下,Average Throughput [sentences/s]仅为5.3,延时达到了1520.3ms

 以下是 NVIDIA 自 2006 年起推出的 GPU 架构,以及对应人物的中文名和主要贡献:

Tesla (2006) - 尼古拉·特斯拉 (Nikola Tesla)
Fermi (2010) - 恩里科·费米 (Enrico Fermi)
Kepler (2012) - 约翰内斯·开普勒 (Johannes Kepler)
Maxwell (2014) - 詹姆斯·克拉克·麦克斯韦 (James Clerk Maxwell)
Pascal (2016) - 布莱兹·帕斯卡 (Blaise Pascal)
Volta (2017) - 亚历山德罗·伏特 (Alessandro Volta)
Turing (2018) - 艾伦·图灵 (Alan Turing)
Ampere (2020) - 安德烈-玛丽·安培 (André-Marie Ampère)
Hopper (2022) - 格蕾丝·霍珀 (Grace Hopper)
Blackwell (2024) - 大卫·布莱克韦尔 (David Blackwell)

从英伟达最新的发布会,以及相关的数据来看:
A100 → H100: H100 的 FP16、TF32 和 FP64 性能均为 A100 的 3 倍。
H100 → B200: B200 单芯片 AI 性能达到 20 PetaFLOPS,是 H100 的 4 倍;AI 推理性能提升了 30 倍。相同 AI 训练任务,B200 所需的 GPU 数量和功耗都远低于 H100。

供各位领导参考。