マルチGPUおよびマルチノード分散トレーニング
ベータ版
この機能は ベータ版です。
このページでは、サーバレス GPU コンピュートを使用したマルチノードおよびマルチ GPU 分散トレーニングのノートブックの例を掲載しています。 これらの例は、パフォーマンスを向上させるために複数の GPU とノード間でトレーニングをスケーリングする方法を示しています。
マルチノード分散トレーニングは、現在 A10 GPU でのみサポートされています。マルチGPU分散トレーニングは、A10GPUとH100GPUの両方でサポートされています。
並列処理技術を選択する
複数の GPU にわたってモデル トレーニングをスケーリングする場合、適切な並列処理手法の選択は、モデルのサイズ、使用可能な GPU メモリ、およびパフォーマンス要件によって異なります。
テクニック | いつ使うか |
|---|---|
DDP(分散データパラレル) | 完全なモデルは単一の GPU メモリに収まるため、データ スループットを拡張する必要がある |
FSDP (完全シャードデータパラレル) | 単一のGPUメモリに収まらない非常に大きなモデル |
ディープスピードゼロ | 高度なメモリ最適化を必要とする大規模モデル |
各技術の詳細については、 DDP 、 FSDP 、およびDeepSpeedを参照してください。
テクニックとフレームワーク別のノートブックの例
次の表は、使用しているフレームワーク/ライブラリと適用されている並列処理手法別にサンプルノートブックを整理したものです。1 つのセルに複数のノートブックが表示される場合があります。
フレームワーク/ライブラリ | DDPの例 | FSDPの例 | DeepSpeedの例 |
|---|---|---|---|
PyTorch(ネイティブ) | — | ||
TRL + PyTorch | |||
怠惰な | — | — | |
— | — | ||
PyTorch Lightning | — | — |
始めましょう
以下のノートブックでは、 サーバレス GPU Python API を使用して分散トレーニング用の複数の A10 GPU を起動する方法の基本的な例を示します。
サーバレスGPU API :A10スターター
以下のノートブックでは、 サーバレス GPU Python API を使用して、分散トレーニング用の複数の H100 GPU を起動する方法の基本的な例を示します。
サーバレスGPU API :H100スターター
このノートブックでは、サーバレス GPU コンピュートでのディープラーニングのユースケースのためにDatabricksでMLflowを使用するためのベスト プラクティスを紹介します。 このノートブックは、サーバレス GPU APIを使用して、DDP を使用してリモート A10 GPU 上で単純な分類モデルの分散トレーニングを起動します。 トレーニングは MLflow 実行として追跡されます。