[論文レビュー] Towards Unified INT8 Training for Convolutional Neural Network
この論文は、2つの新規技術である方向感受性勾配クリッピングと乖離補正的学習率スケーリングを用いて、低ビットバックプロパゲーションの安定化を図る統合型INT8学習フレームワークを提案する。このフレームワークは、MobileNetV2、InceptionV3、オブジェクト検出器を含む多様なネットワークで安定的かつ高精度なINT8学習を実現し、専用ハードウェアを必要とせず、Pascal GPU上で22%の学習時間短縮を達成する。
Recently low-bit (e.g., 8-bit) network quantization has been extensively studied to accelerate the inference. Besides inference, low-bit training with quantized gradients can further bring more considerable acceleration, since the backward process is often computation-intensive. Unfortunately, the inappropriate quantization of backward propagation usually makes the training unstable and even crash. There lacks a successful unified low-bit training framework that can support diverse networks on various tasks. In this paper, we give an attempt to build a unified 8-bit (INT8) training framework for common convolutional neural networks from the aspects of both accuracy and speed. First, we empirically find the four distinctive characteristics of gradients, which provide us insightful clues for gradient quantization. Then, we theoretically give an in-depth analysis of the convergence bound and derive two principles for stable INT8 training. Finally, we propose two universal techniques, including Direction Sensitive Gradient Clipping that reduces the direction deviation of gradients and Deviation Counteractive Learning Rate Scaling that avoids illegal gradient update along the wrong direction. The experiments show that our unified solution promises accurate and efficient INT8 training for a variety of networks and tasks, including MobileNetV2, InceptionV3 and object detection that prior studies have never succeeded. Moreover, it enjoys a strong flexibility to run on off-the-shelf hardware, and reduces the training time by 22% on Pascal GPU without too much optimization effort. We believe that this pioneering study will help lead the community towards a fully unified INT8 training for convolutional neural networks.
研究の動機と目的
- 量子化された勾配による学習の不安定化やクラッシュ問題を解消すること。
- 多様なCNNアーキテクチャーやタスクをサポートする統合的でハードウェアに依存しないフレームワークを構築すること。
- 収束限界解析を通じて、安定なINT8学習の理論的裏付けを提供すること。
- カスタムハードウェアや複雑なネットワーク変更を必要とせず、市販のGPUで実用的な高速化を実現すること。
提案手法
- 勾配が重みや活性化とは異なる4つの特徴(鋭く広がった形状、進化的な性質、層に依存する性質、構造に依存する性質)を経験的に同定する。
- 勾配量子化誤差と学習率の関係を理論的に導出し、安定学習のための2つの原則を確立する。
- 勾配の大きさと方向に基づいて動的にクリッピングを行うことで、量子化勾配における方向のずれを最小化する方向感受性勾配クリッピングを提案する。
- 量子化によるずれの悪影響を相殺するために動的に学習率を調整する乖離補正的学習率スケーリングを導入する。
- 市販のハードウェアとの互換性を確保するため、NVIDIAのDP4A命令セットをPascal GPU上で実装する。
- INT8に最適化するのは畳み込み層のみに限定し、最小限の工数で顕著な高速化を達成する。
実験結果
リサーチクエスチョン
- RQ1INT8学習が重み・活性化の量子化よりも困難である理由となる勾配の特徴は何か?
- RQ2勾配量子化誤差の下で、INT8学習の収束を理論的にどのように束縛できるか?
- RQ3勾配クリッピングを方向に感受させることが、学習中の方向的ずれを低減できるか?
- RQ4量子化によるずれの悪影響を相殺するように、学習率スケーリングを設計できるか?
- RQ5専用ハードウェアを必要とせず、多様なネットワークやタスクで安定的かつ効率的なINT8学習が可能か?
主な発見
- 提案された統合型INT8学習フレームワークは、InceptionV3を用いてImageNetで95.00%のトップ-1精度を達成し、フル精度性能と同等である。
- MobileNetV2およびInceptionV3では、INT8学習で71.20%のトップ-1精度を達成し、FP32と比較してわずか1.19%の低下にとどまる。
- オブジェクト検出タスクでは、PASCAL VOCおよびCOCOデータセットの両方で、フル精度モデルと比較してmAPが1.8%以内に収まる。
- GeForce GTX 1080Ti(Pascal GPU)上では、エンドツーエンドの学習時間を22%短縮し、逆伝播処理で1.94倍の高速化を達成した。
- 本手法は、Faster R-CNNやRetinaNetのようなオブジェクト検出ネットワークに対しても、初めてINT8学習を成功させた。
- ResNet-50では、INT8畳み込み層のみを最適化することで、前方伝播で1.63倍、逆伝播で1.94倍の高速化を達成し、最小限の最適化で実現した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。