Skip to main content
QUICK REVIEW

[論文レビュー] Performance Modeling and Evaluation of Distributed Deep Learning Frameworks on GPUs

Shaohuai Shi, Qiang Wang|arXiv (Cornell University)|Nov 16, 2017
Advanced Neural Network Applications参考文献 31被引用数 16
ひとこと要約

本論文は、Tesla P40 GPUを搭載した4ノードのGPUクラスタ上で、Caffe-MPI、CNTK、MXNet、TensorFlowの4つの主要な分散ディープラーニングフレームワークの性能を評価し、単一GPU、マルチGPU、マルチノード構成における同期的SGDのモデル化とベンチマークを実施した。通信オーバーヘッド、cuDNNチューニング、勾配集約の隠蔽が主な性能ボトルネックであることが特定され、ネットワーク遅延と非最適なノード間通信パターンの影響により、スケーリング効率は35.6%から77.7%の範囲にとどまった。

ABSTRACT

Deep learning frameworks have been widely deployed on GPU servers for deep learning applications in both academia and industry. In training deep neural networks (DNNs), there are many standard processes or algorithms, such as convolution and stochastic gradient descent (SGD), but the running performance of different frameworks might be different even running the same deep model on the same GPU hardware. In this study, we evaluate the running performance of four state-of-the-art distributed deep learning frameworks (i.e., Caffe-MPI, CNTK, MXNet, and TensorFlow) over single-GPU, multi-GPU, and multi-node environments. We first build performance models of standard processes in training DNNs with SGD, and then we benchmark the running performance of these frameworks with three popular convolutional neural networks (i.e., AlexNet, GoogleNet and ResNet-50), after that, we analyze what factors that result in the performance gap among these four frameworks. Through both analytical and experimental analysis, we identify bottlenecks and overheads which could be further optimized. The main contribution is that the proposed performance models and the analysis provide further optimization directions in both algorithmic design and system configuration.

研究の動機と目的

  • 異なるハードウェア構成(単一GPU、マルチGPU、マルチノード)における分散ディープラーニングフレームワークの性能を分析・モデル化すること。
  • 同一のハードウェア上で標準的なCNNを学習する際、最先端のフレームワーク(Caffe-MPI、CNTK、MXNet、TensorFlow)間の性能格差を特定すること。
  • データI/O、cuDNNチューニング、ノード間通信が学習スループットとスケーリング効率に与える影響を調査すること。
  • 分散DNN学習におけるフレームワーク設計およびシステム構成最適化のための性能モデルと実用的知見を提供すること。

提案手法

  • 同期的SGDの主要なコンponent(勾配計算、通信、集約)のための解析的性能モデルを構築した。
  • 3つの標準的なCNN(AlexNet、GoogleNet、ResNet-50)を用いて、単一GPU、マルチGPU、マルチノード環境における4つのフレームワークのベンチマークを実施した。
  • すべてのアトールーブ操作における通信オーバーヘッドを測定・分析し、NCCL2.0(CNTK)、TCPソケット(MXNet)、gRPC(TensorFlow)を用いた。
  • 実際の学習時間と理論的スルーブプの比較を通じてスケーリング効率を定量化し、$E_{allreduce}$と$t_{comm}$などの指標を用いた。
  • バックワードパスとアトールーブ操作の重ね合わせを測定することで、勾配通信の隠蔽効果の有効性を評価した。
  • ミニバッチサイズと入力レイアウトを制御した状態で、56Gbps InfiniBandを搭載した4ノードのクラスタ上で実験を実施した。

実験結果

リサーチクエスチョン

  • RQ14つのフレームワーク(Caffe-MPI、CNTK、MXNet、TensorFlow)は、単一GPU、マルチGPU、マルチノード環境において、学習スループットとスケーリング効率の面でどのように比較されるか?
  • RQ2同じハードウェアとDNNモデルを使用しているにもかかわらず、フレームワーク間で性能差が生じる要因は何か?
  • RQ3勾配通信のオーバーヘッドはどの程度隠蔽可能であり、マルチGPUおよびマルチノード環境におけるスケーリング性能にどのように影響するか?
  • RQ4cuDNNオートチューニングと入力データレイアウト(例:NCWH対NWHC)は、フォワードパスおよびバックワードパスの性能にどのように影響するか?
  • RQ5ネットワーク帯域幅と遅延(例:56Gbps InfiniBand)は、複数台のマシン間でのスケーラビリティを制限する要因となるか?

主な発見

  • AlexNetのような浅いネットワークでは、大規模なミニバッチサイズが高速なGPUですらデータ読み込みをボトルネックにすることがあり、効率的なデータ前処理の重要性が浮き彫りになった。
  • CNTKとMXNetはcuDNNオートチューニングと最適な入力レイアウト(NCWH)により高い性能を達成しているが、TensorFlowとCaffe-MPIは非最適な設定のため効率が低い。
  • MXNetとTensorFlowはバックワードパスの計算と重ね合わせることで勾配通信のオーバーヘッドを隠蔽しており、スケーリング性能が優れている。一方、CNTKはこれを行わず、結果として効率が低かった。
  • ノード間通信の遅延の影響により、4台のマシンに拡張した際のスケーリング効率が著しく低下した。CNTKはAlexNet、GoogleNet、ResNet-50でそれぞれ55%、67.5%、77.7%の効率を達成した。
  • MXNetは通信オーバーヘッドが高く(4台でのGoogleNetで0.4505s、バックワードパスは0.1819s)、結果としてスケーリング効率はたったの35.6%にとどまった。
  • TensorFlowはgRPCの遅延と非最適なRDMA使用の影響により、AlexNet、GoogleNet、ResNet-50でそれぞれ50.6%、75.6%、52.2%のスケーリング効率を示した。

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

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

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

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