マルチGPU分散トレーニング
プレビュー
ノートブックの例で使用されている @distributed デコレータは パブリックプレビューです。
これらの例では、AI ランタイム上で複数のGPUとノードにわたってモデルのトレーニングをスケールします。ノートブックの例では、アタッチされた GPU コンピュート上で serverless_gpu Python API を使用します。Databricks CLIの例では、シングルノードおよびマルチノードのトレーニング用のワークロード構成とソースコードを提供します。
ノートブックベースのマルチGPU分散トレーニングは、H100 GPUでサポートされています。
並列処理の手法を選択してください
Choose a parallelism technique based on your model size, available GPU memory, and performance requirements.The following table compares the options.
テクニック | いつ使うか |
|---|---|
DDP(分散データ並列処理) | フルモデルは単一のGPUメモリに収まるため、データスループットを拡張する必要がある。 |
FSDP(完全シャーディングデータ並列処理) | 単一のGPUメモリに収まらない非常に大きなモデル |
ディープスピードゼロ | 高度なメモリ最適化を必要とする大規模モデル |
各技術の詳細については、 DDP 、 FSDP 、およびDeepSpeedを参照してください。
トレーニングパイプラインをより効率的かつ回復力のあるものにするためのアドバイスやパターンについては、パフォーマンスと回復力に関するガイドを参照してください。
手法とフレームワーク別のノートブックの例
次の表では、フレームワークまたはライブラリと適用される並列処理手法別にノートブックの例を整理しています。1 つのセルに複数のノートブックが表示される場合があります。
フレームワーク/ライブラリ | DDPの例 | FSDPの例 | DeepSpeedの例 |
|---|---|---|---|
PyTorch(ネイティブ) | — | ||
— | — | ||
— | — | ||
— | — |
CLI の例
次の例では、AI ランタイム・クックブックにある実行可能なレシピへのリンクを示します。
例 | テクニック | 説明 |
|---|---|---|
DDP | 2つのノードにまたがり、A10 GPU 1基につき1つの Ray Train ワーカーで ResNet-50 をファインチューニングします。 | |
DDP | 8× H100 ノード上で、GPU ごとに 1 つの Ray Train ワーカーを使用して Qwen2.5-3B をファインチューニングします。 | |
FSDP | 2つの8x H100ノードにわたってPyTorch FSDPを使用してLlama 3.1 8Bをファインチューニングします。 | |
FSDP2 | 4つの8x H100ノードにわたってPyTorch FSDP2を使用してQwen3.8-27Bをファインチューニングします。 | |
DeepSpeed ZeRO-3 | 8基のH100 GPUを搭載した1つのノード上で、TRLを使用して請求書および領収書のエンティティ抽出用にQwen3-8Bをファインチューニングします。 | |
DDP | 8x H100 ノードで PyTorch DDP を使用し、トピック分類のために ModernBERT を微調整します。 | |
FSDP2とエキスパート並列処理 | 8つのH100 GPUを使用してNemotron 3.5 LightningをNeMo AutoModelでファインチューニングします。 | |
FSDP2とエキスパート並列処理 | NeMo AutoModel を使用して、8 台の H100 GPU 全体で Nemotron 3.5 Super VL ビジョン言語モデルを微調整します。 | |
埋め込みのシャーディング | TorchRecが4つのA10ノードにわたってエンベディングテーブルをシャードする間、クリック率モデルをトレーニングする。 |
ノートブックで起動する
分散トレーニング用のサーバレス GPU Pythonライブラリの使用を開始するには、次のチュートリアルを使用します。
チュートリアル | 説明 |
|---|---|
H100 アクセラレータでDatabricks AI Runtimeを使用し、serverless_gpu Pythonライブラリを使用して分散 GPU ワークロードを実行する方法を学びます。 |