Skip to main content
QUICK REVIEW

[論文レビュー] Training DNNs with Hybrid Block Floating Point

Mario Drumond, Tao Lin|arXiv (Cornell University)|Apr 4, 2018
Parallel Computing and Optimization Techniques参考文献 22被引用数 28
ひとこと要約

本稿では、深層ニューラルネットワークの学習に適したハイブリッドブロック浮動小数点(BFP)と浮動小数点の組み合わせ表現であるHBFPを提案する。ドット積はハードウェア効率を高めるためにブロック浮動小数点(BFP)で計算され、その他の演算は精度を保つためにフル精度浮動小数点で処理される。HBFPは、FP16と比較して最大8.5倍の高いスループットと2倍のモデル圧縮を実現しながら、FP32レベルのモデル精度を達成でき、高密度でエネルギー効率の良いDNNアクセラレータの実現を可能にする。

ABSTRACT

The wide adoption of DNNs has given birth to unrelenting computing requirements, forcing datacenter operators to adopt domain-specific accelerators to train them. These accelerators typically employ densely packed full precision floating-point arithmetic to maximize performance per area. Ongoing research efforts seek to further increase that performance density by replacing floating-point with fixed-point arithmetic. However, a significant roadblock for these attempts has been fixed point's narrow dynamic range, which is insufficient for DNN training convergence. We identify block floating point (BFP) as a promising alternative representation since it exhibits wide dynamic range and enables the majority of DNN operations to be performed with fixed-point logic. Unfortunately, BFP alone introduces several limitations that preclude its direct applicability. In this work, we introduce HBFP, a hybrid BFP-FP approach, which performs all dot products in BFP and other operations in floating point. HBFP delivers the best of both worlds: the high accuracy of floating point at the superior hardware density of fixed point. For a wide variety of models, we show that HBFP matches floating point's accuracy while enabling hardware implementations that deliver up to 8.5x higher throughput.

研究の動機と目的

  • DNN学習における固定小数点算術の動的範囲の制限とハードウェア非効率性に対処すること。
  • 純粋なブロック浮動小数点(BFP)の限界、例えば指数選択の難しさや広いテンソル分布に起因するデータ損失を克服すること。
  • 固定小数点算術のハードウェア密度と浮動小数点計算の精度を活用するハイブリッド表現を設計すること。
  • FP32の精度を維持しながらメモリ帯域幅とモデルサイズを削減できる、高スループットで低面積のDNNアクセラレータを実現すること。
  • HBFPが多様なDNNアーキテクチャとデータセットにおいてFP32の即時置換として機能できることを検証すること。

提案手法

  • HBFPは、すべてのドット積を8ビットまたは12ビットの仮数部を用いたBFPで処理するが、その他の演算(例:活性化関数、正規化)はフル精度浮動小数点で実行する。
  • 各ドット積の前に動的に指数選択が行われ、スケーリングを強化し、仮数部の幅要件を最小限に抑える。
  • タイリングと広い重み保存最適化を適用することで、最小限の面積とメモリオーバーヘッドでBFPの精度を向上させる。
  • 活性化関数の値は浮動小数点形式で保存されるが、8ビット表現やReLU用の1ビットフラグを用いた圧縮により、メモリ帯域幅を削減できる。
  • FPGAプロトタイプでは8ビットBFP乗算器とFP32に類似した活性化ユニットを実装し、高いスループットと低いリソース使用量を実証した。
  • 評価は、ResNet、WideResNet、DenseNet、LSTMモデルを用いた画像分類および言語モデリングタスクで実施した。

実験結果

リサーチクエスチョン

  • RQ1ハイブリッドBFP-FP表現は、顕著なハードウェアスループットの向上を実現しながら、DNN学習でFP32レベルの精度を達成できるか?
  • RQ2BFPにおける動的指数選択は、狭い仮数部幅でもデータ損失を軽減し、収束性を向上させることができるか?
  • RQ3他の演算がFP32のまま維持される状況で、ドット積にBFPを限定的に適用することで、モデル精度を保持できる範囲はどの程度か?
  • RQ4FP16やFP32と比較してHBFPを用いることで、面積、スループット、メモリ帯域幅の面でどの程度のハードウェア効率の向上が得られるか?
  • RQ5HBFPは多様なDNNアーキテクチャとデータセットにおいて、FP32の即時置換として機能できるか?

主な発見

  • 8ビット仮数部を用いたHBFPは、同じFPGA上でFP16ベースのアクセラレータと比較して8.5倍の高いスループットを達成し、変換ユニットによるパフォーマンスオーバーヘッドが一切ない。
  • 12ビット仮数部を用いたHBFPは、評価したすべてのモデルでFP32のテスト誤差に一致した:CIFAR-100におけるResNet-50では26.07%、ImageNetでは1.89%、PTBにおけるLSTMでは61.31の perplexity であった。
  • 8ビット仮数部を用いたHBFPはImageNetで23.88%のテスト誤差を達成し、FP32との差が0.24%以内に収まり、わずかな精度低下で高い精度を実現した。
  • HBFPは、活性化関数を狭い浮動小数点形式または圧縮形式で保存することで、順伝播および逆伝播のメモリ帯域幅を最大4倍まで削減できる。
  • FPGAプロトタイプにおける変換ユニットはリソースの1%未満を占め、パフォーマンスへの影響もなしに、効率的な統合を可能にした。
  • HBFPは、オンチップメモリ容量と分散学習におけるオフチップ帯域幅要件を削減できるため、最大2倍のモデル圧縮を実現できる。

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

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

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

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