[論文レビュー] Efficient and Robust Parallel DNN Training through Model Parallelism on Multi-GPU Platform
本論文は、複数GPUでのトレーニング時の新鮮さの遅延を緩和するためのパイプライン型モデル並列性向けの重み予測技術 SpecTrain を提案し、データ並列性と同等の精度を維持しつつ GPU 利用率を高め、4 GPU で最大 8.91x のスピードアップを達成する。
The training process of Deep Neural Network (DNN) is compute-intensive, often taking days to weeks to train a DNN model. Therefore, parallel execution of DNN training on GPUs is a widely adopted approach to speed up the process nowadays. Due to the implementation simplicity, data parallelism is currently the most commonly used parallelization method. Nonetheless, data parallelism suffers from excessive inter-GPU communication overhead due to frequent weight synchronization among GPUs. Another approach is pipelined model parallelism, which partitions a DNN model among GPUs, and processes multiple mini-batches concurrently. This approach can significantly reduce inter-GPU communication cost compared to data parallelism. However, pipelined model parallelism faces the weight staleness issue; that is, gradients are computed with stale weights, leading to training instability and accuracy loss. In this paper, we present a pipelined model parallel execution method that enables high GPU utilization while maintaining robust training accuracy via a novel weight prediction technique, SpecTrain. Experimental results show that our proposal achieves up to 8.91x speedup compared to data parallelism on a 4-GPU platform while maintaining comparable model accuracy.
研究の動機と目的
- データ並列性が多GPUプラットフォームでのGPU間通信オーバーヘッドによって制約される点を動機づけ、分析する。
- GPU 利用率を改善し、GPU間データ転送を減らすためのパイプライン型モデル並列性を検討する。
- パイプライン型モデル並列性に内在する重みの遅延問題を特定し対処する。
- 訓練の頑健性と精度を維持するため、滑らか化された勾配に基づく重み予測メカニズム SpecTrain を導入する。
- 4-GPU プラットフォーム上で diverse な CNN、FCN、RNN モデルのスループットと精度を評価する。
提案手法
- PipeDream に由来するパイプライン型モデル並列訓練フレームワークを採用し、重み予測のための SpecTrain を導入する。
- 運動量 SGD の滑らか化勾配を用いて将来の重みを予測し、初期パイプライン段階での重み更新を推定する。
- 予測重みは W_hat_{t+s} = W_t - s * eta * v_{t-1} の式で計算する。ここで v_{t-1} は滑らか化された勾配。
- GPU インデックスと前向き/後向きパスがミニバッチであるかどうかに基づいてバージョン差分 s を決定する(論文に具体的な式を示す)。
- CIFAR-10/IMDb データセット上で six models(CNN、FCN、RNN)についてデータ並列、Vanilla Model P.、PipeDream(重みスタッシング)、SpecTrain を比較する。
- 訓練のスループット、収束挙動、および精度分析を提供し、頑健性と性能向上を示す。
実験結果
リサーチクエスチョン
- RQ1データ並列性とモデル並列性は、複数GPUプラットフォームでのGPU間通信と訓練効率の点でどう異なるのか。
- RQ2パイプライン型モデル並列性は、精度を犠牲にせず高い GPU 利用率を達成できるのか、重みの遅延を緩和する仕組みは何か。
- RQ3SpecTrain の重み予測は、データ並列性および既存のパイプライン手法に対してスループット向上を達成しつつモデルの精度を維持または向上させるのか。
- RQ4CNN、FCN、RNN モデルを跨ぐ SpecTrain の性能/精度のトレードオフはどうなるのか。
主な発見
| Parallelization Scheme | Min. Train Loss | Min. Val Loss | Max. Val Accuracy | |
|---|---|---|---|---|
| VGG16 | Data P. | 0.213271 | 0.794613 | 73.4776% |
| VGG16 | Vanilla Model P. | 0.204126 | 0.811148 | 73.0569% |
| VGG16 | PipeDream | 0.200585 | 0.811144 | 72.8365% |
| VGG16 | SpecTrain | 0.185566 | 0.796017 | 73.8081% |
| ResNet-152 | Data P. | 0.338845 | 0.892366 | 71.2139% |
| ResNet-152 | Vanilla Model P. | 0.254327 | 0.945588 | 70.3225% |
| ResNet-152 | PipeDream | 0.467527 | 0.979401 | 67.9287% |
| ResNet-152 | SpecTrain | 0.231724 | 0.924241 | 70.9936% |
| Inception v4 | Data P. | 0.804475 | 0.913155 | 69.1607% |
| Inception v4 | Vanilla Model P. | 0.858834 | 0.919470 | 68.6599% |
| Inception v4 | PipeDream | 0.864199 | 0.930320 | 68.5297% |
| Inception v4 | SpecTrain | 0.756939 | 0.874898 | 70.7732% |
| SNN | Data P. | 0.431832 | 1.45124 | 50.9115% |
| SNN | Vanilla Model P. | 0.766552 | 1.440200 | 50.6911% |
| SNN | PipeDream | 0.810452 | 1.450239 | 50.4107% |
| SNN | SpecTrain | 0.724402 | 1.406447 | 52.0733% |
| Transformer | Data P. | 0.649287 | 0.660871 | 60.3265% |
| Transformer | Vanilla Model P. | 0.655801 | 0.662379 | 60.0963% |
| Transformer | PipeDream | 0.655877 | 0.662544 | 59.9760% |
| Transformer | SpecTrain | 0.652193 | 0.662502 | 60.1362% |
| Residual LSTM | Data P. | 0.347742 | 0.658583 | 66.0557% |
| Residual LSTM | Vanilla Model P. | 0.459975 | 0.652651 | 65.0240% |
| Residual LSTM | PipeDream | 0.467595 | 0.652948 | 64.8137% |
| Residual LSTM | SpecTrain | 0.454813 | 0.652251 | 64.8137% |
- モデル並列性はデータ並列性に比べてGPU間通信を抑制する(平均して 13.4x 少なく、テスト済みモデル全体で最大 528x)。
- 遅延緩和がないパイプライン型モデル並列性は不安定になり、特に大規模モデルで精度を低下させる可能性がある。
- SpecTrain は遅延を緩和する重み予測を提供し、ほとんどのワークロードでデータ並列性と同等の学習曲線と最終精度を示す。
- 4-GPU システムで、SpecTrain は FCN/RNN モデルでデータ並列性に対して最大 8.91x のスループット向上を達成し、ほとんどの場合データ並列性と比較して精度の低下を示さない。
- PipeDream に比べて SpecTrain は重みスタッシングキューからの追加メモリオーバーヘッドを回避し、安定性と精度を維持する。
- Transformer や他の CNN/RNN モデルでは、SpecTrain はデータ並列性に近い、または一致する精度と安定性を保つ一方、Vanilla Model P. および PipeDream はいくつかのモデルで精度ペナルティを生じる可能性がある。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。