CANN/amct大模型GPTQ量化
AMCT大模型GPTQ量化【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct1 量化前提1.1 安装依赖本sample依赖包可参考requirements.txt需要注意的是torch_npu包版本需要与Python、torch包版本相匹配需要安装CANN包1.2 模型和数据集准备本sample以Llama2-7bqwen2-7b模型pileval数据wikitext2数据集为示例, 数据为在线加载模型需要用户自己下载并在执行脚本时指定模型路径。1.3 简易量化配置本sample中使用的量化配置已经内置在工具中可以通过下述方式获取并使用int4仅权重量化配置from amct_pytorch import INT4_GPTQ_WEIGHT_QUANT_CFGmxfp4_e2m1仅权重量化配置cfg { batch_num: 1, quant_cfg: { weights: { type: mxfp4_e2m1, symmetric: True, strategy: group, group_size: 32 }, }, algorithm: {gptq}, skip_layers: {lm_head} }如果需要修改详细配置请参考资料构造需要的量化配置dict。gptq算法仅支持权重量化支持的量化类型以及量化配置字段类型说明取值范围注意事项batch_numuint32量化使用的batch数量1/skip_layersstr跳过量化的层/跳过量化层支持模糊匹配当配置字符串为层名字串或与层名一致时跳过该层量化不生成量化配置。字符串必须包含数字或字母weights.typestr量化后权重类型int4/int8/float4_e2m1/mxfp4_e2m1/weights.symmetricbool对称量化TRUE/FALSEfloat4_e2m1和mxfp4_e2m1只支持配置对称量化weights.strategystr量化粒度tensor/channel/groupfloat4_e2m1和mxfp4_e2m1只支持配置group策略algorithmdict量化使用的算法配置{gptq}/2 量化示例2.1 使用接口方式调用step 1.请在当前目录执行如下命令运行示例程序用户需根据实际情况修改示例程序中的模型和数据集路径python3 src/run_llama2_samples.py --model_path/data/Llama2_7b_hf/python3 src/run_qwen_samples.py --model_path/data/Qwen2-7b/若出现如下信息则说明量化成功Test time taken: 1.0 min 59.24865388870239 s Score: 5.477707step 2.推荐使用以下配置其中Score为量化模型PPL具体数值参考下表模型校准集数据集量化前PPLINT4量化后PPLMXFP4量化后PPLLLAMA2-7Bpilevalwikitext25.4725.6015.799QWEN2-7Bpilevalwikitext27.1377.2537.305推理成功后在当前目录会生成量化日志文件./amct_log/amct_pytorch.log【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考