1 不同参数量LLM推理需要多少显存?
2 Batch Size,量化对所需显存有什么影响?
要点:
- BatchSize增加,显存占用也会增加。
- 量化可以节省显存:通过下表中的数据可以看到,6B模型在float16时占用12G显存,8bit量化占用7G,4bit量化只需要4G显存。
3 上下文长度对所需显存和推理速度的影响有多大?
- 上下文越长,推理速度就会越慢 (0-6K前的输入速度差不多)
- 显存占用也会跟着增加。
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. 参数量对推理速度的影响?
反直觉: 0.5B推理速度仅仅只快了4倍
6 vLLM,DeepSeed,CTranslate2等工具推理速度如何?
- 与Transformers相比,使用vLLM,DeepSeed等工具加速,推理速度可以提升2到5倍。
- DeepSeed, vLLM, Ctranslate2 三个加速工具中 CTranslate2 的表现更好,尤其是batch size为1时。
个人建议:
vllm最方便使用 适合操作
7 量化对模型性能的影响如何?
Int8量化模型性能与float16格式差别不大
Int4量化模型与float16模型相比,精度损失在 1 - 2 个百分点左右。(Yi模型与Baichuan2模型有类似的结论)
8 常见LLM用GPU参考
参考资料
http://www.wcpdoc.com/webdoc/view/Pub2c94830b8ff1a26a0190456d28f50961.html