[論文レビュー] Quantized Neural Networks: Training Neural Networks with Low Precision Weights and Activations
本論文は非常に低精度(重み/活性化が1ビット、勾配は6ビットに量子化)でニューラルネットワークを訓練し、MNIST、CIFAR-10、SVHN、ImageNetで競争力のある精度を示すとともに、ハードウェアとエネルギー効率の大幅な利点を強調する。
We introduce a method to train Quantized Neural Networks (QNNs) --- neural networks with extremely low precision (e.g., 1-bit) weights and activations, at run-time. At train-time the quantized weights and activations are used for computing the parameter gradients. During the forward pass, QNNs drastically reduce memory size and accesses, and replace most arithmetic operations with bit-wise operations. As a result, power consumption is expected to be drastically reduced. We trained QNNs over the MNIST, CIFAR-10, SVHN and ImageNet datasets. The resulting QNNs achieve prediction accuracy comparable to their 32-bit counterparts. For example, our quantized version of AlexNet with 1-bit weights and 2-bit activations achieves $51\%$ top-1 accuracy. Moreover, we quantize the parameter gradients to 6-bits as well which enables gradients computation using only bit-wise operation. Quantized recurrent neural networks were tested over the Penn Treebank dataset, and achieved comparable accuracy as their 32-bit counterparts using only 4-bits. Last but not least, we programmed a binary matrix multiplication GPU kernel with which it is possible to run our MNIST QNN 7 times faster than with an unoptimized GPU kernel, without suffering any loss in classification accuracy. The QNN code is available online.
研究の動機と目的
- 訓練と推論の両方に低精度の重みと活性化を持つQuantized Neural Networks (QNNs)を導入する。
- QNNsが標準ベンチマークで32-bitネットワークに匹敵する精度を達成できることを示す。
- パラメータ勾配を量子化し、訓練効率のために6ビット勾配の使用を探索する。
- QNNsをMNIST、CIFAR-10、SVHN、ImageNet、および言語モデルで評価し、汎用性を評価する。
- 2値化ネットワークのハードウェア影響とエネルギー効率について論じる。
提案手法
- 順伝搬中に重みと活性化を+1または-1に制約するため、決定論的または確率的ビナリゼーションを用いる。
- 離散化ステップを貫通して勾配を伝播するためにストレートスルー推定器を適用する。
- 訓練時の乗算を削減するため、シフトベースのバッチ正規化(SBN)を導入する。
- 掛け算操作を最小化するためのシフトベースのAdaMax最適化を提案する。
- 重み/活性化/勾配の線形および対数量子化方式を採用する(AP2ベースの量子化)。
- 勾配とパラメータ更新には実数値アキュムレータを用いてSGDの効果を保持する。
実験結果
リサーチクエスチョン
- RQ11ビットの重みと活性化を用いてニューラルネットワークを訓練・デプロイしても、精度の著しい低下なしに可能か。
- RQ2勾配を小さなビット幅に量子化する(例:6ビット)が訓練性能に与える影響は?
- RQ3極端に低精度を用いたQNNsが大規模データセット(ImageNet)でどのように機能するか。
- RQ4フル精度ネットワークと比較した場合のQNNsのエネルギーとメモリ効率の影響は。
- RQ5QNNsは再帰モデルや言語タスクにも同程度の精度で適用可能か。
主な発見
- BNNs/BNNs-variantの訓練は、ImageNetで1ビット重みと2ビット活性化を達成し、競争力のあるTop-1精度を得られる(例:AlexNetで41.8% Top-1、67.1% Top-5; GoogleNetで47.1% Top-1、69.1% Top-5)。
- 4-bit重みと活性化を持つビンアリザイズドネットワークはImageNetでTop-1精度が約5.5–5.6%低下(例:GoogleNetで4-bit時66.5% Top-1、6-bitの重み/活性化/勾配で66.4% Top-1)。
- 6-bit量子化勾配での訓練は限定的な性能低下をもたらす(例:ある構成の図で46.8%の劣化)。
- Penn Treebankの言語モデルは、特定のRNN/LSTM設定で4-bitの重み/活性化が32-bitと同等の精度を達成できることを示す(例:4-bitのRNN/LSTMで4ビットの活性化/重み)。
- BNNではフォワードパスのメモリとエネルギーが劇的に削減される(メモリ32x、小さく、メモリアクセスも32x削減; XNORカウントが多くのMACを置換)。
- ハードウェアカーネル実装(バイナリ行列乗算)は大幅なスピードアップを生みうる(例:MNISTのBNNがGPUで精度低下なしに7x速く実行)。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。