[論文レビュー] User-transparent Distributed TensorFlow
本論文では、ユーザーのコードを変更せずにHPCシステム上でスケールアウト学習を可能にする、ユーザーに透明な分散TensorFlow実装、MaTEx-TensorFlowを提示する。MPIをTensorFlowランタイムに直接統合し、低レベルの通信を抽象化することで、標準のAlexNet、GoogLeNet、InceptionV3、ResNet-50モデルを用いたマルチノードCPUおよびGPUシステムにおいて、逐次学習と同一の損失曲線を示し、ほぼ理想に近いスケーリングを達成した。
Deep Learning (DL) algorithms have become the {\em de facto} choice for data analysis. Several DL implementations -- primarily limited to a single compute node -- such as Caffe, TensorFlow, Theano and Torch have become readily available. Distributed DL implementations capable of execution on large scale systems are becoming important to address the computational needs of large data produced by scientific simulations and experiments. Yet, the adoption of distributed DL implementations faces significant impediments: 1) most implementations require DL analysts to modify their code significantly -- which is a show-stopper, 2) several distributed DL implementations are geared towards cloud computing systems -- which is inadequate for execution on massively parallel systems such as supercomputers. This work addresses each of these problems. We provide a distributed memory DL implementation by incorporating required changes in the TensorFlow runtime itself. This dramatically reduces the entry barrier for using a distributed TensorFlow implementation. We use Message Passing Interface (MPI) -- which provides performance portability, especially since MPI specific changes are abstracted from users. Lastly -- and arguably most importantly -- we make our implementation available for broader use, under the umbrella of Machine Learning Toolkit for Extreme Scale (MaTEx) at { exttt http://hpc.pnl.gov/matex}. We refer to our implementation as MaTEx-TensorFlow.
研究の動機と目的
- 分散ディープラーニングの利用における高い入り口障壁を解消し、ユーザーがTensorFlowコードを変更する必要がないようにすること。
- InfiniBandなどの高帯域幅インターコネクトを備えたHPCシステムにおいて、gRPCベースのソリューションに不適切な環境でも、効率的な分散TensorFlow実行を可能にすること。
- データ並列性をサポートする、生産環境対応でパフォーマンスが高く、ポータブルな分散TensorFlowランタイムを提供すること。
- 標準TensorFlowと同等の機能を維持し、同じ学習ダイナミクスと収束行動を保証すること。
- マシンラーニングツールキット for Extreme Scale (MaTEx) を通じて、広く利用可能にする。これにより、HPCベースのディープラーニングの採用を加速する。
提案手法
- gRPCベースの通信に代わり、MPIをTensorFlowランタイムに直接統合し、InfiniBandなどの高性能インターコネクトをネイティブにサポートする。
- MPI固有のロジックをランタイム内に埋め込むことで、ユーザーがMPI呼び出しを書く必要がなくなり、既存のTensorFlowスクリプトを変更する必要がなくなる。
- MPIの集合的通信演算を用いてレプリカ間の勾配を同期することで、同期的確率的勾配降下法(SGD)によるデータ並列性を実装する。
- TensorFlow 1.0に新しいユーザー操作および通信プリミティブを追加し、後方互換性を保ちながら分散学習をサポートする。
- 複数のデータフォーマットをサポートするカスタムデータリーダーインタフェースを実装し、分散環境でのデータ読み込みを簡素化する。
- 既存のTensorFlow計算グラフと自動微分を活用することで、すべての標準モデル(例:AlexNet、ResNet-50)との互換性を保証する。
実験結果
リサーチクエスチョン
- RQ1既存のユーザースクリプトを変更せずに、コード変更なしで分散TensorFlow実装を構築できるか?
- RQ2MPIをTensorFlowランタイムに効果的に統合することで、InfiniBandインターコネクトを備えたHPCシステム上で、高性能でスケーラブルな学習を実現できるか?
- RQ3提案された実装は、逐次TensorFlow学習と同一の収束行動と損失曲線を維持するか?
- RQ4マルチコアCPUおよびマルチGPUHPCプラットフォームの両方で、パフォーマンスのポータビリティを損なわず、強力なスケーリングを達成できるか?
- RQ5MaTExのようなオープンソースHPCソフトウェアの枠組み内で、生産環境対応でユーザーに透明な分散ディープラーニングシステムを提供することは可能か?
主な発見
- MaTEx-TensorFlowは、AlexNetを用いたImageNet LSVRC12データセットにおける学習で、逐次TensorFlowと同一の損失曲線を示し、機能的同等性を確認した。
- InfiniBandインターコネクトを用いたIntelマルチコアシステムおよびNVIDIAマルチGPUシステムの両方で、複数のコンピューティングノードにわたる効果的なスケーリングを達成した。
- ユーザーがTensorFlowコードを変更する必要がないため、HPCベースのディープラーニングにおける利用の入り口障壁を顕著に低減した。
- MPIをTensorFlowランタイムに埋め込むことで、パフォーマンスのポータビリティを実現し、スーパーコンピュータ環境に一般的な高帯域幅インターコネクトを効率的に活用した。
- このソリューションは生産環境対応であり、http://hpc.pnl.gov/matex にてMaTExの下で公開されており、GoogLeNet、InceptionV3、ResNet-50を含む幅広いディープラーニングモデルをサポートする。
- gRPCベースの分散TensorFlowの限界を効果的に解消した。これは、イーサーネット依存とRDMAネイティブサポートの欠如により、HPCシステムに不適切であるためである。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。