1661  
查询码: 00000829
LLM基础资料整理:推理所需显存与速度
作者: 系统管理员1 于 2024年06月23日 发布在分类 / 配置安装 / AI / LLM ,于 2024年06月23日 编辑


LLM基础资料整理:推理所需显存与速度

通过此文你可以了解以下几个方面的内容:

  • 要运行一个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 (80 GB) Yi-34B-200K
57B 117G
Qwen2-57B-A14B-Instruct
72B 209G
Qwen2-72B-Instruct

2 Batch Size,量化对所需显存有什么影响?

要点:

  • BatchSize增加,显存占用也会增加。
  • 量化可以节省显存:通过下表中的数据可以看到,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

数据来源:https://huggingface.co/01-ai/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),量化版本推理速度变慢

    详细结果请访问:https://qwen.readthedocs.io/en/latest/benchmark/speed_benchmark.html

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时。

    粘贴图片
    图片来源于参考资料 [9]:生成速度测定使用了同一个问题的生成所用时间(感觉方法不太合理,与常用的 tokens/s 不太一样,但是从结果来看,与Qwen2中给出的结果比较一致)。

7 量化对模型性能的影响如何?

8 常见LLM用GPU参考

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


 历史版本

备注 修改日期 修改人
创建版本 2024-06-23 22:08:20[当前版本] 系统管理员1

 附件

附件类型

PNGPNG

  目录
    wcp知识库系统-京ICP备15024440号-1 -V 5.2.0 -wcp