マルチ GPU 分散トレーニング

Important

この機能は ベータ版です。

これらの例は、AI Runtime 上でモデル学習を複数の GPU とノードにまたがってスケールします。 ノートブックの例では、接続されたGPUコンピュートでserverless_gpu Python APIを使用しています。 DatabricksのCLI例は、シングルノードおよびマルチノードのトレーニングのためのワークロード設定とソースコードを提供します。

注

ノートブックベースのマルチGPU分散トレーニングはH100 GPUでサポートされています。

並列処理の手法を選択する

モデルサイズ、利用可能なGPUメモリ、性能要件に基づいて並列処理技術を選択してください。 以下の表はこれらの選択肢を比較しています。

手法 いつ使用するか
DDP (分散データ並列) 完全なモデルは単一の GPU メモリに適合します。データ スループットをスケーリングする必要がある
FSDP (完全にシャード化されたデータ並列) 1 つの GPU メモリに収まらない非常に大規模なモデル
ディープスピードZeRO 高度なメモリ最適化ニーズを備えた大規模なモデル

各手法の詳細については、 DDP、 FSDP、 DeepSpeed を参照してください。

トレーニングパイプラインをより効率的かつ回復力のあるものにするためのアドバイスやパターンについては、 パフォーマンスとレジリエンスのガイドをご覧ください。

技術とフレームワークごとのノート例

以下の表は、ノートブックの例をフレームワークやライブラリ、そして適用した並列処理技術によって整理しています。 複数のノートブックが1つのセルに表示されることもあります。

フレームワーク/ライブラリ DDP の例 FSDP の例 DeepSpeed の例
PyTorch (ネイティブ) 単純な MLP ニューラル ネットワーク
RetinaNet の画像検出
10Mパラメータトランス —
Huggingface TRL Gpt OSS 20B の微調整 Gpt OSS 120B の微調整 Llama 3.2 1B を微調整する
Unsloth Llama 3.2 3B を微調整する — —
Axolotl Olmo3 7B の微調整 — —
ライトニング ツータワーレコメンダーシステム — —

CLI の例

以下の例はAI Runtime Cookbookの実行可能なレシピへのリンクです。

Example 手法 説明
Ray TrainによるResNet-50の微調整 DDP ResNet-50を2つのノードにまたがって、A10 GPUごとに1つのRay Trainワーカーで微調整します。
Qwen2.5-3BによるRay Trainを用いた微調整 DDP Qwen2.5-3Bを8xのH100ノード上でGPUごとに1つのRay Trainワーカーで微調整します。
Llama 3.1 8Bのマルチノードファインチューニング FSDP Llama 3.1 8BをPyTorch FSDPで2つの8台のH100ノードで微調整します。
Qwen3.8-27Bのマルチノードファインチューニング FSDP2 Qwen3.8-27BをPyTorch FSDP2で4つの8xH100ノードで微調整します。
請求書抽出のためのQwen3-8Bファインチューニング DeepSpeed ZeRO-3 Qwen3-8Bを1つの8x H100ノードでTRLで請求書および領収書エンティティ抽出を微調整します。

ノートブックで始めましょう

分散トレーニング用のサーバーレス GPU Python ライブラリの使用を開始するには、次のチュートリアルを使用します。

チュートリアル 説明
H100 GPU を使用した AI ランタイム Databricks AI Runtime と H100 アクセラレータを使用して、serverless_gpu Python ライブラリを使用して分散 GPU ワークロードを実行する方法について説明します。