4.5. 量化¶
功能介绍¶
vLLM-gcu中,支持如下量化算法:
- GPTQ 
- AWQ 
- INT8 (W8A8) 
- INT8 (W8A16) 
- INT8 KVCache 
注:
- 对于4bit per group量化方法(GPTQ和AWQ),支持group size是64或64的整数倍。 
- 对于GPTQ量化方法,当前暂不支持g_idx是乱序情况。 
- INT8 (W8A8)量化方法当前支持权重为per-channel粒度,激活为per-tensor粒度。 
- INT8 KVCache可以与其他量化方法正交使用。 
- 对于原生vllm支持的squeezellm,gptq_marlin,fp8等方法gcu暂不支持。 
量化过程¶
可以参考《TopsCompressor用户使用手册》进行模型量化及导出。
使用方法¶
以vllm_utils.benchmark_test为例:
python3 -m vllm_utils.benchmark_test \
 --model=[path of quantized model] \
 --demo=te \
 --dtype=float16 \
 --quantization=[quantization method] \
 --output-len=256
注:
- model参数指定量化模型checkpoint本地地址;
- quantization参数为对应量化方法,可以如下字段:- gptq,- awq,- w8a16,- w8a8。
对于包含INT8 KVCache量化模型:
python3 -m vllm_utils.benchmark_test \
    --demo='te' \
    --model=[path of quantized model] \
    --tokenizer=[path of model tokenizer] \
    --output-len=128 \
    --device=gcu \
    --dtype=float16 \
    --quantization=[quantization method] \
    --quantization-param-path=[path of int8_kv_cache.json] \
    --kv-cache-dtype=int8
注:
- model参数指定量化模型checkpoint本地地址;
- quantization参数为对应量化方法,可以如下字段:- gptq,- awq,- w8a16,- w8a8;
- quantization-param-path参数指定量化模型int8 kvcache参数文件地址;
- kv-cache-dtype参数指定int8。