news 2026/5/9 17:15:57

CANN/AMCT大模型MXQUANT量化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/AMCT大模型MXQUANT量化

AMCT大模型MXQUANT量化

【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct

1 量化前提

1.1 安装依赖

本sample依赖包可参考requirements.txt

需要注意的是torch_npu包版本需要与Python、torch包版本相匹配,需要安装CANN包

1.2 模型和数据集准备

本sample以Llama2-7b,qwen2-7b,qwen3-8b模型,pileval数据,wikitext2数据集为示例, 数据为在线加载,模型需要用户自己下载并在执行脚本时指定模型路径。

注意:量化数据类型组合mxfp8_e4m3fn * mxfp8_e4m3fn只支持量化原始数据类型为torch.bfloat16,请注意修改src/utils.py文件中获取模型的数据类型。

1.3 简易量化配置

本sample中使用的量化配置已经内置在工具中,可以通过下述方式获取并使用:

mxfp8_e4m3fn * mxfp8_e4m3fn全量化配置:from amct_pytorch import MXFP8_QUANT_CFG

mxfp4_e2m1仅权重量化配置:

cfg = { 'batch_num': 1, 'quant_cfg': { 'weights': { 'type': 'mxfp4_e2m1', 'symmetric': True, 'strategy': 'group', 'group_size': 32 }, }, 'algorithm': {'mxquant'}, 'skip_layers': {'lm_head'} }

如果需要修改详细配置,请参考资料构造需要的量化配置dict。

mxquant算法支持仅权重量化和全量化,支持的量化类型以及量化配置:

字段类型说明取值范围注意事项
batch_numuint32量化使用的batch数量1/
skip_layersstr跳过量化的层/跳过量化层支持模糊匹配,当配置字符串为层名字串,或与层名一致时,跳过该层量化,不生成量化配置。字符串必须包含数字或字母
weights.typestr量化后权重类型'mxfp8_e4m3fn'/'mxfp4_e2m1'/
weights.symmetricbool对称量化TRUE只支持对称量化
weights.strategystr量化粒度'group'/
inputs.typestr量化后激活类型'mxfp8_e4m3fn'全量化场景不支持配置权重量化类型mxfp4_e2m1
inputs.symmetricbool对称量化TRUE只支持对称量化
inputs.strategystr量化粒度'group'/
algorithmdict量化使用的算法配置{'mxquant'}/

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/
python3 src/run_qwen_samples.py --model_path=/data/Qwen3-8b/

若出现如下信息,则说明量化成功:

Test time taken: 1.0 min 59.24865388870239 s Score: 5.477707

其中Score为量化模型PPL,具体数值参考下表:

模型校准集数据集量化前PPLmxfp8_e4m3fn*mxfp8_e4m3fn量化后PPL
LLAMA2-7Bpilevalwikitext25.4725.523
QWEN2-7Bpilevalwikitext27.1377.197
QWEN3-8Bpilevalwikitext29.7159.934

推理成功后,在当前目录会生成量化日志文件./amct_log/amct_pytorch.log

【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 17:10:40

Claude Code RTL扩展:解决编程中混合语言文本渲染难题

1. 项目概述:一个为Claude Code设计的RTL语言支持扩展如果你是一位主要使用希伯来语、阿拉伯语等从右向左(RTL)书写语言的开发者,或者你的项目需要处理这类语言的代码注释、字符串或文档,那么在使用AI编程助手时&#…

作者头像 李华
网站建设 2026/5/9 17:04:31

CANN/amct 单算子量化配置说明

单算子模式量化配置参数说明 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 表 1 retrain_enable参数说明 作用 该层是否进行量化感知训练。 类型 bool 取值范围 true或false 参数说明 true&#…

作者头像 李华
网站建设 2026/5/9 17:04:30

从GCN到注意力机制:深度学习如何革新交通预测

1. 项目概述:当城市交通遇上深度学习每天早晚高峰,看着地图上那一片片刺眼的红色,你是不是也想过,要是能提前知道哪条路会堵、哪个路口会慢,该多好?这不仅仅是普通人的烦恼,更是城市交通管理者、…

作者头像 李华
网站建设 2026/5/9 17:03:37

生成式AI搜索的可靠性困境:效率提升背后的信息溯源与幻觉挑战

1. 项目概述:当搜索不再“搜索”作为一名在信息检索和内容创作领域摸爬滚打了十几年的从业者,我亲眼见证了搜索引擎从简单的关键词匹配,进化到如今试图“理解”并“回答”我们问题的智能助手。最近,关于生成式AI搜索的讨论沸沸扬扬…

作者头像 李华
网站建设 2026/5/9 17:03:37

CANN算子库3D循环填充反向传播

aclnnCircularPad3dBackward 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 📄 查看源码 产品支持情况 产品是否支持 Ascend 950PR/Ascend 950DT …

作者头像 李华