Skip to main content
QUICK REVIEW

[論文レビュー] BaPipe: Exploration of Balanced Pipeline Parallelism for DNN Training

Letian Zhao, Rui Xu|arXiv (Cornell University)|Dec 23, 2020
Network Security and Intrusion Detection参考文献 34被引用数 8
ひとこと要約

BaPipeは、アクセラレータ間で負荷バランスの取れた分割を用いて、インラインバッチパイプライン並列処理を自動で探索する画期的な分散DNN学習フレームワークである。適応スケジューリング(例:1F1B-SNO)とリソースに配慮した負荷バランスを採用し、GPUおよびFPGAクラスタ上で最大4倍のメモリ使用量削減と、最先端のフレームワーク比で最大3.2倍の高速化を達成した。

ABSTRACT

The size of deep neural networks (DNNs) grows rapidly as the complexity of the machine learning algorithm increases. To satisfy the requirement of computation and memory of DNN training, distributed deep learning based on model parallelism has been widely recognized. We propose a new pipeline parallelism training framework, BaPipe, which can automatically explore pipeline parallelism training methods and balanced partition strategies for DNN distributed training. In BaPipe, each accelerator calculates the forward propagation and backward propagation of different parts of networks to implement the intra-batch pipeline parallelism strategy. BaPipe uses a new load balancing automatic exploration strategy that considers the parameters of DNN models and the computation, memory, and communication resources of accelerator clusters. We have trained different DNNs such as VGG-16, ResNet-50, and GNMT on GPU clusters and simulated the performance of different FPGA clusters. Compared with state-of-the-art data parallelism and pipeline parallelism frameworks, BaPipe provides up to 3.2x speedup and 4x memory reduction in various platforms.

研究の動機と目的

  • メモリボトルネックと高い通信オーバーヘッドのため、大規模DNNの学習におけるデータ並列処理の限界を解消すること。
  • 一貫した重みバージョンを保証するインラインバッチスケジューリングを可能にすることで、既存のパイプライン並列処理フレームワークの非効率性を克服すること。
  • 計算、メモリ、通信を均衡に保つために、異種アクセラレータクラスタ上で最適なパイプラインスケジューリングおよびモデル分割戦略を自動で探索すること。
  • メモリフットプリントを低減させつつ、高い学習スループットと収束安定性を維持することで、より大きなDNNモデルの学習を可能にすること。
  • GPUおよびFPGAクラスタを含む多様なハードウェアプラットフォームをサポートし、適応的負荷バランスと通信・計算のオーバーラップを実現すること。

提案手法

  • 各アクセラレータがマイクロバッチを用いてパイプライン方式で異なるネットワークパーティションを処理する、新しいインラインバッチパイプライン並列処理戦略を提案する。
  • モデルパラメータとハードウェアリソース(計算、メモリ、通信)を分析することで、最適な分割とスケジューリングを選択する自動的負荷バランス探索戦略を導入する。
  • 1F1B-SNO(1回のフォワード、1回のバックワードでオーバーラップなし)を含む複数のパイプラインスケジューリング技術を採用し、通信と計算のバランスを保ち、パイプラインバブルを低減する。
  • ハードウェア制約とモデル特性に基づいて、最良の構成(例:マイクロバッチサイズ、分割、スケジューリングモード)を選択する動的スケジューリングエンジンを採用する。
  • 特にFPGAクラスタにおいては、可能な限り高帯域幅のオンチップメモリにモデル重みと中間特徴を格納することで、メモリ使用量を最適化する。
  • GPUとFPGAクラスタをサポートするため、プラットフォーム固有のメモリ階層と通信バックエンド(GPUではGLOO、FPGAではシミュレーション)に適応する。

実験結果

リサーチクエスチョン

  • RQ1DNN学習における高スループットを実現しつつ、トレーニングの一貫性を保つために、パイプライン並列処理をどのように設計すればよいか?
  • RQ2インラインバッチパイプライン並列処理において、パイプラインバブルを最小限に抑え、アクセラレータの利用率を最大化するスケジューリング戦略は何か?
  • RQ3計算、メモリ、通信の制約を考慮した異種アクセラレータ間で、どのように自動的に負荷バランスを達成できるか?
  • RQ4トレーニング速度やモデル精度を損なわずに、DNN学習におけるメモリ使用量をどの程度まで削減できるか?
  • RQ5GPUおよびFPGAの異なるハードウェアプラットフォームにおいて、本フレームワークは、スケーリング性能(スループットの向上)およびモデルサイズのサポート拡大の観点からどの程度の効果を示すか?

主な発見

  • GPUクラスタ上では、VGG-16 や ResNet-50 などの小規模DNNに対して、データ並列処理(DP)比で最大3.2倍の高速化、最先端のパイプライン並列処理(GPipe)比で1.4倍の高速化を達成した。
  • GPUクラスタ上では、負荷バランスの取れた分割による効果的なメモリ削減のおかげで、データ並列処理より最大4倍、GPipeより2倍大きなDNNモデルをサポートした。
  • FPGAクラスタ上では、データ並列処理(DP)比で最大1.14倍の高速化を達成し、オンチップメモリに重みを格納し、オフチップアクセスを最小限に抑えることで、メモリ使用量を最大4倍削減した。
  • フレームワークは最適なスケジューリング(例:1F1B-SNO)および分割戦略を自動で選択し、手動チューニングなしでパフォーマンスを向上させた。
  • ResNet-50のケースでは、通信コストが計算の利点を上回る場合には、DPが最良の戦略であると判断し、PipeDreamを上回る性能を発揮した。
  • GPUクラスタ上では、GNMT-Lモデルを、データ並列処理(DP)と比較して最大4倍のパラメータ数を有するモデルで学習可能にし、巨大DNNへのスケーラビリティを実証した。

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

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

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

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