Skip to main content
QUICK REVIEW

[論文レビュー] Distributed TensorFlow with MPI

Abhinav Vishnu, Charles Siegel|arXiv (Cornell University)|Mar 7, 2016
Parallel Computing and Optimization Techniques参考文献 8被引用数 34
ひとこと要約

本論文は、Message Passing Interface (MPI) を用いた最小限の拡張手法を提案し、TensorFlow を大規模分散クラスタ上で実行可能にする。TensorFlow ランタイムの変更なしに、複数ノード間での効率的な並列学習を可能にする。64コアまで強スケーリングを達成し、CIFAR-10-DNN で 3.37倍の高速化、Higgs データで 2.6倍の高速化を達成。大規模機械学習ワークロードにおける効率性とスケーラビリティを実証した。

ABSTRACT

Machine Learning and Data Mining (MLDM) algorithms are becoming increasingly important in analyzing large volume of data generated by simulations, experiments and mobile devices. With increasing data volume, distributed memory systems (such as tightly connected supercomputers or cloud computing systems) are becoming important in designing in-memory and massively parallel MLDM algorithms. Yet, the majority of open source MLDM software is limited to sequential execution with a few supporting multi-core/many-core execution. In this paper, we extend recently proposed Google TensorFlow for execution on large scale clusters using Message Passing Interface (MPI). Our approach requires minimal changes to the TensorFlow runtime -- making the proposed implementation generic and readily usable to increasingly large users of TensorFlow. We evaluate our implementation using an InfiniBand cluster and several well knowndatasets. Our evaluation indicates the efficiency of our proposed implementation.

研究の動機と目的

  • TensorFlow の能力を単一ノード実行にとどまらず、クラスタ上で大規模分散学習を可能にする。
  • シミュレーションや実験から得られるますます大きなデータセットを扱う際、TensorFlow の単一ノード制限を克服する。
  • 分散メモリシステムにおける効率的なノード間連携を実現するため、MPI を通信基盤として活用する。
  • TensorFlow ランタイムに変更を加えることなく、後方互換性を維持する。
  • 提案された MPI を用いた拡張手法のスケーラビリティとパフォーマンスを、実世界のデータセットを用いて評価する。

提案手法

  • 分散TensorFlow環境におけるワーカーノード間の通信層としてMPIを統合し、ノード間の同期とパラメータ交換を可能にする。
  • TensorFlow の既存の計算グラフとセッションモデルを活用し、ネイティブ実行の意味論を保ちつつ、分散処理に拡張する。
  • MPI を用いてパラメータサーバーとワーカーの役割を実装し、モデルパラメータの効率的配布と勾配集約を実現する。
  • TensorFlow ランタイムへの変更を最小限に抑えるために、MPI を介した分散調整を抽象化し、コアコンponentsへの深すぎる統合を避ける。
  • 制御依存関係とMPIを用いた変数同期化により、ノード間での学習の一貫性を維持する。
  • TensorFlow のC++バックエンドと最適化された線形代数ライブラリを活用し、各ノードでのパフォーマンスを最大化する。

実験結果

リサーチクエスチョン

  • RQ1軽量で最小限の変更で、TensorFlow を大規模クラスタに効果的にスケーリングできるか?
  • RQ2MPI を通信層として使用することで、TensorFlow のパフォーマンス特性が維持されつつ、分散学習が可能になるか?
  • RQ3提案されたMPIベースの拡張手法は、実世界の機械学習データセットにおいて、コア数やノード数の増加に伴いどのようにスケーリングするか?
  • RQ4単一ノードTensorFlowと比較して、分散実装のパフォーマンスオーバーヘッドとスピードアップはどの程度か?
  • RQ5この拡張手法は、DNN、CNN、および表形式データを含む多様な機械学習ワークロードを、MNIST、CIFAR-10、Higgs、Adult などのデータセットで効率的に処理できるか?

主な発見

  • 提案されたMPIベースの拡張手法は、64コアを用いたCIFAR-10-DNNで3.37倍の高速化を達成し、強スケーリング効率を示した。
  • Higgs データセットでは、20から80コアにスケーリングした際、2.6倍の高速化を達成した。
  • MNIST では16コアで相対的スピードアップが3.0倍に達し、効果的な負荷分散と通信オーバーヘッドの制御が確認された。
  • 分散化にもかかわらず高い訓練精度を維持しており、1時間以内にCIFAR-10-DNNで約55%の精度を達成した。これはモデルの忠実性が保たれていることを裏付けた。
  • TensorFlow ランタイムに変更が一切不要なため、既存のTensorFlowワークフローに容易に再利用可能で、展開可能である。
  • 複数のデータセットを用いた評価により、本手法の汎用性と効率性が確認され、教師あり学習タスクにおいて一貫したパフォーマンス向上が得られた。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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