Skip to main content
QUICK REVIEW

[論文レビュー] Mixed Precision Training of Convolutional Neural Networks using Integer Operations

Dipankar Das, Naveen Mellempudi|arXiv (Cornell University)|Feb 3, 2018
Advanced Neural Network Applications参考文献 11被引用数 114
ひとこと要約

この論文は INT16 ベースの混合精度 CNN 学習を ImageNet-1K で実証し、GP ハードウェア上でおおよそ 1.8x のエンドツーエンド学習スループットを達成し、FP32 精度を上回る/同等にする。Dynamic Fixed Point スキームと整数 FMA カーネルを使用。

ABSTRACT

The state-of-the-art (SOTA) for mixed precision training is dominated by variants of low precision floating point operations, and in particular, FP16 accumulating into FP32 Micikevicius et al. (2017). On the other hand, while a lot of research has also happened in the domain of low and mixed-precision Integer training, these works either present results for non-SOTA networks (for instance only AlexNet for ImageNet-1K), or relatively small datasets (like CIFAR-10). In this work, we train state-of-the-art visual understanding neural networks on the ImageNet-1K dataset, with Integer operations on General Purpose (GP) hardware. In particular, we focus on Integer Fused-Multiply-and-Accumulate (FMA) operations which take two pairs of INT16 operands and accumulate results into an INT32 output.We propose a shared exponent representation of tensors and develop a Dynamic Fixed Point (DFP) scheme suitable for common neural network operations. The nuances of developing an efficient integer convolution kernel is examined, including methods to handle overflow of the INT32 accumulator. We implement CNN training for ResNet-50, GoogLeNet-v1, VGG-16 and AlexNet; and these networks achieve or exceed SOTA accuracy within the same number of iterations as their FP32 counterparts without any change in hyper-parameters and with a 1.8X improvement in end-to-end training throughput. To the best of our knowledge these results represent the first INT16 training results on GP hardware for ImageNet-1K dataset using SOTA CNNs and achieve highest reported accuracy using half-precision

研究の動機と目的

  • 一般目的ハードウェア上で INT16 整数演算を用いて ImageNet-1K の最先端 CNN の学習を示す。
  • ニューラルネットワーク訓練のためにテンソル全体で共有される指数を持つ Dynamic Fixed Point (DFP) 表現を開発する。
  • 畳み込みと GEMM のための効率的な整数ベースカーネルを設計する;層間でのオーバーフローとスケーリングを管理する。
  • ハイパーパラメータを変更せずに、混合精度の INT16 学習が FP32 の精度と同等またはそれを上回り、スループットを向上させることを示す。

提案手法

  • テンソルごとに共有された指数と INT16 データ要素を持つ Dynamic Fixed Point (DFP) 形式を提案する。
  • 8ビット符号付き指数を共有する INT16 テンソルを使用して、整数 FMA 命令を介して GEMM/畳み込み演算を実装する。
  • DFP-32 から DFP-16 へのダウンコンバージョンを、最大値ベースのスケーリングと複数の丸め戦略を用いて開発する。
  • FMAチェーン中のオーバーフローを防ぐために、INT32 で部分積算を行い、時折 FP32 の累積を利用する。
  • 重みの FP32 マスターコピーを保持しつつ、FP32 勾配で更新する;次の層の活性化/重みを DFP-16 プリミティブで量子化する。

実験結果

リサーチクエスチョン

  • RQ1一般目的ハードウェア上で INT16 ベースの混合精度学習が、ImageNet-1K からゼロから訓練された大規模CNNで FP32 の精度と同等またはそれを上回ることができるか?
  • RQ2CNN 訓練における Dynamic Fixed Point 表現と共有指数の影響が精度と性能に与える影響は?
  • RQ3順伝搬・逆伝搬とウェight 更新に整数 FMA カーネル(例: AVX512_4VNNI)を使用した場合の潜在的なスピードアップとハードウェア効率は?
  • RQ4訓練中の数値安定性を維持するために、畳み込みと GEMM カーネル全体でオーバーフローとスケーリングをどう管理するか?

主な発見

  • DFP16 混合精度訓練は ImageNet-1K の ResNet-50、GoogLeNet-v1、VGG-16、AlexNet に対して FP32 精度と同等またはそれを超える。
  • ResNet-50 は DFP16 で Top-1 75.77%、Top-5 92.84% を達成し、FP32 ベースラインの 75.70% Top-1、92.78% Top-5 を上回った。
  • 平均エンドツーエンドの学習スループットは、テストされたハードウェアで FP32 より 1.8x 向上する。
  • 畳み込みカーネル: 3x3 が 1.8x 速く、1x1 が 1.4x 速い;BatchNorm は 2x 速い;ReLU/要素ごと演算と BN の融合でメモリ帯域の効率を高める。
  • GoogLeNet-v1、VGG-16、AlexNet も INT16 学習で最先端の精度を達成し、ハイパーパラメータの変更なし。
  • GP ハードウェアで ImageNet-1K に対して INT16 CNN 学習結果を最先端 CNN とともに示し、半精度表現で最高の報告精度を達成した最初の例。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。