torch_quantizer icon indicating copy to clipboard operation
torch_quantizer copied to clipboard

关于使用 cutlass 实现 per-channel 量化 的 int8 conv

Open zhexinli opened this issue 1 year ago • 2 comments

大佬你好,我最近在参考你的 cutlass 写一个 int8 quantized 的 conv。在你的代码中,int8 conv 和 dequantize 是两个 kernel。我想将 DQ fuse 到 conv 中作为一个 kernel 执行以节省访存。我希望借助 DefaultConv2dFprop 中的 EpilogueOp 来实现,也就是将 alpha 设为 input_scale * per_channel_weight_scale,计算公式是 alpha * conv(qin, qweight)。但是我看 alpha 只能传一个 float,所以 weight 只能做 per-tensor 量化了,这对于精度的影响是比较大的。大佬当初是不是也是因为这个原因所以选择了手动 dequant 呢?

zhexinli avatar Mar 29 '24 07:03 zhexinli

Hi,大佬我是不敢当. 要不我们加个微信后续交流?wechat: hyfll2

ThisisBillhe avatar Apr 01 '24 06:04 ThisisBillhe

@zhexinli 请问,后来找到解决方案了吗?我也有一样的需求

zhengzhejun avatar Jan 15 '25 14:01 zhengzhejun