與針對 AWS 基礎設施最佳化的 SMDDP 程式庫的相容性 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

與針對 AWS 基礎設施最佳化的 SMDDP 程式庫的相容性

您可以使用 SageMaker 模型平行處理程式庫 v2 (SMP v2) 搭配 SageMaker 分散式資料平行處理 (SMDDP) 程式庫,該程式庫提供針對 AWS 基礎設施最佳化的AllGather集體通訊操作。在分散式訓練中,集體通訊操作旨在同步多個 GPU 工作器並在它們之間交換資訊。AllGather 是碎片資料平行化中常用的核心集體通訊操作之一。若要進一步了解 SMDDP AllGather 操作,請參閱SMDDP AllGather 集體操作。最佳化此類集體通訊操作將直接有助於更快速的端對端訓練,而不會對收斂產生副作用。

注意

SMDDP 程式庫支援 P4 和 P4de 執行個體 (另請參閱 SMDDP 程式庫支援的架構 AWS 區域和執行個體類型)。

SMDDP 程式庫透過程序群組層與 PyTorch 原生整合。若要使用 SMDDP 程式庫,您只需將兩行程式碼新增至訓練指令碼。它支援任何訓練架構,例如 SageMaker Model Parallelism Library、PyTorch FSDP 和 DeepSpeed。

若要啟用 SMDDP 並使用其 AllGather 操作,您需要將兩行程式碼新增至訓練指令碼,做為 步驟 1:調整 PyTorch FSDP 訓練指令碼 的一部分。請注意,您需要先使用 SMDDP 後端初始化 PyTorch 分散式,然後執行 SMP 初始化。

import torch.distributed as dist # Initialize with SMDDP import smdistributed.dataparallel.torch.torch_smddp dist.init_process_group(backend="smddp") # Replacing "nccl" # Initialize with SMP import torch.sagemaker as tsm tsm.init()

適用於 PyTorch 的 SageMaker Framework Containers (另請參閱 支援的架構和 AWS 區域 SMP v2 和 SMDDP 支援的架構 AWS 區域和執行個體類型 程式庫) 會使用 SMP 二進位檔和 SMDDP 二進位檔預先封裝。若要進一步了解 SMDDP 程式庫,請參閱使用 SageMaker AI 分散式資料平行化程式庫執行分散式訓練