[論文レビュー] Performance Modeling of Distributed Deep Neural Networks
この論文は、分散型ディープニューラルネットワークフレームワークであるMicrosoft CNTKのパフォーマンスモデリングおよびプロファイリングを提案し、I/Oの低利用度と単一サーバーボトルネックがスケーラビリティを著しく制限していることを明らかにした。理論的な線形スケーリングにもかかわらず、CNTKは4ノードを超えると、順次ディスクI/Oとサーバーの飽和により性能が低下し、16ワーカーを超えると計算時間が増加する。これは分散DNNシステムにおける顕著な非効率性を示している。
During the past decade, machine learning has become extremely popular and can be found in many aspects of our every day life. Nowayadays with explosion of data while rapid growth of computation capacity, Distributed Deep Neural Networks (DDNNs) which can improve their performance linearly with more computation resources, have become hot and trending. However, there has not been an in depth study of the performance of these systems, and how well they scale. In this paper we analyze CNTK, one of the most commonly used DDNNs, by first building a performance model and then evaluating the system two settings: a small cluster with all nodes in a single rack connected to a top of rack switch, and in large scale using Blue Waters with arbitary placement of nodes. Our main focus was the scalability of the system with respect to adding more nodes. Based on our results, this system has an excessive initialization overhead because of poor I/O utilization which dominates the whole execution time. Because of this, the system does not scale beyond a few nodes (4 in Blue Waters). Additionally, due to a single server-multiple worker design the server becomes a bottleneck after 16 nodes limiting the scalability of the CNTK.
研究の動機と目的
- 分散DNNにおける非同期確率的勾配降下法(ASGD)のパフォーマンスモデルの構築を目的とする。
- 小規模および大規模クラスタ上で、理論的モデルと実際のCNTKのパフォーマンスを比較評価すること。
- 詳細なプロファイリングとトレースを用いて、CNTKのスケーラビリティボトルネックを同定および診断すること。
- 分散学習フレームワークにおけるI/O非効率性とサーバー過負荷を解消する改善策の提案
提案手法
- ASGDベースのDNN学習におけるCPU、メモリ、ディスクI/O、ネットワーク通信を考慮したパフォーランスモデルを構築した。
- ワーカー数を変更しながら、8ノードクラスタおよびBlue Watersスーパーコンピュータ上でスケーラビリティ実験を実施した。
- TAUパフォーマンスツールを用いて実行フェーズをプロファイリングおよびトレースし、I/Oおよびサーバー関連のオーバーヘッドを分離した。
- 初期パフォーマンスモデルを、順次ディスクアクセスおよびサーバーの飽和を反映するように更新し、T_new_diskおよびT_new_totalの新しい方程式を導入した。
- 初期化および計算フェーズごとの実行を分析し、スケーリングの傾向とボトルネックを特定した。
- 将来の改善策として、並列I/Oおよび分散型パラメータサーバーアーキテクチャの導入を提案し、サーバーボトルネックを軽減することを目的とした。
実験結果
リサーチクエスチョン
- RQ1分散アーキテクチャを備えながらも、なぜCNTKは4〜16ノードを超えてスケーリングできないのか?
- RQ2初期化フェーズにおいて、特に順次ディスクアクセスが実行時間にどの程度影響を与えているか?
- RQ3ワーカー数が増加するにつれて、単一サーバーアーキテクチャがどのようにボトルネックとなるのか?
- RQ4I/Oおよびサーバー制限を反映した更新済みモデルと比較して、初期パフォーマンスモデルは実世界の実行をどの程度正確に予測できるか?
- RQ5分散DNN学習における理論的スケーリングと実システムの挙動との間の主なパフォーマンスギャップは何か?
主な発見
- 初期化時間がノード数に比例して増加する。これは順次ディスクI/Oに起因し、パフォーマンスの主なオーバーヘッドとなっている。
- 計算時間は16ノードまで線形に減少するが、それ以上ではサーバーの飽和により増加する。
- Blue Watersでは4ノードを超えて、またサーバーボトルネックのため16ノードを超えては効果的なスケーリングが達成できない。
- 順次I/Oおよびサーバー制限を反映した更新済みパフォーランスモデルは、実験結果とよく一致している。
- 初期化の完全な並列化でさえも、サーバー制限のため16ノードを超えてスケーリングできない。
- 理論的スケーリングと実際のスケーリングのギャップの主な要因は、I/O非効率性とモノリシックなサーバーアーキテクチャにある。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。