写点什么

qwen2.5 7b w8a8 量化推理

作者:AI布道Mr.Jin
  • 2025-03-24
    上海
  • 本文字数:961 字

    阅读完需:约 3 分钟

最近 qwen2.5 系列模型有点火,在昇腾上跑了一下,发现性能稍微有点弱,于是想采用量化推理来提升一下性能,在昇腾官网找到了这篇指导:https://www.hiascend.com/software/modelzoo/models/detail/bd96097296c3426aa3827a8a7cbeb8c6于是决定采用 w8a8 量化进行推理性能优化。

1. 下载模型权重

建议从魔乐社区下载权重,速度很快,不用配置代理:


# 首先保证已安装git-lfs(https://git-lfs.com)git lfs installgit clone https://modelers.cn/PyTorch-NPU/Qwen2.5_7B_Instruct.git
复制代码

2. 权重转换

参考官网指导,执行如下代码即可进行权重量化:


- 下载msmodelslim量化工具- 下载地址为https://gitee.com/ascend/msit/tree/master/msmodelslim- 根据msmodelslim量化工具readme进行相关操作注: 安装完cann后 需要执行source set_env.sh 声明ASCEND_HOME_PATH值 后续安装msmodelslim前需保证其不为空# 执行"jq --version"查看是否安装jq,若返回"bash:jq:command not found",则依次执行"apt-get update"和"apt install jq",或者"sudo yum install jq"jq --versioncd ${llm_path}# 指定当前机器上可用的逻辑NPU核心 通过修改convert_quant_weight.sh文件中export ASCEND_RT_VISIBLE_DEVICES值 指定使用卡号及数量 # 7b系列使用单卡  eg: ASCEND_RT_VISIBLE_DEVICES=0vi examples/models/qwen/convert_quant_weight.sh# 生成w8a8量化权重bash examples/models/qwen/convert_quant_weight.sh -src {浮点权重路径} -dst {W8A8量化权重路径} -type qwen_w8a8
复制代码


执行上面的命令后,结果如下:



量化成功!

3. 执行推理

完成权重量化后,就可以执行推理了,参考官网的指导,执行如下命令进行推理测试:


cd /usr/local/Ascend/atb-modelsbash examples/models/qwen/run_pa.sh -m ${weight_path} --trust_remote_code true
复制代码


但是执行的时候,遇到如下报错:linear type not matched, please check 'config.json' 'quantize' parameter


说实话,如果经验不足,看到这个报错,会去检查 config 哪里有问题,这样的可能花费很久也找不出原因。我是怎么发现原因的呢,我看到这个报错出现了多次,数了一下正好是 8 次,猜测可能是启动了 8 卡并行推理,于是检查了一下 run_pa.sh,发现默认确实是使用了 8 卡推理:


由于我们权重转换时。选择的是单卡,所以这里也要改成单卡:


修改之后,执行成功:


用户头像

还未添加个人签名 2020-11-13 加入

还未添加个人简介

评论

发布
暂无评论
qwen2.5 7b w8a8量化推理_AI布道Mr.Jin_InfoQ写作社区