![ML-paper-PD-quant](https://charles2530.github.io/image/background/p5.jpg)
ML-paper-PD-quant
![](https://charles2530.github.io/image/background/logo2.jpg)
PD-quant
**核心问题:**虽然量化可以帮助降低深度神经网络的尺寸和计算成本,但它也会引入量化噪声并降低预测精度,特别是在极低比特设置中,所以需要合适的方式决定合适的量化参数,但现有方法仅考虑局部信息,未必能得到最优的量化参数
核心方法(贡献):
- 分析了不同度量的影响,并指出广泛使用的局部度量可以进一步改进。
- 提出了 PD-Quant 方法,该方法通过考虑全局信息来解决这一局限性。它利用量化前后网络预测之间的差异信息来确定量化参数。
- PD-Quant 通过调整激活函数的分布,提出分布校正( Distribution Correction,DC )来调整激活分布以逼近批归一化层中存储的均值和方差,可以缓解 PTQ 中由于校正集数量较少而导致的过拟合问题。
**实验效果:**实验表明,PD-Quant 得到了更好的量化参数,提高了量化模型的预测精度,尤其是在低比特设置下。例如,在权重 2-bit 激活 2-bit 时,PD-Quant 将 ResNet-18 的准确率提升至 53.14%,将 Reg NetX-600MF 的准确率提升至 40.67%
**改进方向:**PD-Quant 需要额外的计算和微调,导致时间成本增加
虽然训练时间消耗是 PD-Quant 的一个限制,但与量化感知训练( QAT )方法相比,额外时间成本是可以接受的
背景与相关工作
- 局部度量(例如 MSE 或余弦距离的激活前后的量化在层)常用于寻找量化缩放因子。这些因素通过在少量校准样本的情况下最小化局部度量来逐层选择
- PD-Quant 考虑了全局信息来自于量化模型和全精度(FP)模型之间的预测差异。
- QDrop 将激活误差引入到重建过程中,并引入了 Drop 操作
方法理论
![image-20240725201958823](https://charles2530.github.io/image/ML-paper-PD-quant/image-20240725201958823.png)
Prediction Difference Loss
预测差异损失(Prediction Difference Loss):提出了一种新的损失函数,通过比较量化模型和全精度(FP)模型之间的预测差异来优化量化参数。
- 局部度量指标(余弦和 MSE)优化的缩放因子与基于任务损失的缩放因子不一致
- 由于在 PTQ 中没有真实的标签,所以我们不能使用任务损失作为度量指标
PD loss 比较的是 FP 和量化模型之间的预测差异,而不是量化前后每层激活的差异
Prediction Difference Loss with Regularization
正则化:为了解决量化过程中的过拟合问题,引入了正则化项,约束量化激活与 FP 激活之间的差异。
- TQ 方法中的量化参数包括缩放因子和取整值
- 引入正则化是为了解决 PD 损失在有限校准数据下可能导致的过拟合问题。过拟合问题是由于量化模型在少量校准数据上表现良好,但在更广泛的验证集上表现不佳。
- 正则化通过在优化问题中添加约束来限制 FP 激活和量化激活之间的差异,从而鼓励量化模型从 FP 模型中学习鲁棒性,并减少量化引起的扰动。
- 除了正则化,作者还引入了随机丢弃作为一种补充方法来进一步改善量化模型的性能。这种方法在计算正则化损失时引入了激活丢弃,以增加模型的鲁棒性。
Distribution Correction for Regularization
分布校正(Distribution Correction, DC):提出了一种新的方法,通过调整激活分布来提高量化模型的泛化能力。
- 在 PTQ 中,量化参数通常仅基于少量未标记的校准样本来确定,这使得这些参数很难反映整个训练集的特征分布。
- 由于校准样本数量有限,这种分布的偏差可能导致量化模型在更广泛的数据集上表现不佳。
- 为了解决上述问题,作者提出了一种通过调整 FP(全精度)模型中的激活分布来改善量化模型泛化能力的方法。
- 具体来说,DC 通过调整 FP 块的输入激活分布,使其均值和方差接近预训练 FP 模型中批量归一化(Batch Normalization, BN)层的统计数据。
实验工作
![image-20240725200448590](https://charles2530.github.io/image/ML-paper-PD-quant/image-20240725200448590.png)
- 引入正则化(Reg)和分布校正(DC)后,PD-Quant 的性能进一步提升。正则化通过限制 FP 激活和量化激活之间的差异来减少过拟合,而分布校正通过调整激活分布来提高模型的泛化能力。
- 作者还研究了不同校准数据大小(256、1024、4096)对 PD-Quant 性能的影响。结果表明,PD-Quant 在不同大小的校准数据上都有效,但随着校准数据集大小的增加,分布校正(DC)的效果逐渐减弱。
- Title: ML-paper-PD-quant
- Author: Charles
- Created at : 2024-07-25 20:20:51
- Updated at : 2024-07-29 14:38:06
- Link: https://charles2530.github.io/2024/07/25/ml-paper-pd-quant/
- License: This work is licensed under CC BY-NC-SA 4.0.
recommend_articles
recommend_articles
Comments