[論文レビュー] Faster Distributed Deep Net Training: Computation and Communication Decoupled Stochastic Gradient Descent
本稿では、計算と通信を分離した確率的勾配降下法(CoCoD-SGD)を提案する。この手法は、通信頻度を低く抑えつつ計算と通信を並列に実行することで、ResNet18およびVGG16を用いた16 GPU環境において、従来の同期的SGDに比べて最大2-3倍の高速化を達成し、均一および非均一環境の両方で線形の反復速度向上を実証した。
With the increase in the amount of data and the expansion of model scale, distributed parallel training becomes an important and successful technique to address the optimization challenges. Nevertheless, although distributed stochastic gradient descent (SGD) algorithms can achieve a linear iteration speedup, they are limited significantly in practice by the communication cost, making it difficult to achieve a linear time speedup. In this paper, we propose a computation and communication decoupled stochastic gradient descent (CoCoD-SGD) algorithm to run computation and communication in parallel to reduce the communication cost. We prove that CoCoD-SGD has a linear iteration speedup with respect to the total computation capability of the hardware resources. In addition, it has a lower communication complexity and better time speedup comparing with traditional distributed SGD algorithms. Experiments on deep neural network training demonstrate the significant improvements of CoCoD-SGD: when training ResNet18 and VGG16 with 16 Geforce GTX 1080Ti GPUs, CoCoD-SGD is up to 2-3$ imes$ faster than traditional synchronous SGD.
研究の動機と目的
- 高い計算能力があるにもかかわらず線形時間速度向上が制限される分散ディープラーニングにおける通信ボトルneckを解消すること。
- 従来の同期的SGDにおける非効率性、すなわち計算と通信が密接に結合されており、通信中は部分的なハードウェアリソースしか使用されない問題を克服すること。
- 計算と通信の並列実行を可能にする分散最適化アルゴリズムを開発し、ハードウェア利用効率を向上させること。
- 均一および非均一のハードウェア環境において、合計計算能力に対して線形の反復速度向上を達成すること。
- モデルの精度を損なわず、実際の応用において優れた時間速度向上と収束効率を実現すること。
提案手法
- 通信を開始した後、直ちに局所的な勾配計算を再開することで、計算と通信を分離する。通信完了を待つのではなく、計算を継続する。
- 反復ごとの通信ではなく、周期的な通信を導入することで、全体の通信複雑度を低減する。
- 通信されたグローバル勾配と、局所モデルとグローバルモデルの差分の両方を用いて局所モデルを更新することで、収束安定性を維持する。
- 理論的分析により、均一環境では線形の反復速度向上が得られ、非均一環境では合計計算能力に対して線形の反復速度向上が保証されることを示した。
- 作業者の速度に応じて通信頻度とバッチサイズを動的に調整することで、均一および非均一環境をサポートする。
- 計算と通信フェーズを重ねて実行できる通信プロトコルを実装し、作業者のアイドル時間を最小限に抑える。
実験結果
リサーチクエスチョン
- RQ1分散SGDにおいて、計算と通信を効果的に分離することで、ハードウェア利用効率の向上と通信オーバーヘッドの低減が可能か?
- RQ2提案されたCoCoD-SGDアルゴリズムは、均一環境における作業者数に対して線形の反復速度向上を達成するか?
- RQ3非均一環境において、CoCoD-SGDは合計計算能力に対して線形の反復速度向上を維持できるか?
- RQ4CoCoD-SGDは、S-SGD、Pipe-SGD、Local-SGDなどの既存の分散SGD変種と比較して、実際の時間速度向上はどの程度か?
- RQ5CoCoD-SGDは、均一および非均一環境の両方で、高速な収束を達成しながらも、モデル精度を保持できるか?
主な発見
- 16 GPU環境において、ResNet18およびVGG16の両方で、従来の同期的SGDに比べて最大2-3倍の高速化を達成した。
- 非均一環境では、S-SGDに比べてResNet18で2.5倍、VGG16で3倍の時間速度向上を示した。
- S-SGDと同等またはわずかに向上したテスト精度を維持しており、ResNet18でCIFAR-10で94.33%、VGG16でCIFAR-100で75.74%の最終テスト精度を達成した。
- 非均一環境では、作業者の速度の違いに対してもロバストであり、速度の異なる作業者でも高速な収束を維持し、S-SGDおよびPipe-SGD(割合に応じたサンプリングを適用した場合を含む)を上回った。
- 理論的分析により、CoCoD-SGDが均一および非均一環境の両方で線形の反復速度向上を達成することが確認された。
- 実験により、CoCoD-SGDが通信複雑度を低減するとともに、計算と通信の重ね合わせによりハードウェアリソースをフルに活用できることを示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。