與針對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 分散式資料平行化程式庫執行分散式訓練