问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

大语言模型LLM基础:推理/不同模型/量化对显存、推理速度和性能的影响

创作时间:
作者:
@小白创作中心

大语言模型LLM基础:推理/不同模型/量化对显存、推理速度和性能的影响

引用
CSDN
1.
https://m.blog.csdn.net/weixin_45498383/article/details/140058934

通过本文,你将了解以下几个方面的内容:

  • 要运行一个LLM需要多少显存?(我的GPU可以运行多大LLM?)
  • 不同LLM推理速度如何?
  • 量化对显存、推理速度和性能的影响?
  • vLLM、DeepSeed等工具的加速效果如何?
  • 上下文、batch-size对显存和推理的影响?

本文内容和测试数据主要来自Qwen,零一万物,Nvidia等官方材料(相关文档请查看参考资料部分)。

1. 不同参数量LLM推理需要多少显存?

实验设置:batch-size = 1
部分模型只推荐GPU,没有显存数据。

1.1 低配使用(计算资源有限)

Int4量化,约2K上下文

模型(int4)
所需显存 (GB)
推荐GPU
参考模型
0.5B
<5G
Qwen2-0.5B-Instruct
1.5B
<3G
Qwen-1_8B-Chat, Qwen2-1.5B-Instruct
6B
4G
Yi-6B-Chat-4bits
7B
<11G
Qwen2-7B-Instruct,Qwen-7B-Chat-Int4
14B
13G
Qwen-14B-Chat-Int4
34B
20G
Yi-34B-Chat-4bits
57B
<35G
Qwen2-57B-A14B-Instruct
72B
<47G
Qwen2-72B-Instruct
130B
-
8 * RTX 2080 Ti(11G) 4 * RTX 3090(24G)
GLM-130B
236B
130G
8xA100(80G)
DeepSeek-V2-Chat

1.2 标配使用(性能与资源平衡)

Int8量化,4K、6K上下文

模型(int8)
所需显存 (GB)
推荐GPU
参考模型
0.5B
6G
Qwen2-0.5B-Instruct
1.5B
8G
Qwen2-1.5B-Instruct
6B
8G
Yi-6B-Chat-8bits
7B
14G
Qwen2-7B-Instruct
14B
27G
Qwen-14B-Chat-Int8
34B
38G
Yi-34B-Chat-8bits
57B
117G (bf16)
Qwen2-57B-A14B-Instruct
72B
80G
Qwen2-72B-Instruct
130B
-
8xRTX3090 (24G)
GLM-130B
236B
490G (fb16)
8xA100 (80G)
DeepSeek-V2-Chat
340B
-
16xA100(80G) 16xH100(80G) 8xH200
Nemotron-4-340B-Instruct

1.3 高配使用(高级用法,性能优先)

性能优先,不量化,数据格式FB16,32K上下文

模型(fb16)
所需显存 (GB)
推荐GPU
参考模型
0.5B
27G
Qwen2-0.5B-Instruct
1.5B
30G
Qwen2-1.5B-Instruct
6B
20G
Yi-6B-200K
7B
43G
Qwen2-7B-Instruct
14B
39G (8k)
Qwen-14B-Chat
34B
200G (200k)
4 x A800 (80G)
Yi-34B-200K
57B
117G
Qwen2-57B-A14B-Instruct
72B
209G
Qwen2-72B-Instruct

若以上内容无法帮助你做出判断,你可以参考Qwen官网更详细的数据:Qwen速度基准

2. Batch Size和量化对显存的影响

要点:

  • Batch Size增加,显存占用也会增加。
  • 量化可以节省显存:通过下表中的数据可以看到,6B模型在float16时占用12G显存,8bit量化占用7G,4bit量化只需要4G显存。
Model
batch=1
batch=4
batch=16
batch=32
Yi-6B-Chat
12 GB
13 GB
15 GB
18 GB
Yi-6B-Chat-8bits
7 GB
8 GB
10 GB
14 GB
Yi-6B-Chat-4bits
4 GB
5 GB
7 GB
10 GB
Yi-34B-Chat
65 GB
68 GB
76 GB
>80 GB
Yi-34B-Chat-8bits
35 GB
37 GB
46 GB
58 GB
Yi-34B-Chat-4bits
19 GB
20 GB
30 GB
40 GB

数据来源:Yi-6B-Chat

3. 上下文长度对显存和推理速度的影响

要点:

  • 上下文越长,推理速度越慢。
  • 显存占用也会增加。
输入长度(上下文)
推理速度 (Tokens/s)
GPU占用
1
37.97
14.92
6144
34.74
20.26
14336
26.63
27.71
30720
17.49
42.62

数据整理自Qwen2官方测试报告。

4. 量化对推理速度的影响

要点:

  • 量化后推理速度会变慢或持平。
  • 当量化影响到GPU使用量时,例如从多张GPU降低到单GPU,推理速度会明显变快。

Qwen2模型的测试结果如下:

  • Qwen2-0.5B模型:量化模型速度变慢。
  • Qwen2-1.5B模型:量化与fb16相比速度持平。
  • Qwen2-7B模型:稍微变慢,使用vLLM时,量化版本更快。
  • Qwen2-72B模型:速度变快(尤其是Int4量化后,从2GPU变为1GPU后推理速度明显变快),但使用长context时(120k),量化版本推理速度变慢。

详细结果请访问:Qwen速度基准

5. 参数量对推理速度的影响

单位:tokens/s

推理工具
0.5B
1.5B
7B
72B
Transformers
50.83
40.86
34.74
5.99
vLLM
256.16
166.23
76.41
27.98
vLLM 速度提升倍数
5.04倍
4.07倍
2.20倍
4.67倍

模型:Qwen2系列,上下文6K,FB16模型

6. vLLM、DeepSeed、CTranslate2等工具推理速度如何?

  • 与Transformers相比,使用vLLM、DeepSeed等工具加速,推理速度可以提升2到5倍。
  • DeepSeed、vLLM、CTranslate2三个加速工具中,CTranslate2的表现更好,尤其是batch size为1时。

7. 量化对模型性能的影响

  • Int8量化模型性能与float16格式差别不大。量化文档
  • Int4量化模型与float16模型相比,精度损失在1-2个百分点左右。(Yi模型与Baichuan2模型有类似结论)Baichuan2

8. 常见LLM用GPU参考

GPU
显存
H200
141GB
H100, H800
80GB
A100, A800
80GB
A100
40GB
V100
32GB
RTXA6000
48GB
RTX4090, RTX3090, A10, A30
24GB
RTX4070
12GB
RTX3070
8GB

参考资料

  1. Qwen速度基准
  2. Qwen-1_8B-Chat
  3. Qwen-7B-Chat-Int8
  4. Qwen-14B-Chat-Int8
  5. Yi-6B-Chat
  6. GLM-130B量化
  7. Nemotron-4-340B-Instruct
  8. DeepSeek-V2-Chat
  9. Zenn文章
  10. Baichuan2
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号