已关闭
[Requirement|需求建议]: 增加伪量化mm场景支持 #97
sunduiyang创建于 7月13日关闭于 7月30日
7月13日 添加了label:requirement
sunduiyang
7月13日 评论:
7月13日 评论:
/assign


7月13日 将 sunduiyang 设为负责人
7月14日 修改了issue 的描述
7月28日 关联了pull request:[WIP]QuantBatchMatmul伪量化MXA8W4算子迁移blaze框架
7月30日 关闭了 issue
7月30日 添加了label:resolved
Thanks for sending a requirement! Please fill in the following template to help quickly solve your problem.
一、背景信息 (必填)
伪量化(Weight-Only)是在不显著牺牲模型精度的前提下,通过压缩权重存储来减少显存带宽瓶颈,使得大模型在推理场景下获得更高性能。
二、价值/作用 (必填)
伪量化算子采用W4A8 MX量化方案,即Microscaling量化,通过动态调整缩放因子,在极低比特下保持模型精度,是量化参数类型为float8_e8m0且group_size=32的pergroup-pergroup量化模式的特例。具体来说激活值采用float8_e4m3,权重采用float4_e2m1。相比于MX FP8量化方案,降低了weight的显存开销,但增加了weight的Prologue部分,对weight经过双AIV cast转换到FP8类型再进行矩阵计算,提高部分场景的性能。相比于MX FP4量化方案,保持了激活值FP8类型,减少低精度误差影响。该方案在精度和性能之间进行权衡,实现了混合精度矩阵乘法。
三、设计方案 (必填)
MM伪量化采用SWAT自适应滑窗Tiling方案实现,增加Prologue部分对weight进行前处理,两个AIV核通过fp4位运算完成fp8类型转换,并存储为L1上的NZ格式排布,进行MX量化的MMAD计算。
3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)
3.2 总体设计
3.2.1 算子支持的数据类型
3.2.2 host侧设计
3.2.3 kernel侧设计
3.3 支持硬件
3.4 算子约束限制
💡 备注(选填)