Resource Efficient Neural Networks Using Hessian Based Pruning

要約

ニューラル ネットワークの枝刈りは、トレーニングされたモデルのサイズと浮動小数点演算の数を削減するための実用的な方法です。
枝刈りの 1 つの方法は、より一般的な振幅枝刈りアプローチと比較して、相対ヘシアン トレースを使用して各チャネルの感度を計算することです。
ただし、ヘッセ行列の推定に使用される確率論的アプローチは、収束するまでに何度も反復する必要があります。
これを何百万ものパラメータを持つ大規模なモデルに使用すると、時間がかかる可能性があります。
この問題に対処するために、FP32 の代わりに FP16 精度を使用してヘシアン トレースを推定することで、既存のアプローチを変更します。
CIFAR10/CIFAR100 画像分類タスクでトレーニングされた ResNet-32/ResNet-56/ WideResNet-28-8 で修正アプローチ (EHAP) をテストし、ヘッセ行列の計算の高速化を実現します。
具体的には、モデル アーキテクチャと GPU デバイスのさまざまな組み合わせでの実験中に、修正されたアプローチにより 17% から最大 44% の速度向上を達成できます。
また、修正されたアプローチでは、ResNet-32 および ResNet-56 モデルをプルーニングする際に使用する GPU メモリが約 40% 削減され、ヘシアン トレースの推定に使用できるヘシアン バッチ サイズを大きくすることができます。
一方、FP16 と FP32 の両方のヘシアン トレース計算を使用した枝刈りの結果も示し、両者の間に顕著な精度の差がないことを示します。
全体として、これは、プルーニングされたモデルのパフォーマンスを犠牲にすることなく、相対ヘシアン トレースをより高速に計算するためのシンプルで効果的な方法です。
また、EHAP と量子化対応トレーニング (QAT) を使用し、プルーニング後にネットワークをさらに圧縮するために INT8 QAT を使用する完全なパイプラインも紹介します。
特に、重みには対称量子化を使用し、アクティベーションには非対称量子化を使用します。

要約(オリジナル)

Neural network pruning is a practical way for reducing the size of trained models and the number of floating-point operations. One way of pruning is to use the relative Hessian trace to calculate sensitivity of each channel, as compared to the more common magnitude pruning approach. However, the stochastic approach used to estimate the Hessian trace needs to iterate over many times before it can converge. This can be time-consuming when used for larger models with many millions of parameters. To address this problem, we modify the existing approach by estimating the Hessian trace using FP16 precision instead of FP32. We test the modified approach (EHAP) on ResNet-32/ResNet-56/WideResNet-28-8 trained on CIFAR10/CIFAR100 image classification tasks and achieve faster computation of the Hessian trace. Specifically, our modified approach can achieve speed ups ranging from 17% to as much as 44% during our experiments on different combinations of model architectures and GPU devices. Our modified approach also takes up around 40% less GPU memory when pruning ResNet-32 and ResNet-56 models, which allows for a larger Hessian batch size to be used for estimating the Hessian trace. Meanwhile, we also present the results of pruning using both FP16 and FP32 Hessian trace calculation and show that there are no noticeable accuracy differences between the two. Overall, it is a simple and effective way to compute the relative Hessian trace faster without sacrificing on pruned model performance. We also present a full pipeline using EHAP and quantization aware training (QAT), using INT8 QAT to compress the network further after pruning. In particular, we use symmetric quantization for the weights and asymmetric quantization for the activations.

arxiv情報

著者 Jack Chong,Manas Gupta,Lihui Chen
発行日 2023-06-12 11:09:16+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CV パーマリンク