メインコンテンツまでスキップ

分散データ並列(DDP)トレーニング

備考

ベータ版

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

このページには、サーバレス GPU コンピュートで分散データ並列 (DDP) トレーニングを使用するためのノートブックの例が含まれています。 DDP は分散トレーニングで最も一般的な並列処理手法であり、完全なモデルが各 GPU に複製され、データ バッチが GPU 間で分割されます。

DDPを使用する場合

DDP は次の場合に使用します。

  • モデルは単一のGPUのメモリに完全に収まります
  • データスループットを上げてトレーニングをスケールしたい
  • ほとんどのフレームワークで自動的にサポートされる、最もシンプルな分散トレーニングアプローチが必要です

単一の GPU メモリに収まらない大規模なモデルの場合は、代わりにFSDPまたはDeepSpeed を検討してください。

PyTorch DDP を使用した単純な多層パーセプトロン (MLP) ニューラルネットワークのトレーニング

次のノートブックは、サーバーレス GPU リソースを備えたDatabricks上のPyTorchの DDP モジュールを使用した、単純な多層パーセプトロン (MLP) ニューラル ネットワークの分散トレーニングを示しています。

PyTorch DDP

Open notebook in new tab

TRLとDDPを使用して8xH100でOpenAI GPT-OSS 20Bモデルをトレーニングする

このノートブックでは、サーバレス GPU Python API使用して、トランス強化学習 (TRL) ライブラリを使用してHugging Faceから GPT-OSS 20B モデルで教師ありファインTransformer (SFT)を実行する方法を示します。 この例では、ノード上の 8 つの H100 GPU すべてにわたって DDP を活用し、グローバル バッチ サイズをスケーリングします。

TRL DDP

Open notebook in new tab

Unsloth を使用した分散ファインチューニングLlama 3.2 3B

このノートブックでは、サーバレス GPU Python API使用して、8 つの A10 GPU 全体でUnslothLibを使用してLlama 3.2 3B モデルを微調整する方法を示します。 Unsloth は、メモリ効率の高いトレーニング最適化を提供し、Hugging Face Accelerate を介して内部で DDP を使用します。

アンスロトDDP

Open notebook in new tab

Rayトレーニングする(コンピュータビジョン)を利用した分散トレーニング

このノートブックでは、 Databricksサーバーレス GPU クラスター上の Ray トレーニングするおよび Ray Data を使用した、FashionMNIST データセット上のPyTorch ResNet モデルの分散トレーニングを示します。 Ray トレーニングするは、高レベルの分散トレーニング オーケストレーションを提供し、基礎となる並列処理戦略として DDP を使用します。 この例では、 Unity Catalogストレージのセットアップ、マルチノード GPU トレーニング用の Ray の構成、 MLflowを使用したモデルのログ記録と登録、およびモデルのパフォーマンスの評価について説明します。

レイDDP

Open notebook in new tab

PyTorch Lightning を使用した 2 タワー レコメンデーション システムのトレーニング

このノートブックでは、サーバレス GPU コンピュート上でPyTorch Lightningを使用して 2 タワー推奨モデルをトレーニングする方法を示します。 PyTorch Lightning は、マルチ GPU トレーニングの DDP 構成を自動的に処理する高レベルのインターフェースを提供します。この例には、モザイク ストリーミング (MDS) 形式を使用したデータの準備と、A10 または H100 GPU にわたる分散トレーニングが含まれています。

以下の内容を含む完全なノートブックについては、ディープラーニングの推奨例のページを参照してください。

  • データ準備とMDS形式の変換
  • PyTorch Lightning を使用した 2 タワー レコメンダーのトレーニング