[論文レビュー] Shifted and Squeezed 8-bit Floating Point format for Low-Precision Training of Deep Neural Networks
本論文では、損失スケーリング、確率的丸め、最初および最後のレイヤーを高精度で維持する必要がない、深層ニューラルネットワークの即時トレーニングを可能にする新規な8ビット浮動小数点形式S2FP8を提案する。量子化の前にテンソル範囲を動的に再スケーリングするための学習可能なシフトおよびスイープ要因を導入することで、ハイパーパramータのチューニングなしにResNet-50、Transformer、NCFモデルにおいてFP32レベルの精度を維持する。
Training with larger number of parameters while keeping fast iterations is an increasingly adopted strategy and trend for developing better performing Deep Neural Network (DNN) models. This necessitates increased memory footprint and computational requirements for training. Here we introduce a novel methodology for training deep neural networks using 8-bit floating point (FP8) numbers. Reduced bit precision allows for a larger effective memory and increased computational speed. We name this method Shifted and Squeezed FP8 (S2FP8). We show that, unlike previous 8-bit precision training methods, the proposed method works out-of-the-box for representative models: ResNet-50, Transformer and NCF. The method can maintain model accuracy without requiring fine-tuning loss scaling parameters or keeping certain layers in single precision. We introduce two learnable statistics of the DNN tensors - shifted and squeezed factors that are used to optimally adjust the range of the tensors in 8-bits, thus minimizing the loss in information due to quantization.
研究の動機と目的
- 8ビット精度での深層ニューラルネットワークトレーニングにおいて、広範なハイパーパramータチューニングやハードウェア固有の丸め技術を必要としない課題に対処すること。
- 損失スケーリング、確率的丸め、または最初および最後のレイヤーをFP32で維持する必要がないようにすること。これは、従来の8ビットトレーニング手法で一般的に求められる要件である。
- ハードウェアに優しく、一般化可能な8ビットトレーニング手法を開発し、ResNet-50、Transformer、NCFのような多様なアーキテクチャでモデル精度を維持すること。
- ビット幅を低減した計算を活用することで、より高速かつメモリ効率の良いトレーニングを実現し、モデル性能を保持すること。
提案手法
- 低精度トレーニングに最適化された、5つの指数ビットと2つの仮数ビットを備えた新規な8ビット浮動小数点形式S2FP8を導入する。
- 量子化の前にテンソル範囲を再スケーリングするための2つの学習可能な統計量(シフトβおよびスイープα)を採用し、情報損失を最小限に抑える。
- FP32テンソルの指数部にシフト操作、仮数部にスイープ操作を適用し、8ビット表現への切り捨ての前に適用する。
- 指数部への単純な加算・減算によるシフト操作と、仮数部のスケーリングによるスイープ操作を用い、効率的なハードウェアマッピングを可能にする。
- トレーニング中の数値安定性を保つために、マトリクス乗算器内でマスターウェイトと蓄積値をFP32で保持する。
- バックプロパゲーションによる勾配を用いて、各レイヤーごとにテンソル統計量を動的に調整することで、エンドツーエンドの8ビットトレーニングを実現する。
実験結果
リサーチクエスチョン
- RQ1損失スケーリングやレイヤー固有の精度制限なしに、8ビット浮動小数点トレーニングを完全に即時的(out-of-the-box)に可能にすることができるか?
- RQ2確率的丸めやチャンク化された蓄積に依存せずに、8ビットトレーニングにおけるテンソル範囲の適応をどのように達成できるか?
- RQ3学習可能なシフトおよびスイープ要因が、低精度トレーニングにおける手動のハイパーパramータチューニングを効果的に置き換えられるか?
- RQ4S2FP8は、アーキテクチャの変更なしに、ResNet-50、Transformer、NCFのような多様なDNNアーキテクチャでFP32レベルの精度を維持できるか?
- RQ5同一のトレーニング条件下で、S2FP8は既存のFP8手法と比較して収束性および精度で優れているか?
主な発見
- S2FP8は、ハイパーパramータチューニングなしにResNet-50の画像分類タスクでFP32レベルの精度を達成し、指数的損失スケーリングを用いたFP8を上回る性能を示した。
- 英ベトナム語翻訳タスクにおいて、S2FP8はFP32のBLEUスコア25.3を達成したのに対し、損失スケーリングを用いたFP8は21.3にとどまった。
- NCFレコメンデーションモデルでは、S2FP8がヒットレート0.663を達成し、FP32ベースラインの0.666に非常に近い結果を得た。一方、RNEを用いたFP8は0.633に低下した。
- S2FP8は、最初および最後のレイヤーをFP32で維持する必要がない。これは、従来の手法が収束を確保するための制限として求めているものである。
- 本手法は、視覚、自然言語処理、レコメンデーションシステムを含む多様なモデルに対して、アーキテクチャ的・トレーニングスキームの変更なしに、一般化性を示した。
- ハードウェア評価では、最小限のオーバーヘッドが確認された。シフトおよびスイープ操作は、指数部および仮数部の単純な算術演算で効率的に実装可能であり、パフォーマンスやスループットに影響を与えない。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。