Skip to main content
QUICK REVIEW

[論文レビュー] Rethinking floating point for deep learning

Jeff Johnson|arXiv (Cornell University)|Nov 1, 2018
Neural Networks and Applications参考文献 25被引用数 104
ひとこと要約

この論文はKulisch累積と ELMA を用いた 8-bit ログ浮動小数点を導入し、再学習なしで ResNet-50 でほぼ float32 精度を達成し、28 nm ASIC ハードウェア上で 8/32-bit 整数 MAC に対するエネルギー/面積の利点を示す。

ABSTRACT

Reducing hardware overhead of neural networks for faster or lower power inference and training is an active area of research. Uniform quantization using integer multiply-add has been thoroughly investigated, which requires learning many quantization parameters, fine-tuning training or other prerequisites. Little effort is made to improve floating point relative to this baseline; it remains energy inefficient, and word size reduction yields drastic loss in needed dynamic range. We improve floating point to be more energy efficient than equivalent bit width integer hardware on a 28 nm ASIC process while retaining accuracy in 8 bits with a novel hybrid log multiply/linear add, Kulisch accumulation and tapered encodings from Gustafson's posit format. With no network retraining, and drop-in replacement of all math and float32 parameters via round-to-nearest-even only, this open-sourced 8-bit log float is within 0.9% top-1 and 0.2% top-5 accuracy of the original float32 ResNet-50 CNN model on ImageNet. Unlike int8 quantization, it is still a general purpose floating point arithmetic, interpretable out-of-the-box. Our 8/38-bit log float multiply-add is synthesized and power profiled at 28 nm at 0.96x the power and 1.12x the area of 8/32-bit integer multiply-add. In 16 bits, our log float multiply-add is 0.59x the power and 0.68x the area of IEEE 754 float16 fused multiply-add, maintaining the same signficand precision and dynamic range, proving useful for training ASICs as well.

研究の動機と目的

  • 再学習や大規模な量子化なしに、ニューラルネットワークの浮動小数点表現をよりエネルギー効率化できるかを調査する。
  • 小さなワードサイズでダイナミックレンジとエネルギー効率を改善しつつ、一般的な浮動小数点の意味を保持する新しい演算を開発する。
  • 提案された演算を標準的な CNN で評価し、ASIC および FPGA プラットフォーム上の従来の整数量子化ベースラインと比較する。

提案手法

  • posit (N,s) および Gustafson のテーパー化に触発された 8-bit ログ領域表現とテーパー化を提案し、Kulisch 累積による ELMA (exact log-linear multiply-add) を組み合わせる。
  • エネルギー効率の高い EMA/ELMA 操作を可能にするため、ログ領域の乗算と線形領域の蓄積を組み合わせて使用する。
  • すべての数学演算と float32 パラメータを、ネットワーク再訓練なしでドロップイン置換として丸め最も近い偶数変換に置換する。
  • 28 nm ASIC 上で 32x32 行列乗算–蓄積および 8/38-bit ログ MADD を用いて設計・評価し、電力/面積を IEEE/標準代替と比較する。

実験結果

リサーチクエスチョン

  • RQ18-bit 浮動小数点様表現は、再訓練なしで CNN で near float32 精度を保持できるか?
  • RQ2ログ領域と Kulisch 累積の技術は、ハードウェア上で従来の int8/32 量子化よりエネルギー・面積上の利点を提供するか?
  • RQ3CNN ワークロードに ELMA ベースの乗算加算を採用する際の精度、待機時間、ハードウェア資源のトレードオフはどうなるか?

主な発見

数学タイプ乗算加算タイプtop-1 acc (%)top-5 acc (%)
float32FMA76.13092.862
(8, 1, 5, 5, 7) logELMA-0.90-0.20
(7, 1) positEMA-4.63-2.28
(8, 0) positEMA-76.03-92.36
(8, 1) positEMA-0.87-0.19
(8, 2) positEMA-2.20-0.85
(9, 1) positEMA-0.30-0.09
  • 8-bit log float with ELMA は、再訓練なしで ImageNet の float32 ResNet-50 と比較して top-1 精度が 0.9% 内、top-5 精度が 0.2% 内に達する。
  • On 28 nm ASIC, 8/38-bit log MADD consumes 0.96x the power and 1.12x the area of 8/32-bit integer MADD.
  • In 16-bit configuration, log MADD uses 0.59x the power and 0.68x the area of IEEE-754 float16 FMA while maintaining comparable significand precision and dynamic range.
  • FPGA experiments show competitive results against int8/32 MAC baselines using ELMA with Kulisch accumulation.

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

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

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

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