Skip to main content
QUICK REVIEW

[論文レビュー] Theano-MPI: a Theano-based Distributed Training Framework

He Ma, Fei Mao|arXiv (Cornell University)|May 26, 2016
Advanced Neural Network Applications参考文献 15被引用数 5
ひとこと要約

Theano-MPI は、CUDA 対応 MPI を介したデータ並列性を用いて、マルチノード・マルチGPU環境でのディープラーニングモデルの分散学習を可能にするスケーラブルでオープンソースのフレームワークです。GPU間転送、半精度転送、最適化されたパラメータ同期を通じて通信オーバーヘッドを低減することで、8 GPU で AlexNet を学習する際、最大 6.7× のデータスルーレート向上を達成し、モデルの収束を維持しています。

ABSTRACT

We develop a scalable and extendable training framework that can utilize GPUs across nodes in a cluster and accelerate the training of deep learning models based on data parallelism. Both synchronous and asynchronous training are implemented in our framework, where parameter exchange among GPUs is based on CUDA-aware MPI. In this report, we analyze the convergence and capability of the framework to reduce training time when scaling the synchronous training of AlexNet and GoogLeNet from 2 GPUs to 8 GPUs. In addition, we explore novel ways to reduce the communication overhead caused by exchanging parameters. Finally, we release the framework as open-source for further research on distributed deep learning

研究の動機と目的

  • Theano を用いて、マルチノード・マルチGPUクラスタ上でスケーラブルな分散学習を可能にすること。
  • CUDA 対応 MPI と GPUDirect P2P を活用して、直接 GPU 間転送を実現することで、分散学習における通信オーバーヘッドを低減すること。
  • 効率的なパラメータ交換と改善された収束特性を備えた同期および非同期学習をサポートすること。
  • モデルの正確性を維持しながら学習を高速化する高パフォーマンスで拡張可能なフレームワークを提供すること。
  • 今後の分散ディープラーニング分野の研究を支援するため、フレームワークをオープンソースとして公開すること。

提案手法

  • フレームワークは CUDA 対応 MPI を使用して、ホストメモリを介さない直接的な GPU 間データ転送を可能にし、通信遅延を最小限に抑える。
  • 複数の Theano プロセスを各 GPU に割り当てることでデータ並列性を実装し、ノード間でのパラメータ平均化を MPI を用いて実現。
  • データ転送と合計処理の処理を分離することで、GPU 上での通信と計算のオーバーラップを可能にする。
  • 同期および非同期学習をサポートし、非同期モードでは EASGD に類似した戦略を採用し、平均化頻度 τ と移動率 α を設定可能にしている。
  • 帯域幅の使用を削減し通信を高速化するため、半精度(FP16)データ転送を採用。
  • Python 層の MPI アクセスには mpi4py を使用し、Theano 0.8、cuDNN v4、CUDA 7.0 を統合して GPU 加速計算を実現。

実験結果

リサーチクエスチョン

  • RQ1複数の GPU およびノードにスケーリングする分散ディープラーニングにおいて、通信オーバーヘッドをどのように最小化できるか?
  • RQ2CUDA 対応 MPI および GPUDirect P2P を使用した場合、マルチGPU環境における学習のスルーレート向上と収束にどのような影響を与えるか?
  • RQ3同期学習と非同期学習の選択が、Theano を基盤とする分散学習における収束性とパフォーマンスに与える影響は何か?
  • RQ4半精度通信は、モデルの正確性を損なわせることなく通信時間を短縮できるか?
  • RQ5非同期分散学習において最適な収束性とスルーレートを実現するためのハイパーパramータ設定(例:τ、α)は何か?

主な発見

  • 8 GPU で AlexNet を学習した際、データスルーレートに 6.7× の向上を達成。49 グローバルエポックでトップ-5誤差は 21.12% であった。
  • 非同期学習では、8 GPU で τ=1 かつ α=0.5 を使用した場合、Platoon と比較して通信オーバーヘッドが 42% 減少した。
  • CUDA 対応 MPI と直接 GPU 間転送の使用により、特にマルチノード環境において通信遅延が顕著に低減された。
  • データ転送と合計処理の分離により、通信と計算のオーバーラップが向上し、全体の効率性が向上した。
  • 適切にハイパーパramータを調整した場合、8 GPU にスケーリングしても、シングルGPU学習と同等のモデル収束を維持できた。
  • パフォーマンスは銅クラスタの QPI トポロジに制限を受けており、GPUDirect P2P が完全に活用されない場合、ノード内通信のボトルネックが生じることが示された。

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

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

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

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