Skip to main content
QUICK REVIEW

[論文レビュー] PipeTransformer: Automated Elastic Pipelining for Distributed Training of Transformers

Chaoyang He, Shen Li|arXiv (Cornell University)|Feb 5, 2021
Neural Networks and Applications参考文献 22被引用数 16
ひとこと要約

PipeTransformerは、トレーニング中に層を動的に凍結することで、分散トレーニングにおけるTransformerモデルの自動的でエラスティックなパイプライン化フレームワークを提案する。本手法は、アクティブな層をより少ないGPUにパックし、追加のパイプラインレプリカを起動することでデータ並列幅を拡大する。ViTおよびBERTモデルにおいて、精度を損なわずに最先端のベースライン比で最大2.83倍の高速化を達成する。

ABSTRACT

The size of Transformer models is growing at an unprecedented pace. It has only taken less than one year to reach trillion-level parameters after the release of GPT-3 (175B). Training such models requires both substantial engineering efforts and enormous computing resources, which are luxuries most research teams cannot afford. In this paper, we propose PipeTransformer, which leverages automated and elastic pipelining and data parallelism for efficient distributed training of Transformer models. PipeTransformer automatically adjusts the pipelining and data parallelism by identifying and freezing some layers during the training, and instead allocates resources for training of the remaining active layers. More specifically, PipeTransformer dynamically excludes converged layers from the pipeline, packs active layers into fewer GPUs, and forks more replicas to increase data-parallel width. We evaluate PipeTransformer using Vision Transformer (ViT) on ImageNet and BERT on GLUE and SQuAD datasets. Our results show that PipeTransformer attains a 2.4 fold speedup compared to the state-of-the-art baseline. We also provide various performance analyses for a more comprehensive understanding of our algorithmic and system-wise design. We also develop open-sourced flexible APIs for PipeTransformer, which offer a clean separation among the freeze algorithm, model definitions, and training accelerations, hence allowing it to be applied to other algorithms that require similar freezing strategies.

研究の動機と目的

  • 大規模なTransformerモデルをトレーニングする際の高い計算コストと工学的コストを低減すること。
  • 深層ネットワークの層が下位から順に収束するという観察を活用し、トレーニング時間とリソース使用量を削減すること。
  • 凍結された層に基づいてパイプライン構成とデータ並列レプリケーションを動的に適応させるシステムを設計すること。
  • リアルタイムでの層の凍結、動的パイプライン化、変化するプロセスグループにおける集合的通信、およびレプリカ間のアクティベーションキャッシュの課題を克服すること。

提案手法

  • トレーニング中にアクティベーションの安定性に基づいて層を特定・凍結するチューナブルなしきい値αを用いた適応的凍結アルゴリズムを導入する。
  • AutoPipeを用いて、アクティブな層をより少ないGPUにパッケージ化することで通信量とパイプラインのバブルを最小限に抑えるモデル再分割を実施する。
  • 空きGPUに新しいパイプラインレプリカを動的に起動するAutoDPを採用し、効率的な集合的演算を実現するための階層的通信グループを維持する。
  • 既存および新たなパイプラインレプリカ間でキャッシュされたアクティベーションを共有するAutoCacheを実装し、プロファイラーが最適なアクティベーションキャッシュ開始時刻を特定する。
  • これらのコンponentsを統合し、リアルタイムでの層の凍結に基づいてモデルのパーティショニングとレプリケーションを自動的に調整する包括的なシステムを構築する。
  • PyTorchのパイプラインおよびデータ並列APIを活用することで、互換性と効率的な実行を確保する。

実験結果

リサーチクエスチョン

  • RQ1トレーニング中に動的層凍結を効果的に活用することで、Transformerの分散トレーニングを高速化できるか?
  • RQ2層の凍結に応じて、パイプライン化とデータ並列性をどのように統合最適化できるか?
  • RQ3エラスティックパイプラインにおいて、凍結しきい値αとマイクロバッチチャンクの変更がもたらす性能的トレードオフは何か?
  • RQ4動的に変化するパイプラインレプリカ数を有するシステムにおいて、集合的通信を効率的に管理するにはどうすればよいか?
  • RQ5動的トレーニング環境において、アクティベーションキャッシュを有効にする最適なタイミングは何か?

主な発見

  • PipeTransformerは、ViT(ImageNet)およびBERT(SQuAD/GLUE)において、精度を損なわずに最先端のベースライン比で最大2.83倍の高速化を達成する。
  • 大きな凍結しきい値α(例:α = 1/5)はより大きな高速化をもたらすが、わずかな精度損失を引き起こすことが示され、速度と性能の間のチューナブルなトレードオフが存在することが明らかになった。
  • 最適なマイクロバッチ数Mはパイプライン長Kに大きく依存するため、パフォーマンス劣化を避けるために事前プロファイリングが必要であることが示された。
  • アクティベーションキャッシュは、十分な数の層が凍結された後でしか有益でない。AutoCacheは、ViTでは3層、BERTでは5層の凍結後にキャッシュを開始する。
  • ImageNetでは通信コストが総トレーニング時間の5.9%、SQuADでは8.8%を占めているため、モデルサイズのさらなる縮小が効率性向上に寄与することが示唆された。
  • パイプラインバブルの低減とデータ並列幅の拡大の乗法的効果により、顕著で非加法的な高速化が達成された。

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

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

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

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