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 ワークロードを実行する方法について説明します。 |