[论文解读] Make RepVGG Greater Again: A Quantization-aware Approach
该论文提出 QARepVGG,一种量化感知的重参数化卷积块,可在保持 RepVGG 的高 FP32 准确率和推理速度的同时,显著减少 INT8 量化后的准确率下降——通过标准的后训练量化(PTQ)在 ImageNet 上实现的 top-1 准确率损失低于 2%。该方法通过重构块的权重和激活分布,使其更适应量化,从而实现无需额外训练或硬件成本的鲁棒部署。
The tradeoff between performance and inference speed is critical for practical applications. Architecture reparameterization obtains better tradeoffs and it is becoming an increasingly popular ingredient in modern convolutional neural networks. Nonetheless, its quantization performance is usually too poor to deploy (more than 20% top-1 accuracy drop on ImageNet) when INT8 inference is desired. In this paper, we dive into the underlying mechanism of this failure, where the original design inevitably enlarges quantization error. We propose a simple, robust, and effective remedy to have a quantization-friendly structure that also enjoys reparameterization benefits. Our method greatly bridges the gap between INT8 and FP32 accuracy for RepVGG. Without bells and whistles, the top-1 accuracy drop on ImageNet is reduced within 2% by standard post-training quantization. Moreover, our method also achieves similar FP32 performance as RepVGG. Extensive experiments on detection and semantic segmentation tasks verify its generalization.
研究动机与目标
- 识别 RepVGG 在 INT8 后训练量化下出现严重准确率下降的根本原因,其在 ImageNet 上的 top-1 准确率损失超过 20%。
- 设计一种重参数化模块,使其在保持 RepVGG 的高 FP32 性能和推理速度的同时,对量化具有内在鲁棒性。
- 开发一种方法,在无需量化感知训练或架构重构的前提下,实现重参数化网络在后训练量化中的最先进性能。
- 在目标检测和语义分割等多样化视觉任务中,验证其在 PTQ 和 QAT 设置下的泛化能力。
提出的方法
- 作者发现,RepVGG 的多分支结构由于不利的权重和激活分布,本质上会放大量化误差。
- 他们提出 QARepVGG,一种重新设计的模块,通过调整残差连接和批归一化的位置,创建更适应量化的权重和激活分布。
- 该新模块通过将所有分支融合为单一 3×3 卷积,保持与 RepVGG 相同的推理速度,从而保留重参数化的优势。
- 该设计包含四个关键组件:(1) 从主干分支中移除批归一化,(2) 将残差连接替换为深度可分离卷积后的跳跃连接,(3) 重新排序归一化和激活操作,(4) 使用单一归一化层。
- 该方法兼容标准后训练量化(PTQ)和量化感知训练(QAT),无需额外校准或微调。
- 最终架构通过消融实验推导得出,验证了每个组件对量化鲁棒性的贡献。
实验结果
研究问题
- RQ1为何 RepVGG 在后训练量化下会出现严重的准确率下降,尤其是在 INT8 量化下?
- RQ2RepVGG 架构的哪些结构特性导致了量化误差的增加?
- RQ3能否设计一种重参数化模块,在保持高 FP32 准确率和推理速度的同时,对 INT8 量化具有内在鲁棒性?
- RQ4权重和激活分布的变化如何影响重参数化网络中的量化性能?
- RQ5所提出的 QARepVGG 设计是否能在不同模型尺度及目标检测、语义分割等视觉任务中实现泛化?
主要发现
- 在后训练量化下,QARepVGG 在 ImageNet 上实现 70.4% 的 top-1 准确率,而 RepVGG-A0 仅为 50.3%,准确率损失降低至 2% 以内。
- 在 RepVGG-B1g2 变体上,QARepVGG 维持 77.0% 的 INT8 准确率,而 RepVGG 仅为 14.5%,准确率提升达 62.5 个百分点。
- 在量化感知训练下,QARepVGG 在 ImageNet 上实现 71.9% 的 top-1 准确率,比 RepVGG+QAT 提升 5.6 个百分点。
- 在 COCO 目标检测任务中,基于 QARepVGG 的 YOLOv6 模型在 PTQ 下 mAP 损失仅为 1.3%,而基于 RepVGG 的 YOLOv6s 损失高达 7.4%。
- 在 FCN 和 DeepLabV3+ 的语义分割任务中,QARepVGG 将 mIoU 损失从 RepVGG 的 5.3% 降低至 1.2%,展现出强大的泛化能力。
- 该方法在保持与 RepVGG 相当的 FP32 准确率和相同推理速度的同时,实现了与 RepVGG 的即插即用替换,适用于量化部署。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。