模型落地困难?看看这个如何解决PTQ的振荡问题(二)

简介: 模型落地困难?看看这个如何解决PTQ的振荡问题(二)

4、实验


4.1、ImageNet Classification

作者在各种模型上验证了本文的算法,包括不同规模的ResNet-18、ResNet-50和MobileNetV2。如表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、组成部分贡献

在这里分别研究了混合重建粒度和扩展批处理大小对准确性的贡献。将通过BRECQ量化为4/4位的0.5缩放的MobileNetV2作为基线。

如表2所示,混合重建粒度和扩展批量大小的准确度分别提高了1.08%和0.74%。同时,这两种方法的结合进一步提高了模型的性能。

3、缩小扩大「Batch size」的边际效用

根据大数定律,当样本数量增加时,样本的平均值收敛于方程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.

相关文章
|
7月前
|
存储 SQL 关系型数据库
如何设计可落地的重构技术方案——理论篇
如何设计可落地的重构技术方案——理论篇
126 0
|
7月前
|
存储 NoSQL 关系型数据库
重构之道:揭秘大规模系统重构的经验与挑战
重构之道:揭秘大规模系统重构的经验与挑战
163 2
|
11月前
|
机器学习/深度学习 算法 计算机视觉
模型落地困难?看看这个如何解决PTQ的振荡问题(一)
模型落地困难?看看这个如何解决PTQ的振荡问题(一)
133 0
|
敏捷开发 架构师 项目管理
架构师才能看懂的大型网站架构面临的挑战:业务架构的基本思路
业务架构的基本思路 大型网站系统有很多功能,一次性明确所有的功能需求并设计出一个庞大的业务架构是一件费力不讨好的事情。因为在项目前期,难免会忽视一些琐碎功能,而随着开发的进行,也会有很多新的想法产生,基本上不会存在完全按照最初的业务架构设计完成的软件产品。因此,业务架构不仅要做到“规整功能模块,厘清产品业务逻辑”,更重要的是如何做到“有规划性地应对项目过程中的需求变更”。
|
数据采集 存储 监控
如何解决现实世界数据的挑战
假设你正在努力通过“了解你的客户”来改善客户体验。或许你符合了BCBS 239或欧洲的GDPR等监管要求,以避免罚款。或者你可以通过从月度勘探清单中删除重复的项目来削减成本。
如何解决现实世界数据的挑战
|
存储 SQL 缓存
技术方案设计没有深度?试试这套方法论
平时听到一些同学说技术方案没什么深度,好难讲出来。怎么去体现技术方案设计的深度是大家普遍关心的一个问题,本文主要和大家分享技术方案设计的一些思路。
技术方案设计没有深度?试试这套方法论
|
机器学习/深度学习 存储 数据采集
3个因素看透 AI 技术架构方案的可行性
人工智能这几年发展的如火如荼,不仅在计算机视觉和自然语言处理领域发生了翻天覆地的变革,在其他领域也掀起了技术革新的浪潮。无论是在新业务上的尝试,还是对旧有业务对改造升级,AI 这个奔涌了 60 多年的“后浪”,正潜移默化的影响着我们传统的技术架构观念。
768 0
3个因素看透 AI 技术架构方案的可行性
|
机器学习/深度学习 存储 数据采集
干货!3 个重要因素,带你看透 AI 技术架构方案的可行性
人工智能这几年发展的如火如荼,不仅在计算机视觉和自然语言处理领域发生了翻天覆地的变革,在其他领域也掀起了技术革新的浪潮。
一个需求从提出到落地的过程
写在前面的话 这篇文章主要借复盘天猫超市优惠券功能来聊下,一个优惠券功能的需求,从需求的提出到落地的一个复盘,有每个步骤的实操,这里的需求是明确的,后面有时间做一个需求分析的案例,当然如果你是个成熟的产品经理这篇文章就可以跳过了。
1350 0