与针对基础架构进行了优化的 SMDDP 库的兼容性 Amazon - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

注意

SMDDP 库支持 P4 和 P4de 实例(另支持的框架 Amazon Web Services 区域、和实例类型请参阅 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 (另支持的框架和 Amazon Web Services 区域请参阅 SMP v2 和 支持的框架 Amazon Web Services 区域、和实例类型 SMDDP 库)预先打包了 SMP 二进制文件和 SMDDP 二进制文件。要了解有关 SMDDP 库的更多信息,请参阅。使用分布式数据并行度库运行 SageMaker 分布式训练