Skip to main content
QUICK REVIEW

[論文レビュー] A Data and Model-Parallel, Distributed and Scalable Framework for Training of Deep Networks in Apache Spark

Disha Shrivastava, Santanu Chaudhury|arXiv (Cornell University)|Aug 19, 2017
Advanced Neural Network Applications参考文献 10被引用数 9
ひとこと要約

この論文は、コンsumer CPUのみを用いてApache Sparkでディープニューラルネットワークをトレーニングするスケーラブルでデータ並列およびモデル並列なフレームワークを提案する。モデル並列性に向けた新しい分散バックプロパゲーションアルゴリズムを導入し、収束性が保証されており、GPU や専用ハードウェアを必要とせずに、クラスタ上で大規模なモデルとデータを効率的に分散させることで、CNN に対して最大11倍の高速化を達成する。

ABSTRACT

Training deep networks is expensive and time-consuming with the training period increasing with data size and growth in model parameters. In this paper, we provide a framework for distributed training of deep networks over a cluster of CPUs in Apache Spark. The framework implements both Data Parallelism and Model Parallelism making it suitable to use for deep networks which require huge training data and model parameters which are too big to fit into the memory of a single machine. It can be scaled easily over a cluster of cheap commodity hardware to attain significant speedup and obtain better results making it quite economical as compared to farm of GPUs and supercomputers. We have proposed a new algorithm for training of deep networks for the case when the network is partitioned across the machines (Model Parallelism) along with detailed cost analysis and proof of convergence of the same. We have developed implementations for Fully-Connected Feedforward Networks, Convolutional Neural Networks, Recurrent Neural Networks and Long Short-Term Memory architectures. We present the results of extensive simulations demonstrating the speedup and accuracy obtained by our framework for different sizes of the data and model parameters with variation in the number of worker cores/partitions; thereby showing that our proposed framework can achieve significant speedup (upto 11X for CNN) and is also quite scalable.

研究の動機と目的

  • 単一マシン上で大規模なディープネットワークをトレーニングする際の高い計算コストとメモリ制限を解決すること。
  • 高価なGPUやスーパーコンピュータを必要とせず、コンsumer CPUクラスタのみを用いてスケーラブルなディープネットワークのトレーニングを可能にすること。
  • CNN、RNN、LSTMなどの多様なアーキテクチャをサポートする、Apache Sparkにおける統合フレームワークの開発。
  • 通信オーバーヘッドを低減しつつ、モデル並列設定における分散バックプロパゲーションに数学的に整合性があり収束性が保証されたアルゴリズムの提供。
  • データサイズ、モデルパラメータ、クラスタ構成の変化に応じたスケーラビリティとパフォーマンスの実証的検証。

提案手法

  • フレームワークは、トレーニングデータをワーカーノードに分割するデータ並列性と、大規模なニューラルネットワークのレイヤーをマシン間で分割するモデル並列性を組み合わせたハイブリッドアプローチを採用する。
  • モデル並列トレーニングのための新しい分散バックプロパゲーションアルゴリズムを提案し、勾配はローカルに計算され、パラメータサーバーのアーキテクチャを介して非同期に更新される。
  • 通信遅延や順序が入れ替わった更新を考慮した数学的解析とコストモデリングにより、アルゴリズムの収束性が保証される。
  • リジリエント分散データセット(RDD)を用いたApache Sparkでの実装であり、全結合ネットワーク、CNN、RNN、LSTMを含む複数のディープラーニングアーキテクチャをサポートする。
  • 最適化にはミニバッチ確率的勾配降下法(SGD)とRMSpropを用い、RNN/LSTMにおける可変長シーケンスはパディングとマスキングにより処理される。
  • CNNの局所的接続性を活用し、効率的なパラメータ同期を実現することで、通信オーバーヘッドを最小限に抑える設計がなされている。

実験結果

リサーチクエスチョン

  • RQ1Apache Spark上で構築された分散ディープラーニングフレームワークは、GPUに依存せずに大規模なモデルに対して顕著な高速化を達成できるか?
  • RQ2提案されたモデル並列バックプロパゲーションアルゴリズムは、非同期更新および通信遅延の下でも信頼性高く収束するか?
  • RQ3異なるニューラルネットワークアーキテクチャにおいて、データサイズとモデルの複雑さが増加するに従い、フレームワークのスケーラビリティはどのように変化するか?
  • RQ4モデルのパーティショニング方法とワーカーパartition数が、トレーニングパフォーマンスと通信効率に与える影響は何か?
  • RQ5フレームワークは、CPUクラスタにスケーリングする際、非分散トレーニングと同等の精度を維持できるか?

主な発見

  • 提案されたモデル並列バックプロパゲーションアルゴリズムは数学的にも実験的にも収束し、エラーが減少し、エポックを経るごとに勾配がゼロに近づく。
  • 500万件のサンプルでトレーニングする際、CNNに対して最大11倍の高速化を達成し、大規模データに対する強いスケーラビリティを示した。
  • 全結合ネットワークでは、10万件のサンプルで7.2倍の高速化が達成され、5台のCPUを用いて40億パラメータを持つモデルで5.6倍の高速化が観察された。
  • モデルサイズとデータサイズが増加するに従い、高速化が向上し、性能向上の飽和点もより大きなモデルで高くなる傾向にあり、大規模な問題に対して優れたスケーラビリティを示している。
  • 分散RNN/LSTMの実装は、ワーカーノード数の増加に伴い一様な高速化を示し、順序付きアーキテクチャにおけるスケーラビリティを確認した。
  • CNN、RNN、LSTM、全結合ネットワークを含む多様なアーキテクチャを、専用ハードウェアやソフトウェアを必要とせずに効果的にサポートした。

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

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

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

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