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

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

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

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

注意

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 分散式資料平行處理程式庫執行分散式訓練