Skip to main content
QUICK REVIEW

[論文レビュー] MXNET-MPI: Embedding MPI parallelism in Parameter Server Task Model for scaling Deep Learning

Amith R. Mamidala, Γεώργιος Κόλλιας|arXiv (Cornell University)|Jan 11, 2018
Stochastic Gradient Optimization Techniques参考文献 19被引用数 18
ひとこと要約

本稿では、パラメータサーバー(PS)タスクモデルにMPI並列処理を統合することで、スケーラブルなディープラーニング学習を実現するハイブリッドフレームワーク、MXNET-MPIを提案する。MXNetの計算グラフ内にMPI集合的演算——特にテンソル集合的演算——を埋め込むことで、ネットワークの競合とパラメータの陳腐化を低減し、1エポックあたり6倍の高速化を達成するとともに、ResNet-50を用いたImageNetで0.72以上のトップ1精度を達成。これは純粋なPSおよびMPIアプローチを上回る性能を示している。

ABSTRACT

Existing Deep Learning frameworks exclusively use either Parameter Server(PS) approach or MPI parallelism. In this paper, we discuss the drawbacks of such approaches and propose a generic framework supporting both PS and MPI programming paradigms, co-existing at the same time. The key advantage of the new model is to embed the scaling benefits of MPI parallelism into the loosely coupled PS task model. Apart from providing a practical usage model of MPI in cloud, such framework allows for novel communication avoiding algorithms that do parameter averaging in Stochastic Gradient Descent(SGD) approaches. We show how MPI and PS models can synergestically apply algorithms such as Elastic SGD to improve the rate of convergence against existing approaches. These new algorithms directly help scaling SGD clusterwide. Further, we also optimize the critical component of the framework, namely global aggregation or allreduce using a novel concept of tensor collectives. These treat a group of vectors on a node as a single object allowing for the existing single vector algorithms to be directly applicable. We back our claims with sufficient emperical evidence using large scale ImageNet 1K data. Our framework is built upon MXNET but the design is generic and can be adapted to other popular DL infrastructures.

研究の動機と目的

  • 純粋なパラメータサーバー(PS)およびMPIベースのディープラーニングフレームワークが直面するスケーラビリティの制限、特にネットワークのホットスポット、パラメータの陳腐化、または故障耐性の低さを解消すること。
  • MPIとPSパラダイムを1つのフレームワーク内でシームレスに共存可能にすることで、PSの柔軟性とMPIの性能の両方をバランスさせた柔軟なチューニングを可能にすること。
  • 分散SGDにおける収束速度の向上を図るため、MPI Elastic SGDなどの新たな通信回避アルゴリズムを設計・実装すること。
  • テンソル集合的演算を活用し、GPUごとのパラメータベクトル群を1つのオブジェクトとして扱うことで、帯域幅の効率的利用と遅延の低減を実現するグローバル集約の最適化。
  • 実世界のHPCおよびクラウドクラスタを用いて、大規模なImageNet 1K学習において最先端の性能を示すこと。

提案手法

  • MPI集合的プリミティブ——特にallreduceとbroadcast——を、PSとインターフェースを取る独立したMPI_COMM_WORLDジョブクライアントを介して、MXNetの計算グラフに埋め込む。
  • MPIクライアント数をチューナブルにすることで、純粋なPSから純粋なMPIへの滑らかな移行を可能にするハイブリッドモデルを導入。故障耐性と性能の両立を図る中間設定を実現。
  • MPIコミュニケータ内では同期更新、外では非同期なラージ更新を組み合わせた、新規のMPI Elastic SGDアルゴリズムを設計。これにより、陳腐化の低減と収束の向上を実現。
  • GPUが保持するパラメータベクトル群を1つのテンソルオブジェクトとして扱うテンソル集合的演算を実装。これにより、従来の単一ベクトル向けアルゴリズムを効率的に再利用可能。
  • GPUアクセラレーテッドカーネル(IBMGpu)を用いたグローバル削減の最適化を実施。NCCLと比較し、リングベースおよびホストメモリベースの削減戦略を検証し、最高帯域幅を達成する方法を同定。
  • 高帯域幅インタコネクト(例:NVLink)とマルチスレッドCUDAカーネル(112スレッドブロック)を活用し、削減およびブロードキャストの帯域幅を最大化。allreduceで最大30 GB/secを達成。

実験結果

リサーチクエスチョン

  • RQ1MPIとパラメータサーバーモデルを1つのディープラーニングフレームワーク内に統合することで、性能と故障耐性の両方の利点を組み合わせることが可能か?
  • RQ2MXNetのようなタスクベースPSフレームワークに、MPI集合的演算を効率的に埋め込む方法は何か? ただし、プログラミングモデルを破壊しないように。
  • RQ3MPIを用いたElastic SGDのような新規通信回避アルゴリズムは、大規模分散SGDにおける収束速度を顕著に向上させ得るか?
  • RQ41GPUあたりの複数ベクトルを1つのテンソルとして扱うテンソル集合的演算は、大規模allreduce演算における帯域幅の向上と遅延低減にどの程度寄与するか?
  • RQ5ハイブリッドMPI-PSモデルは、スケーラビリティと故障耐性を維持しながら、ImageNet 1Kで最先端の学習性能を達成できるか?

主な発見

  • ハイブリッドMXNET-MPIフレームワークは、ImageNet 1Kにおいて、デフォルトのPSアプローチと比較して1エポックあたりの学習時間を6倍短縮するとともに、収束速度の向上を達成した。
  • MPI Elastic SGDを採用することで、通信頻度を低く抑えても、主要な並列SGDアプローチを上回る2倍以上の収束速度向上を達成した。
  • テンソル集合的演算に基づくallreduce実装は、IBMGpuカーネルを用いてピーク帯域幅30 GB/secを達成。Minskyクラスタ上ではNCCL(15 GB/sec)およびBaiduのリング実装を6倍上回った。
  • ResNet-50を用いて、全ImageNet 1Kデータセットで0.72以上の検証精度を達成。論文発表当時、最先端の性能を記録した。
  • MPI-ESGDの最適化設定(2クライアント、スケーリングされたワーカー)は、12ワーカーを用いたdist-ESGDを上回った。これは、クライアント数の削減がパラメータの陳腐化を緩和し、収束を改善することを示している。
  • フレームワークの設計により、PythonベースのディープラーニングワークフローへのMPIのシームレス統合が可能。低レベルのMPIの複雑さを抽象化しつつ、LSFジョブ再起動による高パフォーマンスと故障耐性を実現。

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

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

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

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