CVPR2023部署Trick | 解决量化误差振荡问题,让MobileNetv2的能力超过ResNet家族(二)

简介: CVPR2023部署Trick | 解决量化误差振荡问题,让MobileNetv2的能力超过ResNet家族(二)

4、实验


4.1、ImageNet Classification

在各种模型上验证了本文的算法,包括不同规模的ResNet-18、ResNet-50和MobileNetV2。

image.png

如表1所示,本文算法在与不同比特配置相对应的广泛模型上以很大的优势优于其他方法。具体而言,在ResNet-18和2/4位的MobileNetV2上实现了66.18%和57.85%的Top-1准确率,分别比SOTA高1.52%和4.93%。

其次,本文的方法在低位显示出强大的优越性。例如,在MobileNetV2×0.75上,2/4位PTQ量化的精度增益显著高于4/4位(5.36%对1.61%)。振荡问题可能更为严重,因为低位会导致PTQ重建误差的大小增加。因此,在低位量化时平滑这种振荡对于PTQ优化过程至关重要。

此外,本文的方法在不同规模上对MobileNetV2进行了相当大的改进,这意味着模型大小不会限制算法的性能。作者还注意到本文的算法对MobileNetV2更有效。通过观察,MobileNetV2中的振荡问题比ResNet网络家族的振荡问题更严重。深度可分离卷积增加了模块容量的差异,从而使损失振荡的幅度更大。因此,本文的算法通过解决MobileNetV2中的振荡问题,实现了相当大的性能改进。

4.2、消融实验

1、帕累托最优

在不同规模的MobileNetV2上随机采样了大量混合重建粒度方案,并使用BRECQ算法使用4/4位PTQ对这些方案进行优化,以获得采样精度。在图4中绘制了这些方案的精度分布。

此外,还分别在MobileNetV2上标记了MRECG和BRECQ算法在不同尺度下的准确性。从图4中可以观察到MRECG在所有尺度上都比MobileNetV2有稳定的准确性提高。总体而言,MRECG在模型大小的限制下实现了Pareto最优状态。

2、Component Contribution

在这里分别研究了混合重建粒度和扩展批处理大小对准确性的贡献。将通过BRECQ量化为4/4位的0.5缩放的MobileNetV2作为基线。如表2所示,混合重建粒度和扩展批量大小的准确度分别提高了1.08%和0.74%。同时,这两种方法的结合进一步提高了模型的性能。

3、缩小扩大批量规模的边际效用

根据大数定律,当样本数量增加时,样本的平均值收敛于方程1中的期望值,从而产生较小的近似误差。然而,当样本大小足够大时,由于近似误差的减小而获得的精度增益可以忽略不计。换句话说,Batch size的扩大呈现出边际效用递减的趋势。

在图5中,对一些Batch size进行了随机采样,并通过BRECQ在0.5标度的MobileNetV2上获得了4/4比特的PTQ精度。证明了采样精度的中位数,以防止异常值的影响。作者注意到,当Batch size较小时,采样精度波动更大,这意味着较小Batch size的近似误差会产生较大的噪声。随着Batch size的扩大,这种情况有所缓和。此外,可以观察到中值精度的增加,然后趋于稳定,这意味着扩大Batch size可以为PTQ带来精度增益。同时,这种收益受到边际效用递减的制约。

4、损失分布

如图6所示,给出了不同算法的损失分布。从Adaround的分布可以看出,它具有最大的振荡幅度。因此,在模型的更深层次,Adaround的重建损失迅速增加。此外,BRECQ使用块重建进行PTQ优化,这在某种程度上缓解了损耗振荡问题,从而提高了性能。

混合重建粒度通过联合优化容量差异较大的相邻模块来平滑损耗振荡。可以看出,与Adaround和BRECQ相比,MRECG的损失变化更稳定。此外,当比较不同场景下的MRECG损失时,发现基于无数据场景获得的MRECG仍然具有较小的振幅损失振荡。作者认为,这种适度的振荡与ModCap MRECG只能联合优化两个相邻模块的事实有关,这只能实现局部最优。相比之下,MRECG具有最平滑的损耗曲线。然而,这种全局最优是以延长获得量化模型的时间为代价的。


5、参考


[1].Solving Oscillation Problem in Post-Training Quantization Through a Theoretical Perspective.

相关文章
|
2月前
|
机器学习/深度学习 人工智能 计算机视觉
深度学习之ResNet家族
ResNet是深度学习中的标志性架构,由何恺明在2016年提出,解决了深度网络训练的难题。ResNet通过残差块使得网络能有效学习,即使层数极深。后续发展包括ResNetV2,优化了信息传递和激活函数顺序;Wide Residual Networks侧重增加网络宽度而非深度;ResNeXt引入基数概念,通过多路径学习增强表示能力;Stochastic Depth通过随机丢弃层加速训练并提升泛化;DenseNet采用密集连接,增加信息交互;DPN结合ResNet和DenseNet优点;ResNeSt则综合了注意力机制、多路学习等。这些演变不断推动深度学习网络性能的提升。5月更文挑战第7天
74 7
|
机器学习/深度学习 存储 人工智能
模型推理加速系列 | 03:Pytorch模型量化实践并以ResNet18模型量化为例(附代码)
本文主要简要介绍Pytorch模型量化相关,并以ResNet18模型为例进行量化实践。
|
机器学习/深度学习
部署技巧之PAGCP剪枝 | Yolov5/ResNet参数降低50%速度翻倍精度不减(二)
部署技巧之PAGCP剪枝 | Yolov5/ResNet参数降低50%速度翻倍精度不减(二)
244 0
|
机器学习/深度学习 存储 边缘计算
部署技巧之PAGCP剪枝 | Yolov5/ResNet参数降低50%速度翻倍精度不减(一)
部署技巧之PAGCP剪枝 | Yolov5/ResNet参数降低50%速度翻倍精度不减(一)
1019 0
|
机器学习/深度学习 算法 计算机视觉
CVPR2023部署Trick | 解决量化误差振荡问题,让MobileNetv2的能力超过ResNet家族(一)
CVPR2023部署Trick | 解决量化误差振荡问题,让MobileNetv2的能力超过ResNet家族(一)
156 0
|
机器学习/深度学习 人工智能 算法
部署教程 | ResNet原理+PyTorch复现+ONNX+TensorRT int8量化部署
部署教程 | ResNet原理+PyTorch复现+ONNX+TensorRT int8量化部署
257 0
|
机器学习/深度学习 自然语言处理 计算机视觉
极品Trick | 在ResNet与Transformer均适用的Skip Connection解读
极品Trick | 在ResNet与Transformer均适用的Skip Connection解读
206 0
|
2月前
|
机器学习/深度学习 PyTorch 测试技术
|
22天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】31. 卷积神经网络之残差网络(ResNet)介绍及其Pytorch实现
【从零开始学习深度学习】31. 卷积神经网络之残差网络(ResNet)介绍及其Pytorch实现
|
11月前
|
机器学习/深度学习 PyTorch 算法框架/工具
ResNet代码复现+超详细注释(PyTorch)
ResNet代码复现+超详细注释(PyTorch)
1089 1

热门文章

最新文章