混元模型量化#
混元模型主要采用 FP8、Int4-GPTQ、Int4-AWQ 三种方案进行模型压缩
FP8量化#
FP8 量化采用 8 位浮点格式,通过少量校准数据(无需训练)预先确定全局缩放因子,将模型权重与激活值永久转换为FP8格式,提升推理效率并降低部署门槛。
您可以量化AngelSlim/configs/hunyuan下面带有fp8字段的模型类型,你也可以直接下载我们量化完成的开源模型使用:Hunyuan
配置#
FP8 confg.yaml文件参数配置,您可以参考config/hunyuan/fp8_static路径下的文件,下面是参数信息介绍。
name:压缩策略,选填量化quantization。quantization.name:压缩算法选填fp8_static。quantization.bits:量化比特数,目前支持8bit。quantization.quant_method:主要指定权重的量化粒度,FP8为per-tensor。quantization.ignore_layers:指定模型中不需要量化的层。
FP8量化#
您可以通过下面代码启动 FP8 量化流程
python3 tools/run.py -c configs/hunyuan/fp8_static/hunyuan_a13b_fp8_static.yaml
部署#
要使用 vLLM 运行 FP8 模型,您可以修改AngelSlim/scripts/deploy/run_vllm.sh中的MODEL_PATH字段后通过以下命令使用:
cd AngelSlim/scripts/deploy
sh run_vllm.sh
GPTQ量化#
Int4-GPTQ 算法实现 Int4-weight-only 量化,该算法逐层处理模型权重,利用少量校准数据最小化量化后的权重重构误差,通过近似Hessian逆矩阵的优化过程逐层调整权重。流程无需重新训练模型,仅需少量校准数据即可量化权重,提升推理效率并降低部署门槛。
您可以量化AngelSlim/configs/hunyuan下面带有gptq字段的模型类型,你也可以直接下载我们量化完成的开源模型使用:Hunyuan
配置#
GPTQ confg.yaml文件参数配置,您可以参考config/hunyuan/int4_gptq路径下的文件,下面是参数信息介绍。
name:压缩策略,选填量化quantization。quantization.name:压缩算法选填int4_gptq。quantization.bits:量化比特数,目前支持4bit和8bit。quantization.quant_method:主要指定权重的量化粒度,GPTQ为per-group。quantization.quant_method.group_size:对整个权重矩阵量化时的每一组group的大小,通常为128和64。quantization.ignore_layers:指定模型中不需要量化的层。
INT4-GPTQ量化#
您可以通过下面代码启动 GPTQ 量化流程
python3 tools/run.py -c configs/hunyuan/int4_gptq/hunyuan_a13b_int4_gptq.yaml
部署#
要使用 vLLM 运行 GPTQ 模型,您可以修改AngelSlim/scripts/deploy/run_vllm.sh中的MODEL_PATH字段后通过以下命令使用:
cd AngelSlim/scripts/deploy
sh run_vllm.sh
AWQ量化#
Int4-AWQ 算法实现 Int4-weight-only 量化,算法通过少量校准数据(无需训练)统计激活值的幅度,对每个权重通道计算一个缩放系数s,放大重要权重的数值范围,使其在量化时保留更多信息。流程无需重新训练模型,仅需少量校准数据即可确定缩放系数,适合快速部署。
您可以量化AngelSlim/configs下面带有awq字段的模型类型,你也可以直接下载我们量化完成的开源模型使用:Hunyuan
配置#
AWQ confg.yaml文件参数配置,您可以参考config/hunyuan/int4_awq路径下的文件,下面是参数信息介绍。
name:压缩策略,选填量化quantization。quantization.name:压缩算法选填int4_awq。quantization.bits:量化比特数,目前支持4bit和8bit。quantization.quant_method:主要指定权重和激活的量化粒度,AWQ为per-group等。quantization.quant_method.group_size:对整个权重矩阵量化时的每一组的channel的大小,通常为128和64。quantization.quant_method.zero_point:是否使用非对称量化,推荐设置true开启。quantization.quant_method.mse_range:是否开启AWQ中的自动clip权重功能,推荐设置false。
INT4-AWQ量化#
您可以通过下面代码启动 AWQ 量化流程
python3 tools/run.py -c configs/hunyuan/int4_awq/hunyuan_a13b_int4_awq.yaml
部署#
要使用 vLLM 运行 AWQ 模型,您可以修改AngelSlim/scripts/deploy/run_vllm.sh中的MODEL_PATH字段后通过以下命令使用:
cd AngelSlim/scripts/deploy
sh run_vllm.sh