[論文レビュー] A Survey and Empirical Evaluation of Parallel Deep Learning Frameworks
本稿は、最先端の並列ディープラーニングフレームワークを包括的に調査・実験的に評価し、視覚および言語タスクにおけるデータ並列性、層内並列性、層間並列性を比較している。データ並列性は優れた統計的効率性とスケーラビリティを示し、ZeROは性能に損なわれることなくメモリを42–66%削減した。また、ハイブリッド手法(例:Megatron + データ並列性)は、高GPU数環境における大規模モデルのトレーニングにおいて最適であることが判明した。
The field of deep learning has witnessed a remarkable shift towards extremely compute- and memory-intensive neural networks. These newer larger models have enabled researchers to advance state-of-the-art tools across a variety of fields. This phenomenon has spurred the development of algorithms for distributed training of neural networks over a larger number of hardware accelerators. In this paper, we discuss and compare current state-of-the-art frameworks for large scale distributed deep learning. First, we survey current practices in distributed learning and identify the different types of parallelism used. Then, we present empirical results comparing their performance on large image and language training tasks. Additionally, we address their statistical efficiency and memory consumption behavior. Based on our results, we discuss algorithmic and implementation portions of each framework which hinder performance.
研究の動機と目的
- 現在の最先端の分散ディープラーニングフレームワークおよびその並列化戦略について包括的なサーベイを提供すること。
- 大規模な画像および言語学習タスクにおけるオープンソースフレームワークの実験的評価を通じて、実行時間、メモリ消費量、統計的効率性を比較すること。
- 現代のディープラーニングフレームワークにおけるパフォーマンスを阻害するアルゴリズム的および実装上のボトル neck を同定すること。
- モデルサイズ、ハードウェア制約、トレーニング効率性の目標に基づいて、研究者および実務家が最適なフレームワークを選択できるようにガイドすること。
提案手法
- 並列化戦略を3つのカテゴリに分類:データ並列性、層内(モデル)並列性、層間(パイipelニング)並列性。
- A100およびV100 GPUを搭載した2つのクラスタで、6つのオープンソースフレームワーク(DDP、PipeDream、ZeRO、Megatron、TorchGPipe、LBANN)を選定しベンチマークを実施。
- 複数のGPU数において、エポック実行時間、統計的効率性(時間経過に伴う検証精度/パープレキシティ)、GPU1台あたりのメモリ使用量を測定。
- 標準ベンチマークとして、ImageNetにおけるVGG-16と言語モデリングデータセットにおけるGPT2-mediumを用い、スケーラビリティおよび収束性を評価。
- データ並列性における有効バッチサイズの増加およびパイプラインフレームワークにおける重みの陳腐化(weight staleness)の影響を分析。
- エポック数に依存しないように、検証指標をトレーニング時間の関数としてプロットし、統合的パフォーマンスおよび統計的効率性を評価。
実験結果
リサーチクエスチョン
- RQ1データ並列性、層内並列性、層間並列性という異なる並列化戦略は、トレーニング速度、メモリ使用量、統計的効率性においてどのように比較されるか?
- RQ2GPU数の増加が各フレームワークのパフォーマンスおよびメモリ消費量に与える影響は何か?
- RQ3パイプラインフレームワークにおける重みの陳腐化および勾配同期メカニズムは、収束速度および統計的効率性にどのように影響するか?
- RQ4ZeROのようなメモリ最適化技術は、トレーニング速度を損なわずにどれほどGPUメモリ使用量を削減できるか?
- RQ5大規模モデルを高GPU数環境でトレーニングする際の最適なハイブリッド戦略(例:層内並列性とデータ並列性の組み合わせ)は何か?
主な発見
- データ並列性フレームワーク(DDP、ZeRO、LBANN)は、検証曲線がほぼ同一で収束速度がパイプライン手法を上回るなど、最高の統計的効率性を達成した。
- PipeDreamは、重みスタッシング技術を用いても、重みの陳腐化が是正されず、著しく収束が遅く、大規模トレーニングには不適切であった。
- ZeROは、DDPと比較してGPU1台あたりのメモリ使用量を42–66%削減したが、トレーニング速度に影響を与えることなく、GPU数が増えるほどメモリ削減効果が大きくなった。
- 言語タスクでは、メガトロン(Megatron-intra)が低GPU数ではデータ並列フレームワークを上回る統計的効率性を示したが、スケーリングに伴い有効バッチサイズの増加により性能が劣化した。
- メガトロンにおけるU字型のメモリ曲線は、GPU数が増えると活性化メモリが増加し、層分割によるパラメータメモリの削減効果を上回るようになることに起因した。
- 層内並列性(例:Megatron)とデータ並列性を組み合わせたハイブリッド手法は、特に高GPU数環境において、大規模モデルのトレーニングにおいて最良のパフォーマンスとメモリ効率性を実現した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。