已关闭
[Bug] 激活值Per Token量化阶段min/max计算维度错误,导致量化参数与实际配置不匹配 #446
Ryan0399创建于 8月7日关闭于 25 天前
anreywmh
8月7日 评论:
8月7日 评论:
👋 您好,欢迎向 MindStudio msModelSlim 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉
📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:
📖 MindStudio msModelSlim 官方文档
📝 贡献者指南
请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!


8月7日 添加了label:bug
8月10日 关联了里程碑:MindStudio 26.2.0
8月10日 将 qq_46439621 设为负责人
wanlongze123
8月10日 评论:
8月10日 评论:
请给出更为具体的代码分析,如果确认确实是问题,可以提pr进行修复,修复此issue


8月10日 添加了label:pending
Ryan0399
8月11日 评论:
8月11日 评论:
msmodelslim/core/quantizer/impl/minmax.py 47-66

52行初始化minmax_config时,dim=[],所以在58行计算min_val,max_val实际上是整个tensor的min/max。
如要计算token的min/max,预期的处理方式应当为先x.reshape(-1,x.shape[-1]),并在初始化minmax_config时,传入参数dim=[1],keepdim=True。


wanlongze123
8月11日 评论:
8月11日 评论:
嗯,分析了一下,确认存在bug,这个不影响动态量化倒是,会影响静态量化和敏感层分析,不过一般来说静态量化基本都是tensor,token的很少,可以修复bug,提pr修复即可。


29 天前 添加了label:resolved
ascend-robot
29 天前 评论:
29 天前 评论:
您好,当前Issue标记为resolved且有一段时间未进一步更新,因此我们将其标记为'stale'(闲置)状态。若您认为这是误操作,可通过添加任意评论来去除'stale'标签。标记为stale的Issue在4天内无更新活动将自动关闭。


29 天前 添加了label:stale
25 天前 关闭了 issue
25 天前 issue状态由 TODO 改变为 DONE
👉 遇到问题先看这里
🌟 第一次使用工具遇到问题?
按🚀 快速入门
❓ 搜索历史issue,查看冷门的同类问题
在🔖 Issue中搜索历史类似问题
操作系统及版本
ubuntu 22.04
python版本
3.11
MsModelSlim 工具版本
030d6ea4e0f136558578070d371e1becb5797882
是否必现
是
MsModelSlim 执行命令
msmodelslim quant --debug --model_path /home/data/Qwen3-4B --save_path /home/zhangjinghao/qwen3_4b_w8a8_debug --device npu --model_type Qwen3-4B --config_path /home/zhangjinghao/msmodelslim/lab_practice/qwen3/qwen3-32b-w8a8.yaml --trust_remote_code True
预期行为
我们希望ActPerTokenMinmax中,Per Token激活scale计算方式与FakeQuantActivationPerToken保持一致

实际行为
实际上ActPerTokenMinmax的scale计算维度是全局,等效Per Tensor

欢迎加入社区,感谢您对社区的贡献 🎉!