与针对 AWS 基础架构进行了优化的SMDDP库的兼容性 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与针对 AWS 基础架构进行了优化的SMDDP库的兼容性

您可以将 SageMaker 模型并行度库 v2 (SMPv2) 与提供针对基础架构优化的AllGather集体通信操作的SageMaker 分布式数据并行度 (SMDDP) 库结合使用。 AWS 在分布式训练中,集体通信操作旨在同步多个GPU工作人员并在他们之间交换信息。 AllGather是分片数据并行中通常使用的核心集体通信操作之一。要了解有关该SMDDPAllGather操作的更多信息,请参阅SMDDP 集体行动 AllGather优化此类集体通信操作将直接有助于加快 end-to-end训练速度,而不会对收敛产生副作用。

注意

该SMDDP库支持 P4 和 P4de 实例(另支持的框架 AWS 区域、和实例类型请参阅库中的实例)。SMDDP

该SMDDP库 PyTorch 通过流程组层与原生集成。要使用该SMDDP库,您只需要在训练脚本中添加两行代码。它支持任何训练框架,例如 SageMaker 模型并行度库 PyTorch FSDP、和。 DeepSpeed

要激活SMDDP和使用其AllGather操作,您需要在训练脚本中添加两行代码,作为其中的一部分第 1 步:调整 PyTorch FSDP训练脚本。请注意,您需要先使用SMDDP后端初始 PyTorch 化 Distributed,然后运行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()

SageMaker 的@@ 框架容器 PyTorch (另支持的框架和 AWS 区域请参阅 SMP v2 和支持的框架 AWS 区域、和实例类型SMDDP库中的)已预先打包了SMP二进制文件和二进制文件。SMDDP要了解有关该SMDDP库的更多信息,请参阅使用分布式数据并行度库运行 SageMaker 分布式训练