Skip to main content
QUICK REVIEW

[論文レビュー] Democratizing Production-Scale Distributed Deep Learning

Minghuang Ma, Hadi Pouransari|arXiv (Cornell University)|Oct 31, 2018
Adversarial Robustness in Machine Learning参考文献 26被引用数 5
ひとこと要約

Alchemist は Apple で開発されたクラウドネイティブでコンテナ化された分散学習サービスであり、低レベルのインfra構成の複雑さを抽象化することで、プロダクションスケールのディープラーニングを簡素化する。複数のフレームワークや学習パラダイムにわたるスムーズなスケーリングを可能にし、精度を損なわずに自律システムにおいて最大14倍の高速化を実現する。

ABSTRACT

The interest and demand for training deep neural networks have been experiencing rapid growth, spanning a wide range of applications in both academia and industry. However, training them distributed and at scale remains difficult due to the complex ecosystem of tools and hardware involved. One consequence is that the responsibility of orchestrating these complex components is often left to one-off scripts and glue code customized for specific problems. To address these restrictions, we introduce \emph{Alchemist} - an internal service built at Apple from the ground up for \emph{easy}, \emph{fast}, and \emph{scalable} distributed training. We discuss its design, implementation, and examples of running different flavors of distributed training. We also present case studies of its internal adoption in the development of autonomous systems, where training times have been reduced by 10x to keep up with the ever-growing data collection.

研究の動機と目的

  • 多様なチームやユースケースにわたる大規模なディープニューラルネットワークの学習における増大する課題に対処する。
  • 複雑なインfra構成、データ、ソフトウェア依存関係を抽象化することで、分散学習のオーケストレーションにおけるエンジニアリング負荷を軽減する。
  • オンプレミスおよびパブリッククラウド環境を問わず、一貫性があり再現可能でポータブルな学習環境を実現する。
  • TensorFlow や PyTorch などの複数のディープラーニングフレームワークおよび、同期的SGD や非同期的SGD などの分散学習パラダイムをサポートする。
  • データ量の多い環境(例:自律システム)におけるモデル開発を、学習時間を著しく短縮することで加速する。

提案手法

  • Kubernetes を用いたクラスタ管理とコンテナ化によるソフトウェア環境の統一を採用する。
  • プロトタイピングと大規模な学習ワークフローの両方をサポートするインタラクティブモードとバッチジョブモードを提供する。
  • 分散ファイルシステムと統合し、チーム間でのデータアクセスを容易にする POSIX に類似したインターフェースを公開する。
  • 同期的SGD、非同期的SGD、ブロックモーメンタムSGD、エラスティックアベーリージングSGD など、複数の分散学習アルゴリズムをサポートする。
  • 依存関係の自動管理を実現し、開発・テスト・本番環境間でのソフトウェアスタックの一貫性を保証する。
  • アプリケーションレベル(例:TensorBoard)およびシステムレベル(例:GPU/CPU使用率、ノード間通信)の監視ツールを統合し、パフォーマンスデバッグを可能にする。

実験結果

リサーチクエスチョン

  • RQ1統一されたシステムは、多様なチームやフレームワークにわたる分散ディープラーニングのオーケストレーションの複雑さをどのように軽減できるか?
  • RQ2生産環境において、一貫性がありポータブルでスケーラブルな分散学習を実現するためのアーキテクチャパターンは何か?
  • RQ3分散学習は、モデルの精度を損なわずに、壁時計時間の学習時間をどの程度短縮できるか?
  • RQ4同期的SGD と非同期的SGD などの異なる分散学習アルゴリズムは、収束速度とスループットの観点でどのように比較できるか?
  • RQ5同期的SGD における大バッチ学習の実用的限界は何か? また、それらはどのように緩和できるか?

主な発見

  • Alchemist を使用することで、2D 画像検出モデルの学習時間が、ベースラインの単一マシン設定と比較して 10倍短縮された。
  • 8台のマシンに合計64台のGPUを割り当てた場合、Alchemist は 3D 物体検出(VoxelNet)の学習時間を、4GPUの単一マシンベースラインと比較して14倍短縮した。
  • 64台のGPUを用いたセマンティックセグメンテーションの学習では、4GPUの単一マシン設定と比較して11倍の高速化が達成され、精度の低下は認められなかった。
  • 同期的SGD は、やや低いスループットであるものの、収束速度と最終的な精度において非同期バージョンを上回った。
  • 標準的な学習率スケーリングを用いた場合、グローバルバッチサイズが約 10^3 に達するあたりでモデルの精度が劣化し始め、大バッチ学習の実用的限界が示された。
  • 本システムは、複数のチームおよび複雑な自律システムワークロードにおいて、スケーラブルで再現可能で、障害のない分散学習を成功裏に実現した。

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

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

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

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