【X5】请问量化时如何避免_hz_cat_1_rescale_1这类操作的产生

QAT的使用,您这边是自己研究还是有对应的FAE支持呀,QAT的内容比较深入社区的话就比较难支持了。

从QAT层面分析的话 torch.cat 算子后出现大量 hz_cat_1_rescale_1 类型的附加算子,通常是由于 输入张量的量化 scale 不一致,导致工具链自动插入 rescale(重缩放)节点以对齐 scale。即使你为所有输入配置了相同的 qconfig(如 default_qat_8bit_fake_quant_qconfig),实际运行时各分支的激活统计范围仍可能不同,从而产生不同的 scale。

  1. 确保 cat 前所有输入共享相同的 QuantStub 或 FakeQuantize 节点
  • 如果多个输入来自不同路径(如 skip connection + 主干),即使 qconfig 相同,也会因数据分布不同而生成不同 scale。
  • 推荐做法:将这些输入在 cat 前通过同一个 QuantStub 实例,强制共享 scale。