Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating Binarized Neural Networks via Bit-Tensor-Cores in Turing GPUs

Ang Li, Simon Su|arXiv (Cornell University)|Jun 30, 2020
Advanced Neural Network Applications参考文献 69被引用数 7
ひとこと要約

本稿では、NVIDIA Turing GPUのBit-Tensor-Core(BTC)を完全に活用してバイナリゼートニューラルネットワーク(BNN)の高速化を実現する、新しいビットデータフォーマットと最適化されたカーネル設計を提案する。データレイアウトとBTCの8×128および128×8タイル演算を共同で最適化することで、従来のGPUベースBNNと比較してImageNet(ResNet-18で5.6K画像/秒)で77%高速な推論を達成し、ハードウェアに配慮したソフトウェア最適化によって優れた性能を示した。

ABSTRACT

Despite foreseeing tremendous speedups over conventional deep neural networks, the performance advantage of binarized neural networks (BNNs) has merely been showcased on general-purpose processors such as CPUs and GPUs. In fact, due to being unable to leverage bit-level-parallelism with a word-based architecture, GPUs have been criticized for extremely low utilization (1%) when executing BNNs. Consequently, the latest tensorcores in NVIDIA Turing GPUs start to experimentally support bit computation. In this work, we look into this brand new bit computation capability and characterize its unique features. We show that the stride of memory access can significantly affect performance delivery and a data-format co-design is highly desired to support the tensorcores for achieving superior performance than existing software solutions without tensorcores. We realize the tensorcore-accelerated BNN design, particularly the major functions for fully-connect and convolution layers -- bit matrix multiplication and bit convolution. Evaluations on two NVIDIA Turing GPUs show that, with ResNet-18, our BTC-BNN design can process ImageNet at a rate of 5.6K images per second, 77% faster than state-of-the-art. Our BNN approach is released on https://github.com/pnnl/TCBNN.

研究の動機と目的

  • NVIDIA Turing GPUのTensor Coreが有する新しいビット演算機能を調査し、バイナリゼートニューラルネットワーク(BNN)の高速化に完全に活用すること。
  • GPU上での従来のBNN実装における最適でないメモリアクセスステップの影響による性能ボトルネックを解消すること。
  • BTCハードウェアと連携したビットデータフォーマットを共同で設計することで、ビットレベルの並列処理を最大限に活用し、ソフトウェアのみのBNNソリューションを上回る性能を達成すること。
  • Turing GPU上で最新のBTCアクセラレータを用いたビット行列乗算とビット畳み込みを実装・評価する、包括的なBNN推論フレームワークを構築すること。

提案手法

  • BTCの8×128および128×8タイルサイズと整合する新しいビットデータフォーマット(FSB)を設計し、メモリアクセスステップのペナルティを最小限に抑える。
  • CUDAおよびCUTLASSを用いて、BTCハードウェアユニットをターゲットとした最適化されたカーネルをビット行列乗算(BMM)およびビット畳み込み(BConv)用に実装する。
  • データレイアウトとカーネルスケジューリングを共同で最適化し、Turing GPU上でのスレッドオブザベーションとメモリスループットを最大化する。
  • 複数GPUに跨るBNN推論をスケーリングするために、集団通信プリミティブ(NCCL、MPI)を活用し、BENNのようなアンサンブル手法を実現する。
  • RTX 2080およびRTX 2080 Ti GPUを用い、6つのモデル(MLP、VGG型、AlexNet、VGG-16、ResNet-14/18)と3つのデータセット(MNIST、CIFAR-10、ImageNet)でフレームワークを評価する。

実験結果

リサーチクエスチョン

  • RQ1Turing GPUのBit-Tensor-Coreを搭載した環境下で、メモリアクセスステップがBNN推論性能に与える影響は何か?
  • RQ2BTCのビット演算機能をBNNに完全に活用するには、どのようなデータフォーマットとソフトウェア最適化が必要か?
  • RQ3BTCアクセラレータを搭載したBNNは、ImageNetでリアルタイム推論を達成できるか? また、最先端のGPUベースBNNと比較して性能はどの程度か?
  • RQ4複数GPUに跨るBNN推論のスケーリングに伴う性能への影響は何か? また、アンサンブルBNN(例:BENN)における通信オーバーヘッドの役割は何か?
  • RQ5ブースティングなどのアーキテクチャ的共同設計およびモデルアンサンブル技術を用いることで、BNNの精度はどの程度維持または向上できるか?

主な発見

  • 提案されたFSBビットデータフォーマットは、メモリアクセスステップのペナルティを顕著に低減し、BTCの8×128および128×8タイル演算を効率的に活用できるようにした。
  • RTX 2080およびRTX 2080 Ti GPU上では、ResNet-18を用いたImageNet推論で1秒間に5.6K画像を処理する性能を達成し、最先端のGPUベースBNNと比較して77%の性能向上を実現した。
  • 6つのモデルと3つのデータセット全体で、平均してレイテンシが2.33倍、スループットが1.81倍高速化された。
  • 単一ノード内でのスケーリング(複数GPU)では通信オーバーヘッドが小さいが、複数ノードに跨るスケーリング(スケーリングアウト)では通信オーバーヘッドが支配的となり、分散BNN推論の主要なボトルネックであることが示された。
  • BENNのようなアンサンブル手法を用いることで、効率的な集団通信とBTCアクセラレーションのおかげで、低レイテンシを維持しながら高い精度(例:ResNet-18でImageNetでトップ-1精度61%)のBNN推論が実現した。

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

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

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

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