Skip to main content
QUICK REVIEW

[論文レビュー] Is Integer Arithmetic Enough for Deep Learning Training?

Alireza Ghaffari, Marzieh S. Tahaei|arXiv (Cornell University)|Jul 18, 2022
Advanced Neural Network Applications被引用数 7
ひとこと要約

本論文は、畳み込みニューラルネットワークの学習全般—順伝播、誤差逆伝播、確率的勾配降下法(SGD)—において、浮動小数点演算を完全に整数演算に置き換える、ハードウェアにやさしい完全整数学習手法を提案する。線形固定小数点変換に加え、動的指数スケーリングに基づく非線形逆変換を用いることで、ハイパーパramータチューニング、勾配クリッピング、分布依存の調整なしに、浮動小数点ベースラインとほぼ同等の学習精度を達成する。分類、検出、セマンティックセグメンテーションのあらゆるタスクで、ほぼゼロの精度損失を示している。

ABSTRACT

The ever-increasing computational complexity of deep learning models makes their training and deployment difficult on various cloud and edge platforms. Replacing floating-point arithmetic with low-bit integer arithmetic is a promising approach to save energy, memory footprint, and latency of deep learning models. As such, quantization has attracted the attention of researchers in recent years. However, using integer numbers to form a fully functional integer training pipeline including forward pass, back-propagation, and stochastic gradient descent is not studied in detail. Our empirical and mathematical results reveal that integer arithmetic seems to be enough to train deep learning models. Unlike recent proposals, instead of quantization, we directly switch the number representation of computations. Our novel training method forms a fully integer training pipeline that does not change the trajectory of the loss and accuracy compared to floating-point, nor does it need any special hyper-parameter tuning, distribution adjustment, or gradient clipping. Our experimental results show that our proposed method is effective in a wide variety of tasks such as classification (including vision transformers), object detection, and semantic segmentation.

研究の動機と目的

  • エッジおよびクラウドプラットフォーム上での大規模ディープラーニングモデルのトレーニングに伴う計算コストおよびエネルギー消費の増大に対処すること。
  • 整数演算のみでエンドツーエンドのディープラーニング学習において、浮動小数点演算を完全に置き換えられるかどうかを調査すること。
  • 勾配クリッピング、ハイパーパramータチューニング、分布固有の調整を一切必要とせず、学習収束性と精度を維持する手法を開発すること。
  • バッチ正則化や確率的勾配降下法(SGD)を含む、すべての主要なコンponentsに対して、ハードウェアにやさしい形で整数計算を可能にすること。
  • 理論的および実験的に、整数学習が浮動小数点学習の収束軌道を保持することを検証すること。

提案手法

  • テンソルに含まれる最大指数に基づく線形固定小数点変換を用い、再トレーニングなしに動的スケーリングを可能にする。
  • 固定小数点値を浮動小数点に変換する非線形逆変換を適用し、量子化誤差を最小限に抑え、勾配推定にバイアスを生じさせない。
  • 量子化時に確率的丸めを用いることで、勾配の忠実性を維持し、トレーニング全体でバイアスの蓄積を防ぐ。
  • 線形層、畳み込み、バッチ正則化、レイヤー正則化、SGD(モーメンタムおよび重み減衰を含む)のすべての演算を、完全に整数演算で実行する。
  • スケールはテンソルごとに動的に計算され、トレーニング全体で安定を保ち、手動調整の必要がない。
  • アプローチは分布に依存しない。重み、勾配、入力データの統計的性質に依存しない。

実験結果

リサーチクエスチョン

  • RQ1ハイパーパramータチューニングや勾配クリッピングなしに、収束性と精度が浮動小数点学習と同等の完全整数学習パイプラインを設計できるか?
  • RQ2提案手法の固定小数点変換は、浮動小数点版と比較して、確率的勾配降下法の最適性ギャップにどのように影響するか?
  • RQ3整数演算を用いて、バッチ正則化および確率的勾配降下法の勾配計算を、最小限の精度損失で行えるか?
  • RQ48ビット未満(例:int5, int4)のビット幅に制限した場合、学習安定性およびモデル精度にどのような影響があるか?
  • RQ5本手法は、ビジョントランスフォーマー、オブジェクト検出、セマンティックセグメンテーションなど、多様なディープラーニングタスクにおいて、トレーニング軌道および最終的なモデル性能を保持するか?

主な発見

  • ResNet18を用いたImageNetにおけるトップ1精度は、整数学習で69.25%、浮動小数点ベースラインで69.75%を記録し、精度低下がほとんどないことが確認された。
  • CIFAR10で微調整されたビジョントランスフォーマーでは、整数学習で98.80%のトップ1精度、浮動小数点ベースラインで99.10%を達成し、アテンションベースのモデルでも優れた性能を示した。
  • COCOデータセットでFaster R-CNNを用いたオブジェクト検出では、整数学習でmAPが37.40%、浮動小数点で37.80%を記録し、性能劣化が最小限に抑えられた。
  • DeepLab-V1を用いたVOCにおけるセマンティックセグメンテーションでは、整数学習でmIOUが74.73%、浮動小数点で75.00%を記録し、密度予測タスクにおいても一貫性を示した。
  • 本手法は、バッチ正則化および完全なSGDを含む、完全に整数での誤差逆伝播を成功裏に実装しており、著者らの知る限り、最小限の精度損失でこれを達成した最初の実装である。
  • int5で学習すると精度が著しく低下(CIFAR10で88.5%に低下)し、int4では発散を示した。これは、安定した学習には8ビット整数演算が実用上の下限であることを示している。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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