Skip to main content
QUICK REVIEW

[論文レビュー] A DAG Model of Synchronous Stochastic Gradient Descent in Distributed Deep Learning

Shaohuai Shi, Qiang Wang|arXiv (Cornell University)|May 10, 2018
Advanced Neural Network Applications参考文献 24被引用数 8
ひとこと要約

本論文は、分散ディープラーニングにおける同期的確率的勾配降下法(S-SGD)の分析と最適化を目的として、計算および通信フェーズを明示的にモデル化する新しい有向非巡回グラフ(DAG)モデルを提案する。研究では、最新のGPUですら、高帯域幅のインターコネクト(InfiniBand や NVLink を含む)を備えても、勾配通信のオーバーヘッドがスケーリングを制限していることが判明し、I/O と勾配集約を計算と重ねることで性能を向上させる可能性が示された。

ABSTRACT

With huge amounts of training data, deep learning has made great breakthroughs in many artificial intelligence (AI) applications. However, such large-scale data sets present computational challenges, requiring training to be distributed on a cluster equipped with accelerators like GPUs. With the fast increase of GPU computing power, the data communications among GPUs have become a potential bottleneck on the overall training performance. In this paper, we first propose a general directed acyclic graph (DAG) model to describe the distributed synchronous stochastic gradient descent (S-SGD) algorithm, which has been widely used in distributed deep learning frameworks. To understand the practical impact of data communications on training performance, we conduct extensive empirical studies on four state-of-the-art distributed deep learning frameworks (i.e., Caffe-MPI, CNTK, MXNet and TensorFlow) over multi-GPU and multi-node environments with different data communication techniques, including PCIe, NVLink, 10GbE, and InfiniBand. Through both analytical and experimental studies, we identify the potential bottlenecks and overheads that could be further optimized. At last, we make the data set of our experimental traces publicly available, which could be used to support simulation-based studies.

研究の動機と目的

  • 同期的 SGD を用いた分散ディープラーニングの学習におけるデータ通信の性能への影響を理解すること。
  • Caffe-MPI、CNTK、MXNet、TensorFlow といった最新のディープラーニングフレームワークが、マルチGPUおよびマルチノード環境においてスケーリングにどの程度制限を受けるかを分析すること。
  • 高性能GPU上で効率的なスケーリングを妨げる、通信、I/O、計算のシステムレベルのボトルネックを同定すること。
  • シミュレーションベースの性能研究やフレームワーク最適化を可能にする、公開可能なレイヤー単位のトレースデータセットを提供すること。

提案手法

  • ノードが計算タスクまたは通信タスクを表す一般化された DAG モデルを構築し、S-SGD ワークフローにおける先行関係をエッジで表現する。
  • DAG モデルを用いてスケジューリング戦略を分析し、特に通信遅延を隠ぺいするために I/O と勾配集約を計算と重ねる戦略を検討する。
  • PCIe、NVLink、10GbE、InfiniBand を用いたマルチGPUおよびマルチノードクラスタ上で、4つのディープラーニングフレームワーク(Caffe-MPI、CNTK、MXNet、TensorFlow)を実証的に評価する。
  • K80 および V100 GPU 上で、AlexNet、GoogleNet、ResNet-50 の3つのCNNに対して、レイヤー単位の詳細な性能トレース(順方向/逆方向実行時間、勾配通信時間、勾配サイズ)を収集し、公開する。
  • 異なる通信技術およびフレームワーク固有の実装が、学習イテレーション時間とスケーリング効率に与える影響を分析する。
  • Caffe-MPI における実測値と比較して、DAG モデルの反復時間予測の正確性を検証し、平均誤差が 4.6–9.4% にとどまることを確認した。

実験結果

リサーチクエスチョン

  • RQ1PCIe、NVLink、10GbE、InfiniBand といった異なるデータ通信技術が、分散ディープラーニングにおける S-SGD の学習パフォーマンスにどのように影響を与えるか?
  • RQ2現在のディープラーニングフレームワークは、I/O や勾配集約を計算と重ねることで、通信オーバーヘッドをどれほど隠蔽できているか?
  • RQ3InfiniBand などの高度なインターコネクトを備えても、V100 などのハイエンドGPUではなぜフレームワークのスケーリングがうまくいかないのか?
  • RQ4勾配通信のパフォーマンスボトルネックは何か? また、異なるニューラルネットワークアーキテクチャ間でその性質はどのように異なるか?
  • RQ5DAG モデルは、分散学習における学習反復時間の予測を正確に行い、最適化戦略の指針を示せるか?

主な発見

  • DAG モデルは、Caffe-MPI の測定値と比較して、AlexNet では平均予測誤差 9.4%、GoogleNet では 4.7%、ResNet-50 では 4.6% と、学習反復時間の予測が正確であることが確認された。
  • CNTK は勾配通信を計算と重ねて実行しておらず、Caffe-MPI や MXNet よりも高い通信オーバーヘッドと、劣るスケーリング性能を示した。
  • 100Gbps の InfiniBand を使用しても、V100 GPU 上では勾配通信がボトルネックのままであり、特に Tensor Cores を使用する場合、ノード間通信の最適化が不十分であることが原因である。
  • 逆方向伝搬中のレイヤー単位の通信パターンにより、InfiniBand でもネットワーク帯域幅の利用効率が低く抑えられており、データ転送スケジューリングが最適でないことが示された。
  • 提案された DAG モデルにより、2つの重要な最適化機会が同定された:I/O を計算と重ねる、および勾配集約を計算と重ねる。両方ともスケーリング効率の向上に寄与する。
  • 公開されたトレースデータセットには、K80 および V100 GPU 上で3つのCNN(AlexNet、GoogleNet、ResNet-50)のレイヤー単位の実行時間と勾配サイズの測定値が含まれており、シミュレーションベースの性能分析やフレームワーク評価が可能である。

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

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

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

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