[論文レビュー] Efficient Large-Scale Language Model Training on GPU Clusters
この論文は、最大3072のGPUを用いたGPUクラスタ上で、トランジションパラメータを有する言語モデルを効率的に学習するため、テンソル並列、パイプライン並列、データ並列を組み合わせたハイブリッド並列フレームワークを提案する。インタ leavesドパイプラインスケジューリングを導入し、通信とメモリ使用量を最適化することで、ピークGPUスループットの52%を達成し、先行手法よりも10%高い性能を発揮。これにより、502ペタFLOP/sの学習が可能となり、スケーラビリティが著しく向上した。
Large language models have led to state-of-the-art accuracies across a range of tasks. However, training these large models efficiently is challenging for two reasons: a) GPU memory capacity is limited, making it impossible to fit large models on a single GPU or even on a multi-GPU server; and b) the number of compute operations required to train these models can result in unrealistically long training times. New methods of model parallelism such as tensor and pipeline parallelism have been proposed to address these challenges. Unfortunately, naive usage leads to fundamental scaling issues at thousands of GPUs due to various reasons, e.g., expensive cross-node communication or idle periods waiting on other devices. In this work, we show how to compose different types of parallelism methods (tensor, pipeline, and data parallelism) to scale to thousands of GPUs, achieving a two-order-of-magnitude increase in the sizes of models we can efficiently train compared to existing systems. We survey techniques for pipeline parallelism and propose a novel interleaved pipeline parallelism schedule that can improve throughput by more than 10% with comparable memory footprint compared to previously-proposed approaches. We quantitatively study the trade-offs between tensor, pipeline, and data parallelism, and provide intuition as to how to configure distributed training of a large model. Our approach allows us to perform training iterations on a model with 1 trillion parameters at 502 petaFLOP/s on 3072 GPUs with achieved per-GPU throughput of 52% of peak; previous efforts to train similar-sized models achieve much lower throughput (36% of theoretical peak). Our code is open sourced at this https URL.
研究の動機と目的
- 限られたGPUメモリと長い学習時間という制約下で、GPUクラスタ上に1兆パラメータの言語モデルを学習する課題に対処すること。
- 数千のGPUを用いる際、通信コストとデバイスのアイドル時間の増加により、既存の並列化手法に見られるスケーリングの限界を克服すること。
- 最適なパフォーマンスとメモリ使用量を実現するため、テンソル並列、パイプライン並列、データ並列を統合したスケーラブルで効率的な学習システムを開発すること。
- 新規のインタ leavesドパイプライン並列スケジューリングを用いて、大規模なモデル学習におけるスループットの向上とアイドル時間の短縮を図ること。
提案手法
- 数千のGPUにわたってモデルパラメータと活性化値を分散配置するため、テンソル並列、パイプライン並列、データ並列を統合した統一された学習フレームワークを構築する。
- パイプライン段階間でフォワードとバックワードの計算を重ねて実行するインタ leavesドパイプライン並列スケジューリングを導入し、アイドル時間を短縮しスループットを向上させる。
- ノード間およびクラスタ内での通信パターンを最適化し、モデル学習中の遅延を最小限に抑え、帯域幅の利用効率を最大化する。
- 混合精度と勾配チェックポイント技術を活用して、モデルレイヤーとデータバッチを戦略的に分割することで、デバイス間のメモリと計算負荷をバランスさせる。
- モデルサイズとハードウェア制約に基づき、動的にテンソル並列とパイプライン並列を割り当てるハイブリッドモデル並列戦略を採用する。
- デバイスの利用状況を監視し、スケジューリングを動的に調整することで、全ノードで高いGPUスループットを維持するシステムレベルの学習ループを実装する。
実験結果
リサーチクエスチョン
- RQ13072のGPUにまでスケーリング可能な言語モデル学習を実現するため、テンソル並列、パイプライン並列、データ並列をどのように効果的に統合すべきか?
- RQ2大規模なパイプライン並列学習において、アイドル時間を最小限に抑え、スループットを最大化するためのスケジューリング戦略は何か?
- RQ3提案されたインタ leavesドパイプラインスケジューリングは、従来の手法と比較して、メモリ使用量とスループットの点でどの程度優れているか?
- RQ4通信コスト、メモリフットプリント、計算効率の観点から、異なる並列化戦略のトレードオフは何か?
- RQ5このシステムは、1兆パラメータのモデル学習において、どの程度のGPU利用効率と理論的ピークパフォーマンスを達成できるか?
主な発見
- 提案されたハイブリッド並列フレームワークにより、3072のGPUを用いて1兆パラメータの言語モデルを502ペタFLOP/sの速度で学習可能となった。
- システムは1GPUあたりピーク性能の52%を達成し、同程度のメモリ使用量を有する先行手法よりも10%の性能向上を達成した。
- インタ leavesドパイプライン並列スケジューリングにより、アイドル時間が短縮され、非インタ leavesドな代替手法と比較してスループットが10%以上向上した。
- このフレームワークは、数千のGPUへのスケーリングにおいて効率的であり、ノード間通信のボトルネックやデバイス同期遅延といった根本的なスケーリング問題を克服した。
- 定量的分析の結果、テンソル並列、パイプライン並列、データ並列を組み合わせることで、単一の手法を用いる場合よりも、メモリ、通信、計算のトレードオフにおいて優れたバランスが得られることを示した。
- オープンソースの実装により、コンmodity GPUクラスタ上での大規模モデル学習に関する再現性とさらなる研究が可能になった。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。