Skip to main content
QUICK REVIEW

[論文レビュー] DeepSpark: A Spark-Based Distributed Deep Learning Framework for Commodity Clusters

Hanjoo Kim, Jaehong Park|arXiv (Cornell University)|Feb 26, 2016
Advanced Clustering Algorithms Research参考文献 21被引用数 14
ひとこと要約

DeepSpark は、Apache Spark 上に構築された分散ディープラーニングフレームワークであり、データ並列性と非同期でロックフリーなエラスティック平均SGD(EASGD)を統合することで、コンmodityクラスタ上での学習を高速化する。パラメータ同期と計算を分離することで通信オーバーヘッドを低減し、CaffeOnSpark よりも最大10倍速いパラメータ交換を実現。非同期による反復回数の増加にもかかわらず、顕著な高速化を達成している。

ABSTRACT

The increasing complexity of deep neural networks (DNNs) has made it challenging to exploit existing large-scale data processing pipelines for handling massive data and parameters involved in DNN training. Distributed computing platforms and GPGPU-based acceleration provide a mainstream solution to this computational challenge. In this paper, we propose DeepSpark, a distributed and parallel deep learning framework that exploits Apache Spark on commodity clusters. To support parallel operations, DeepSpark automatically distributes workloads and parameters to Caffe/Tensorflow-running nodes using Spark, and iteratively aggregates training results by a novel lock-free asynchronous variant of the popular elastic averaging stochastic gradient descent based update scheme, effectively complementing the synchronized processing capabilities of Spark. DeepSpark is an on-going project, and the current release is available at http://deepspark.snu.ac.kr.

研究の動機と目的

  • コンmodityクラスタ上での既存のディープラーニングフレームワークにおける高い通信オーバーヘッドと限界のあるスケーラビリティを解決すること。
  • Apache Spark を用いて、大規模なデータ処理パイプラインとディープラーニングをシームレスに統合すること。
  • 非同期パラメータ更新メカニズムにより、同期のボトルネックを低減することで学習効率を向上させること。
  • Caffe や TensorFlow といった人気のあるディープラーニングフレームワークを、統一された Spark ベースの実行環境でサポートすること。
  • 専用のGPUクラスタに依存せずに、コンmodityハードウェア上でも収束が速く、スケーラブルな学習を達成すること。

提案手法

  • DeepSpark は、Apache Spark のレジlientsな分散データセット(RDD)を活用し、データとモデルパラメータをワーカーノードに分散させることでデータ並列性を実現する。
  • パラメータ更新と計算を分離するため、ロックフリーで非同期なエラスティック平均SGD(EASGD)の新規変種を実装し、同期遅延を低減する。
  • スレッドプールを用いてノード間のパラメータ交換を管理するパラメータエクスチェンジャー・モジュールを導入し、通信中のアイドル時間を最小限に抑える。
  • 通信周期(τ)を最適化することで、非同期による乖離ペナルティと通信オーバーヘッドの低減のバランスを取る。
  • Caffe と TensorFlow をバックエンドの計算エンジンとしてサポートし、Spark クラスタ上で柔軟なモデル学習を可能にする。
  • 計算時間(T_comp)と通信時間(T_comm)に基づいたスループットモデルを導出し、高いネットワーク遅延下でも理論的にスケーラブルであることを示している。

実験結果

リサーチクエスチョン

  • RQ1非同期でSparkベースのディープラーニングフレームワークは、コンmodityクラスタ上での同期型フレームワークよりも高速な学習を達成できるか?
  • RQ2パラメータの非同期性は、分散ディープラーニングにおける収束精度と反復回数にどのように影響するか?
  • RQ3Spark環境下でパラメータ同期を計算から分離することで、通信オーバーヘッドをどの程度低減できるか?
  • RQ4DeepSpark は、高い学習スループットを維持したまま、既存のデータ処理パイプラインと効果的に統合できるか?
  • RQ5非同期分散学習において、通信低減と乖離ペナルティのトレードオフはどのようなものか?

主な発見

  • DeepSpark は、CaffeOnSpark よりもパラメータ交換時間を10分の1未満にまで短縮し、反復回数の増加にもかかわらず顕著な高速化を達成した。
  • 16ノードでGoogLeNetを学習した場合、DeepSpark は CaffeOnSpark よりも速い収束を達成し、ミニバッチ学習に要する時間の約10%の時間でパラメータ交換が完了した。
  • 乖離ペナルティ d(a,τ,n) は通信周期 τ とノード数 n が増加するにつれて増加したが、通信オーバーヘッドの低減によるスループット向上がこれを上回った。
  • 16エグゼキューター環境では、データスパッピングのオーバーヘッドが合計学習時間の1%未満にとどまり、性能にほとんど影響を与えないことが示された。
  • 理論的スループットモデルにより、通信オーバーヘッド S が大きいコンmodityクラスタでは、大きな τ 値が n/d(a,τ,n) に近づく性能を達成できることを示した。
  • DeepSpark は効果的なスケーラビリティとフェイルセーフ性を示したが、RDDのラインレージュの問題により、エグゼキューターの障害発生時には現在、完全な再学習が必要である。

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

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

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

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