当前位置:   article > 正文

【LLM之基座】qwen 14b-4int 部署踩坑_qwen14b需要显存

qwen14b需要显存

由于卡只有24G,qwen14b 原生需要 30GB,按照官方团队的说法,他们用的量化方案是基于AutoGPTQ的,而且根据评测,量化之后的模型效果在几乎没有损失的情况下,显存降低到13GB,妥妥穷狗福音,说干就干。

下载模型

现在huggingface只能通过科学的方式访问,而且如果一个个手动下载hin麻烦,还好阿里的魔搭做的不错,上面也有很多开源的中文模型,所以更推荐使用魔搭进行下载,速度杠杠的,最高可以达到73.6MB/s,等个几分钟就下完了:

pip install modelscope
  • 1
from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('qwen/Qwen-14B-Chat-Int4', 
                              cache_dir='model', 
                              revision='master')
  • 1
  • 2
  • 3
  • 4

请添加图片描述

安装依赖包

比起原生的14b模型,这里需要安装相应的量化包auto-gptqoptimum,这两包安装不麻烦,但要版本对,不然就会报很多奇奇怪怪的错误,笔者在安装过程中就碰到过如下报错:

ModuleNotFoundError: No module named 'optimum.gptq'
exllama_kernels not installed.
  • 1
  • 2

其实就是包的版本要套上,笔者最终实验成功的版本答案如下:

torch                          2.0.1+cu117
auto-gptq                      0.4.2
transformers                   4.33.3
optimum                        1.12.0
  • 1
  • 2
  • 3
  • 4

如果想要推理更快一点,也可以安装flash_attn,不过这个安装也有挺多坑的,要看cuda驱动,torch版本,用pip安装容易报错,推荐直接去安装预编译的whl包,地址在GitHub上:https://github.com/Dao-AILab/flash-attention/releases

不过装完之后,还是报了个找不到包的警告,说明我们还没有完全安装成功:

import flash_attn rotary fail
import flash_attn rms_norm fail
  • 1
  • 2

去git上把源码clone下来,然后去对应的文件下安装好,这个编译过程有点长,特别是安装layer_norm的时候,笔者卡了大概个把小时,看issue上说cuda118会快很多,笔者环境是cuda117,真的3Q了,可以先去喝杯咖啡:

cd rotary/
pip install .

cd layer_norm
pip install .
  • 1
  • 2
  • 3
  • 4
  • 5

请添加图片描述

成功安装之后,大概可以将推理速度缩短到原来的1/3,所以有耐心的还是推荐去安装一下。

推理

from transformers import AutoModelForCausalLM, AutoTokenizer

model_dir = "model/qwen/Qwen-14B-Chat-Int4"
# Note: The default behavior now has injection attack prevention off.
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained(
    model_dir,
    device_map="auto",
    trust_remote_code=True
).eval()

response, history = model.chat(tokenizer, "你是谁", history=None)
print(response)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

请添加图片描述

以上,就搞定Qwen-14B-Chat-Int4的推理部署了。

flash_attn 未生效前:
请添加图片描述
flash_attn 生效后:
请添加图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/495236
推荐阅读
相关标签
  

闽ICP备14008679号