更新时间:2024-09-14 GMT+08:00
分享

使用AWQ量化工具转换权重

AWQ(W4A16/W8A16)量化方案能显著降低模型显存以及需要部署的卡数。降低小batch下的增量推理时延。支持AWQ量化的模型列表请参见表1

本章节介绍如何在Notebook使用AWQ量化工具实现推理量化。

量化方法:W4A16 per-group/per-channel, W8A16 per-channel

Step1 模型量化

可以在Huggingface开源社区获取AWQ量化后的模型权重;或者获取FP16/BF16的模型权重之后,通过autoAWQ工具进行量化。

方式一:从开源社区下载发布的AWQ量化模型。

https://huggingface.co/models?sort=trending&search=QWEN+AWQ

方式二:使用AutoAWQ量化工具进行量化。

1、在容器中使用ma-user用户运行以下命令下载并安装AutoAWQ源码。

bash build.sh
2、运行“examples/quantize.py”文件进行模型量化,量化时间和模型大小有关,预计30分钟~3小时。
pip install transformers==4.41.0 # AutoAWQ未适配transformers 4.42以上
python examples/quantize.py --model-path /home/ma-user/llama-2-7b/ --quant-path /home/ma-user/llama-2-7b-awq/ --calib-data /home/ma-user/mit-han-lab/pile-val-backup --group-size 128 --w-bit 4

参数说明:

  • --model-path:原始模型权重路径。
  • --quan-path:转换后权重保存路径。
  • --group-size:量化group size参数,指定-1时为per-channel权重量化,W4A16支持128和-1,W8A16支持-1。
  • --w-bit:量化比特数,W4A16设置4,W8A16设置8。
  • --calib-data:数据集路径,推荐使用:https://huggingface.co/datasets/mit-han-lab/pile-val-backup,注意需指定到val.jsonl的上一级目录。

    详细说明可以参考vLLM官网:https://docs.vllm.ai/en/latest/quantization/auto_awq.html

Step2 启动AWQ量化服务

参考Step3 启动推理服务,在启动服务时添加如下命令。

 --q awq 或者--quantization awq

相关文档