[論文レビュー] Trained Quantization Thresholds for Accurate and Efficient Fixed-Point Inference of Deep Neural Networks
この論文は Trained Quantization Thresholds (TQT) を導入し、 retraining 中に量子化しきい値を学習することで、固定小数点(INT8/INT4)ネットワークを power-of-2 スケーリングおよび per-tensor 量子化の下でほぼ浮動小数点精度に近い性能を達成する。TensorFlow ベースの Graffitist フレームワークが量子化と retraining を自動化する。
We propose a method of training quantization thresholds (TQT) for uniform symmetric quantizers using standard backpropagation and gradient descent. Contrary to prior work, we show that a careful analysis of the straight-through estimator for threshold gradients allows for a natural range-precision trade-off leading to better optima. Our quantizers are constrained to use power-of-2 scale-factors and per-tensor scaling of weights and activations to make it amenable for hardware implementations. We present analytical support for the general robustness of our methods and empirically validate them on various CNNs for ImageNet classification. We are able to achieve near-floating-point accuracy on traditionally difficult networks such as MobileNets with less than 5 epochs of quantized (8-bit) retraining. Finally, we present Graffitist, a framework that enables automatic quantization of TensorFlow graphs for TQT (available at https://github.com/Xilinx/graffitist ).
研究の動機と目的
- 重みと jointly 学習することで、低ビット幅 DNN 推論の正確性を向上させる。
- 対称性、per-tensor、power-of-2 のスケールなど、ハードウェアに適した量子化制約を large な精度低下なしに提供する。
- TensorFlow グラフの自動量子化と retraining のエンドツーエンドフレームワーク(Graffitist)を提供する。
- ImageNet 上で一般的な CNN アーキテクチャ(MobileNets や ResNets を含む)における有効性を示す。
提案手法
- スケール s とゼロ点 z に制約した一様対称量子化器を定式化し、対称性 (z=0) および per-tensor、スケール s=2^{-f} の power-of-2 に設定する。
- 前向き量子化: q(x;s)=clip(round(x/s), n, p) * s、n/p はビット幅と符号によって決定する。s は t によって s=2^{ceil(log2 t)}/2^{b-1}(signed)または /2^{b}(unsigned)と結びつく。
- 丸め/.ceil の勾配を STE で伝播させて、バックプロパゲーション時の丸め操作の勾配を不連続領域に対して適切に扱い、正しい範囲-精度のトレードオフを反映させる。
- 式 (5)-(8) に詳述されるように x と s に対する勾配を計算する;バックプロパゲーション時の丸め操作の勾配は 1 と見なし、前方の量子化の非線形性を保つ。
- しきい値の勾配がクリップ境界を内向き/外向きに動かし、レンジと精度のバランスを取り、重みとしきい値の共同最適化を可能にする。
- Graffitist を提供する:固定点ハードウェアマッピングをサポートする fused kernels やグラフ最適化を含む、TensorFlow ベースの静的および retrain 量子化のエンドツーエンドツールチェーン。
実験結果
リサーチクエスチョン
- RQ1学習可能なしきい値は、固定小数点 DNN に対して固定キャリブレーションしきい値よりもエンドツーエンドの精度を向上させるか。
- RQ2対数領域のしきい値訓練と STE に基づく勾配は、ハードウェアに優しい量子化制約の下で安定かつ高速収束を可能にしますか。
- RQ3INT8 および INT4、per-tensor、power-of-2 スケーリングの下で、ImageNet に対して TQT は幅広い CNN アーキテクチャでどれほどの性能を発揮するか。
- RQ4MobileNets や DarkNets のような難易度の高いネットワークに対するしきい値の訓練の実務的影響はどのようか。
- RQ5TQT と静的量子化および重量のみ retraining との精度・収束時間の比較はどうか。
主な発見
| モード | 精度 | ビット幅 | 精度(%) | エポック | |
|---|---|---|---|---|---|
| FP32 ベースライン | - | 32/32 | 70.9 | 89.8 | |
| 静的 INT8 | INT8 | 8/8 | 70.4 | 89.7 | |
| ウェイト再訓練 FP32 | FP32 | 32/32 | 71.9 | 90.5 | 1.0 |
| ウェイト再訓練 INT8 | INT8 | 8/8 | 71.8 | 90.5 | 1.0 |
| ウェイト再訓練,しきい値 INT8 | INT8 | 8/8 | 71.7 | 90.4 | 0.9 |
| ウェイト再訓練,しきい値 INT4 | INT4 | 4/8 | 71.5 | 90.3 | 4.0 |
| MobileNet v1(Inception 系データ) | INT8 | 8/8 | 71.1 | 90.0 | 3.4 |
| MobileNet v2 | INT8 | 8/8 | 71.8 | 90.6 | 2.2 |
| DarkNet 19 | INT8 | 8/8 | 74.5 | 92.3 | 1.8 |
| ResNet-50 | INT8 | 8/8 | 75.4 | 92.3 | 1.9 |
| ResNet-101 | INT8 | 8/8 | 76.4 | 93.1 | 0.9 |
| ResNet-152 | INT8 | 8/8 | 76.7 | 93.3 | 1.4 |
| Inception v4 | INT8 | 8/8 | 80.1 | 95.2 | 1.5 |
- TQT は多くのネットワークで 8-bit 量子化時にほぼ浮動小数点精度を達成し、per-tensor、対称、power-of-2 スケーリング下で FP32 性能に近づく場合がある。
- 対数領域でのしきい値訓練と STE に基づく勾配により安定した収束が得られ、ウェイト再訓練時には迅速な回復(多くの場合 5 エポック以内)が可能。
- MobileNet ファミリおよび DarkNet ファミリでは、wt+th の TQT は wt のみの再訓練を最大約4ポイント程度の Top-1 精度向上で上回り、INT8 で与えられたハードウェア制約下で FP32 に近づくことがある。
- INT4 量子化は generally しきい値とウェイトの再訓練(wt+th)を要し、FP32 に対するいくらかの精度低下が生じる可能性がある(最初/最後の層の精度制約が理由)。
- 静的量子化は一貫して再訓練手法より劣る。しきい値は局所的に較正され、最終的な損失のグローバル最適化にはなっていないため。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。