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

  • 要运行一个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<5GQwen2-0.5B-Instruct
1.5B<3GQwen-1_8B-Chat, Qwen2-1.5B-Instruct
6B4GYi-6B-Chat-4bits
7B<11GQwen2-7B-Instruct,Qwen-7B-Chat-Int4
14B13GQwen-14B-Chat-Int4
34B20GYi-34B-Chat-4bits
57B<35GQwen2-57B-A14B-Instruct
72B<47GQwen2-72B-Instruct
130B-8 * RTX 2080 Ti(11G) 4 * RTX 3090(24G)GLM-130B
236B130G8xA100(80G)DeepSeek-V2-Chat

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

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

模型(int8)所需显存 (GB)推荐GPU参考模型
0.5B6GQwen2-0.5B-Instruct
1.5B8GQwen2-1.5B-Instruct
6B8GYi-6B-Chat-8bits
7B14GQwen2-7B-Instruct
14B27GQwen-14B-Chat-Int8
34B38GYi-34B-Chat-8bits
57B117G (bf16)Qwen2-57B-A14B-Instruct
72B80GQwen2-72B-Instruct
130B-8xRTX3090 (24G)GLM-130B
236B490G (fb16)8xA100 (80G)DeepSeek-V2-Chat
340B-16xA100(80G) 16xH100(80G) 8xH200Nemotron-4-340B-Instruct

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

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

模型(fb16)所需显存 (GB)推荐GPU参考模型
0.5B27GQwen2-0.5B-Instruct
1.5B30GQwen2-1.5B-Instruct
6B20GYi-6B-200K
7B43GQwen2-7B-Instruct
14B39G (8k)Qwen-14B-Chat
34B200G (200k)4 x A800 (80G)Yi-34B-200K
57B117GQwen2-57B-A14B-Instruct
72B209GQwen2-72B-Instruct

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

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

要点:

  • Batch Size增加,显存占用也会增加。
  • 量化可以节省显存:通过下表中的数据可以看到,6B模型在float16时占用12G显存,8bit量化占用7G,4bit量化只需要4G显存。
Modelbatch=1batch=4batch=16batch=32
Yi-6B-Chat12 GB13 GB15 GB18 GB
Yi-6B-Chat-8bits7 GB8 GB10 GB14 GB
Yi-6B-Chat-4bits4 GB5 GB7 GB10 GB
Yi-34B-Chat65 GB68 GB76 GB>80 GB
Yi-34B-Chat-8bits35 GB37 GB46 GB58 GB
Yi-34B-Chat-4bits19 GB20 GB30 GB40 GB

数据来源:Yi-6B-Chat

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

要点:

  • 上下文越长,推理速度越慢。
  • 显存占用也会增加。
输入长度(上下文)推理速度 (Tokens/s)GPU占用
137.9714.92
614434.7420.26
1433626.6327.71
3072017.4942.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.5B1.5B7B72B
Transformers50.8340.8634.745.99
vLLM256.16166.2376.4127.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显存
H200141GB
H100, H80080GB
A100, A80080GB
A10040GB
V10032GB
RTXA600048GB
RTX4090, RTX3090, A10, A3024GB
RTX407012GB
RTX30708GB

参考资料

  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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部