多GPU分散式訓練

這很重要

筆記本範例中使用的 @distributed 裝飾者是在 公開預覽中。

這些範例示範如何在 AI Runtime 上將模型訓練擴展到多個 GPU 和節點。 筆記本範例在已連接的 GPU 計算資源上使用 serverless_gpu Python API。 Databricks CLI 範例提供單節點及多節點訓練的工作負載設定與原始碼。

備註

H100 GPU 支援以 Notebook 為基礎的多 GPU 分散式訓練。

選擇你的平行運算技巧

根據你的模型大小、可用 GPU 記憶體和效能需求選擇平行處理技術。 下表比較了這些選項。

技巧 使用時機
DDP(分散式資料平行) 完整模型可容納於單一 GPU 記憶體中;需要擴展資料吞吐量
FSDP(完全分片資料平行) 非常大型的模型,無法放進單一 GPU 記憶體
DeepSpeed ZeRO 具備先進記憶體優化需求的大型模型

關於每種技術的詳細資訊,請參見 DDP、 FSDP和 DeepSpeed。

如需建議與模式,幫助你的訓練流程更有效率且具韌性,請參閱 績效與韌性指南。

按技巧與架構分類的筆記本範例

下表依照框架或函式庫及所應用的平行性技術組織筆記本範例。 多個筆記本可能會出現在同一儲存格裡。

框架/函式庫 DDP 範例 FSDP 範例 DeepSpeed 範例
PyTorch(原生) 簡單 MLP 神經網路
RetinaNet 影像偵測
10M 參數變壓器 —
Huggingface TRL 調整 GPT OSS 20B 微調 GPT OSS 120B 模型 微調 Llama 3.2 1B
懶惰 微調 Llama 3.2 3B — —
蠑螈 微調 Olmo3 7B — —
閃電 雙塔推薦系統 — —

CLI 範例

以下範例連結到 AI Runtime Cookbook中的可執行配方。

Example Technique 說明
使用 Ray Train 進行 ResNet-50 微調 DDP 用每個 A10 GPU 在兩個節點上使用一個 Ray Train 工作者來微調 ResNet-50。
Qwen2.5-3B 與 Ray Train 微調 DDP 在配備 8 張 H100 GPU 的單一節點上,每個 GPU 配備一個 Ray Train 工作者,微調 Qwen2.5-3B。
Llama 3.1 8B 的多節點微調 FSDP 在兩個 8x H100 節點上,使用 PyTorch FSDP 微調 Llama 3.1 8B。
Qwen3.8-27B 的多節點微調 FSDP2 在四個 8x H100 節點上,使用 PyTorch FSDP2 微調 Qwen3.8-27B。
Qwen3-8B 發票提取微調 DeepSpeed ZeRO-3 使用 TRL 在一個 8x H100 節點上微調 Qwen3-8B,以進行發票與收據實體擷取。

在 Notebook 中開始

請參考以下教學,開始使用無伺服器 GPU Python 函式庫進行分散式訓練:

Tutorial 說明
搭載 H100 GPU 的 AI 執行時 學習如何使用 Databricks AI Runtime 搭配 H100 加速器,使用 serverless_gpu Python 函式庫來執行分散式 GPU 工作負載。