目录
概
本文利用 Hessian 的 top eigenvalues 来定位对应 block 所需要的量化 bitwidth, 并利用 multi-state fin-tuning 恢复精度.
HAWQ (Hessian AWare Quantization)
-
上图展示了, 不同 block 所对应的首特征值以及在添加扰动下损失的变化情况. 很明显, 首特征值越大的 block 往往对于扰动更加敏感, 所以理应用更多的 bitwidth 去量化.
-
于是, 作者采用如下的指标 (\(\lambda_i\) 表示第 \(i\) 个 block 的 Hessian 矩阵的首特征值, \(n_i\) 表示 block 中的参数量):
\[S_i = \lambda_i / n_i, \]对不同 Block 进行排序, 然后靠前的采用更大的 bitwitdth. 即首特征值越大/参数量越小的 block 用更大的 bitwidth 进行量化.
-
之后, 通过 multi-stage fine-tuning 来恢复精度, 微调的顺序根据误差来排序:
\[\Omega_i = \lambda_i \|Q(W_i) - W_i\|_2^2. \]