[論文レビュー] Parallax: Sparsity-aware Data Parallel Training of Deep Neural Networks
Parallaxは、モデルパラメータのスパarsityに応じて動的にパラメータサーバーとAllReduceアーキテクチャを組み合わせることで通信オーバーヘッドを最小化する、スパarsityに配慮したデータ並列学習フレームワークである。NLPモデルにおいて48 GPUでHorovodに比べ最大6.02倍、TensorFlowに比べ2.8倍の高速化を達成しており、密行列モデルにおいても既存のフレームワークと同等またはそれ以上の性能を発揮する。
The employment of high-performance servers and GPU accelerators for training deep neural network models have greatly accelerated recent advances in deep learning (DL). DL frameworks, such as TensorFlow, MXNet, and Caffe2, have emerged to assist DL researchers to train their models in a distributed manner. Although current DL frameworks scale well for image classification models, there remain opportunities for scalable distributed training on natural language processing (NLP) models. We found that current frameworks show relatively low scalability on training NLP models due to the lack of consideration to the difference in sparsity of model parameters. In this paper, we propose Parallax, a framework that optimizes data parallel training by utilizing the sparsity of model parameters. Parallax introduces a hybrid approach that combines Parameter Server and AllReduce architectures to optimize the amount of data transfer according to the sparsity. Experiments show that Parallax built atop TensorFlow achieves scalable training throughput on both dense and sparse models while requiring little effort from its users. Parallax achieves up to 2.8x, 6.02x speedup for NLP models than TensorFlow and Horovod with 48 GPUs, respectively. The training speed for the image classification models is equal to Horovod and 1.53x faster than TensorFlow.
研究の動機と目的
- 自然言語処理(NLP)モデルの学習における既存のディープラーニングフレームワークのスケーラビリティの低さを、スパースなモデルパラメータの最適化されていない取り扱いが原因として解決すること。
- 特に大規模な埋め込み層を有するNLPモデルにおいて、モデル変数のスパarsityを活用することで、分散データ並列学習における通信オーバーヘッドを低減すること。
- スパarsityに応じて変数ごとに最適な通信パターン(パラメータサーバーまたはAllReduce)を選択するハイブリッド通信アーキテクチャを設計し、ユーザーの介入を必要としないこと。
- 単一GPUの計算グラフを自動的にスケーラブルな分散グラフに変換することで、最小限のユーザー作業でシームレスかつ高性能な分散学習を可能にすること。
- スパース(例:NLP)および密行列(例:画像分類)の両方のモデルに対して、統合されたフレームワークで学習スループットとスケーリング効率を向上させること。
提案手法
- Parallaxは、変数ごとのスパarsity推定に基づき、スパース変数にはパラメータサーバー(PS)を、密行列変数にはAllReduceを使用するハイブリッド通信アーキテクチャを導入する。
- 学習時に変数のスパarsityに応じて適切な通信操作(例:allreduce、push/pull)を挿入するよう、計算グラフに対して自動的なグラフ変換を実行する。
- スパース変数については、それらを小さなチャンクに分割し、アクセスされた要素のみを転送するPSスタイルのpush/pull操作を用いることで、ネットワークトラフィックを最小限に抑える。
- フレームワークはグラフ解析中に各変数のスパarsityを推定し、コストモデルに基づいて最適な通信パターン(スパースの場合PS、密行列の場合AllReduce)を選択する。
- TensorFlowと統合され、同期的SGDをサポートしており、既存のディープラーニングワークフローと互換性を保ちつつ、スケーラブルな学習を可能にする。
- Parallaxは、並列性を最大化し通信および計算オーバーヘッドを最小限に抑える、スパース変数のための新規なパーティショニング戦略を採用する。
実験結果
リサーチクエスチョン
- RQ1スパースモデル、特に通信コストが支配的となる大規模な埋め込み層を有するNLPにおいて、データ並列学習をどのようにしてよりスケーラブルにできるか?
- RQ2パラメータサーバーとAllReduceのどちらの通信アーキテクチャが、スパースと密行列の異なるタイプのモデルパラメータに対して最適なパフォーマンスを発揮するか?
- RQ3変数ごとに最適なアーキテクチャを選択するハイブリッド通信モデルは、モノリシックなアプローチに比べてより優れた全体的なスケーラビリティを達成できるか?
- RQ4自動グラフ変換は、コードを変更せずにユーザーが高性能な分散学習を達成できるまでにどの程度の影響を及ぼせるか?
- RQ5Parallaxのパフォーマンスは、Horovod や TensorFlow といった最先端のフレームワークと比較して、スパースおよび密行列のディープラーニングモデルにおいてどの程度優れているか?
主な発見
- Parallaxは、言語モデルやニューラル機械翻訳モデルなどのNLPモデルを学習する際、48 GPUでHorovodに比べ最大6.02倍、TensorFlowに比べ2.8倍の高速化を達成する。
- 画像分類モデルでは、ParallaxはHorovodの性能を同等に維持し、48 GPUでTensorFlowに比べ1.53倍速く、モデルタイプを問わず優れたスケーリング性能を示す。
- 48 GPUでNLPモデルのスケーリング効率を19.0%まで向上させたのに対し、Horovodは7.0%、TensorFlowは19.0%にとどまっているため、分散学習効率に顕著な向上が見られた。
- スパース変数にはPSを、密行列変数にはAllReduceを適切に選択することで、通信オーバーヘッドを低減し、学習精度を損なわずにデータ転送量を最小限に抑える。
- 自動グラフ変換機構により、ユーザーはコードの変更を最小限に抑えながら、既存の単一GPUモデルを分散環境で学習可能となり、ほぼ最適なパフォーマンスを達成できる。
- Parallaxはオープンソースとして公開されており、https://github.com/snuspl/parallax で入手可能であり、スパarsityに配慮した分散学習分野における採用とさらなる研究を促進する。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。