模型量化
模型量化是一种模型压缩技术,它通过减少模型权重、激活的数值、表示的精度来降低模型的存储和计算需求。量化工具通常会将高位浮点数转换为低位定点数,从而直接减少模型权重的体积。
模型量化工具的输入为能够正常运行的模型和数据,输出为一个可以使用的量化权重和量化因子。
前提条件
操作步骤
- 下载Llama-3.1-8B-Instruct权重和模型文件至本地,如图1所示,单击下载。
- 执行以下命令,进入Llama目录。
cd ${HOME}/msit/msmodelslim/example/Llama
其中HOME为用户自定义安装msit的路径。
- 执行量化脚本,生成量化权重文件,并存入自定义存储路径中。示例命令为W8A16量化命令。
python3 quant_llama.py --model_path ${model_path} --save_directory ${save_directory} --device_type npu --w_bit 8 --a_bit 16
其中--model_path为已下载的模型文件所在路径;--save_directory为生成的量化权重文件的存储路径。其它模型文件量化案例可参见LLAMA 量化案例。
- 量化完成后,结果图2所示,safetensors文件大小由15.1G压缩至8.5G。
- 生成的w8a16量化权重文件如下所示。
├── config.json #配置文件 ├── generation_config.json #配置文件 ├── quant_model_description_w8a16.json #w8a16量化后的权重描述文件 ├── quant_model_weight_w8a16.safetensors #w8a16量化后的权重文件 ├── tokenizer.json #模型文件的tokenizer ├── tokenizer_config.json #模型文件的tokenizer配置文件
父主题: 大模型推理工具快速入门