[論文レビュー] PipeDream: Fast and Efficient Pipeline Parallel DNN Training
PipeDreamはパイプライン化されたモデル並列性とデータ並列性を組み合わせ、パイプライン並列DNNトレーニングを高速化します。通信を大幅に削減し、計算と通信を重ね合わせることで、データ並列 BSP と比較して time-to-accuracy を改善します。
PipeDream is a Deep Neural Network(DNN) training system for GPUs that parallelizes computation by pipelining execution across multiple machines. Its pipeline parallel computing model avoids the slowdowns faced by data-parallel training when large models and/or limited network bandwidth induce high communication-to-computation ratios. PipeDream reduces communication by up to 95% for large DNNs relative to data-parallel training, and allows perfect overlap of communication and computation. PipeDream keeps all available GPUs productive by systematically partitioning DNN layers among them to balance work and minimize communication, versions model parameters for backward pass correctness, and schedules the forward and backward passes of different inputs in round-robin fashion to optimize "time to target accuracy". Experiments with five different DNNs on two different clusters show that PipeDream is up to 5x faster in time-to-accuracy compared to data-parallel training.
研究の動機と目的
- データ並列性が高い通信コストと帯域幅の制限のために大規模DNNの効率的な訓練が必要であることを動機づける。
- 計算と通信のバランスをとるために、パイプライン化されたモデル並列性とデータ並列性を組み合わせたパイプライン並列トレーニング手法を提案する。
- DNNを自動的にパイプライン段に分割してメイクスパンを最小化し、利益がある場合にはレプリケーションを可能にする。
- 重みのバージョン管理と各段間の同期(weight stashingとvertical sync)を通じてパイプライン処理下で正しい学習を保証する。
- コモディティハードウェアを用いた実クラスターで、CNNsおよびRNNs全体で実証的な性能向上を示す。
提案手法
- DNNレイヤをGPU間でステージに分割し、計算をバランスさせ、段間通信を最小化する。
- DNNの短い実行をプロファイリングして、分割のための各レイヤの計算時間、活性化サイズ、パラメータサイズを推定する。
- 動的計画法を用いて、ステージのレプリケーションとNOAM(number of active minibatches)を含む最適なパイプライン分割を見つける。
- 1-forward-1-backward (1F1B) スケジューリング方針を採用して、定常状態で全GPUを忙しく動作させる。
- 各ミニバッチの前方・後方伝搬を、特定の重みバージョンと一致させるようにweight stashingを適用し、vertical syncを用いて段間の更新を合わせる。
- ミニバッチと中間状態のためにGPUメモリを事前に割り当て、割り当てオーバーヘッドを最小化する。
実験結果
リサーチクエスチョン
- RQ1データ並列性を超えるDNNトレーニングをどのように並列化して、コモディティGPU上の通信を削減しハードウェア効率を改善できるか。
- RQ2レイヤをパイプライン段に自動的に分割し、オプションのレプリケーションを伴って、巨大モデルの訓練時間を最小化できるか。
- RQ3パイプライン並列トレーニングで収束を保つために必要なスケジューリングと一貫性メカニズム(weight stashingやvertical syncなど)は何か。
- RQ4CNNおよびRNNモデル全体で、time-to-accuracyの観点でデータ並列BSPと比較したパイプライン並列トレーニングの性能はどうか。
- RQ5異なるモデルとハードウェア構成を持つ実クラスターでPipeDreamを使用した場合の実践的な利得は何か。
主な発見
- PipeDreamは大規模DNNに対して、データ並列トレーニングと比較してワーカ間通信を最大で95%削減する。
- PipeDreamは通信と計算を重ね合わせ、BSPより高いハードウェア効率を達成する。
- 5モデル(Inception-v3, VGG16, ResNet-50, AlexNet, and S2VTを含む)で、PipeDreamはtime-to-accuracyを最大で5.12x向上させる(モデルにより異なる)。
- 2つのクラスターで、AlexNetで最大6.76x、S2VTで最大3xの速度向上をデータ並列BSPと比較して示す。
- 本システムはCNNとRNN(seq-to-seqの形も含むの)をサポートし、コモディティクラウドGPUで動作する。
- 実験は、検証した構成でPipeDreamがデータ並列トレーニングよりtime-to-accuracyで最大で5x速いことを示している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。