Skip to main content
QUICK REVIEW

[論文レビュー] DAPPLE: A Pipelined Data Parallel Approach for Training Large Models

Shiqing Fan, Yi Rong|arXiv (Cornell University)|Jul 2, 2020
Parallel Computing and Optimization Techniques参考文献 36被引用数 29
ひとこと要約

DAPPLE は、大規模なディープニューラルネットワークのトレーニングを最適化するための同期トレーニングフレームワークであり、データ並列性とパイプライン並列性を組み合わせたものである。自動並列化プランナとメモリ効率の良いランタイムスケジューラを導入し、PipeDream より最大 3.23× の高速化、GPipe より 1.6× のスループット向上を達成するとともに、12% のメモリ使用量削減を実現した。

ABSTRACT

It is a challenging task to train large DNN models on sophisticated GPU platforms with diversified interconnect capabilities. Recently, pipelined training has been proposed as an effective approach for improving device utilization. However, there are still several tricky issues to address: improving computing efficiency while ensuring convergence, and reducing memory usage without incurring additional computing costs. We propose DAPPLE, a synchronous training framework which combines data parallelism and pipeline parallelism for large DNN models. It features a novel parallelization strategy planner to solve the partition and placement problems, and explores the optimal hybrid strategy of data and pipeline parallelism. We also propose a new runtime scheduling algorithm to reduce device memory usage, which is orthogonal to re-computation approach and does not come at the expense of training throughput. Experiments show that DAPPLE planner consistently outperforms strategies generated by PipeDream's planner by up to 3.23x under synchronous training scenarios, and DAPPLE runtime outperforms GPipe by 1.6x speedup of training throughput and reduces the memory consumption of 12% at the same time.

研究の動機と目的

  • 異種 GPU クラスタ上で単一 GPU のメモリ容量を超える大規模 DNN モデルのトレーニングを課題として解決すること。
  • 収束性を損なわず、同期トレーニングにおいてもトレーニング効率とデバイス利用率を向上させること。
  • 再計算や複数のモデルパラメータバージョンの保存に依存せずに、パイプライントレーニングにおけるメモリ消費量を削減すること。
  • 与えられたモデルとハードウェア構成に最適なハイブリッドなデータ並列性およびパイプライン並列性戦略の自動生成を可能とすること。
  • 25Gbps エthernet などの低帯域幅の inter-server 接続を有するシステムにおいても、スケーラブルかつ高スループットのトレーニングを実現すること。

提案手法

  • トレーニングイテレーション時間の最小化を目的とした、同期トレーニングにおけるモデルレイヤーの最適な分割、リピケーション、デバイスへの配置を自動的に決定する同期パイプラインプランナを提案する。
  • 中間活性化結果の保存を回避することでピークメモリ使用量を低減する、再計算とは直交する新しいランタイムスケジューリングアルゴリズムを導入する。
  • 段階レベルのリピケーションによるデータ並列性とパイプライン並列性を組み合わせ、負荷をバランスさせ、デバイス利用率を向上させる。
  • モデル構造とハードウェア制約に基づき、動的に最適なデータ並列性とパイプライン並列性の組み合わせを選択するハイブリッド戦略を設計する。
  • 各グローバルステップごとにすべてのマイクロバッチ間で勾配同期を保証しつつ、パイipelイン実行を可能にするマイクロバッチスケジューリング方式を実装する。
  • 同期制約下でのエンドツーエンドトレーニング時間の最小化を評価・選択するため、プランナにコストモデルを用いる。

実験結果

リサーチクエスチョン

  • RQ1同期トレーニング下で、大規模 DNN モデルに対して最適なハイブリッドなデータ並列性およびパイプライン並列性戦略を自動生成する方法は何か?
  • RQ2再計算を必要とせず、計算コストを増加させることなく、パイプライントレーニングにおけるメモリ使用量をランタイムスケジューラで削減できるか?
  • RQ3同期設定下で、GPipe や PipeDream と比較して DAPPLE はトレーニングスループットとメモリ効率をどの程度向上させるか?
  • RQ425Gbps エthernet などの低帯域幅の接続を有する階層型 GPU クラスタにおいて、DAPPLE の性能はいかがであるか?
  • RQ5モデルパラメータが単一デバイスのメモリ容量を超える場合を含め、モデルサイズと GPU 数の観点から DAPPLE のスケーラビリティはどの程度か?

主な発見

  • DAPPLE のプランナは、同期トレーニング環境下で PipeDream のプランナが生成する戦略と比較して最大 3.23× の高速化を達成した。
  • DAPPLE のランタイムスケジューラは、GPipe よりも 1.6× のスループット向上を実現するとともに、12% のメモリ使用量削減を達成した。
  • DAPPLE は再計算を用いて 8 枚の V100 GPU 上で最大 55億パラメータの BERT モデルをサポートでき、レイヤー数の増加に伴い最大モデルサイズが線形にスケーリングされた。
  • 25Gbps エthernet 環境下でも、DAPPLE は滑らかなスケーラビリティを維持し、通信ボトルネックにより 8 GPU を超えると性能が低下するデータ並列(DP)バージョンを上回った。
  • DAPPLE は、モデルパラメータの均等な分散とクロスステージ活性化オーバーヘッドの低減により、GPU 利用率が最大 93% に達し、長パイプラインでも効果的にスケーリングされた。
  • DAPPLE は低帯域幅のマシン間接続に対しても感受性が低く、異種接続を持つ大規模クラスタに適している。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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