[Long Review] Fully Sharded Data Parallel: faster AI training with fewer GPUs

Tutorials

[ロングレビュー] 完全シャード化データ並列:より少ないGPUでより高速なAI訓練

限られたGPU予算で10億パラメータの音声モデルまたは言語モデルを訓練することは、パイプライン並列、テンソル並列、またはZeRO型オプティマイザシャーディング間での苦渋の選択を意味していました。

限られたGPU予算で10億パラメータの音声モデルまたは言語モデルを訓練することは、パイプライン並列、テンソル並列、またはZeRO型オプティマイザシャーディング間での苦渋の選択を意味していました。Facebookの完全シャード化データ並列(FSDP)は、現在FairScaleで提供されており、後にPyTorchにアップストリーム化されており、より明確な答えを提供します:パラメータ自体をデータ並列ワーカー全体でシャード化し、各マイクロバッチのためにそれらをジャストインタイムで集約し、通信と計算をオーバーラップさせることで、実壁時間コストを低く保ちます。

このロングレビューは、FSDPがレイヤー内並列またはパイプライン並列より概念的にシンプルである理由、均一なパラメータシャーディングがオプティマイザプラス勾配のみのアプローチを上回る方法、およびオプションのCPUオフロードが適合すべきではないモデルの適合を可能にする方法を説明します。TTS音響モデル、wav2vec型ファウンデーションモデル、またはボイスアシスタント用のLLMを訓練している場合、FSDPはデータセンタサイズのクラスタなしでスケーリングするための必須条件になりつつあります。独自の訓練スクリプトでスイッチを入れる前にメカニクスを知りたい場合は、このディープダイブに備えてください。