本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
支持的框架、Amazon Web Services 区域 和实例类型
在使用 SageMaker AI 分布式数据并行(SMDDP)库之前,请检查您的 Amazon 账户和 Amazon Web Services 区域中支持的 ML 框架和实例类型,以及您是否有足够的配额。
支持的框架
下表显示了 SageMaker AI 和 SMDDP 支持的深度学习框架及其版本。SMDDP 库可在 SageMaker AI 框架容器
注意
要查看 SMDDP 库的最新更新和版本说明,请参阅 SageMaker AI 数据并行库发布说明。
PyTorch
| PyTorch 版本 | SMDDP 库版本 | 预装了 SMDDP 的 SageMaker AI 框架容器映像 | 预装了 SMDDP 的 SMP Docker 映像 | 二进制文件的 URL** |
|---|---|---|---|---|
| v2.3.1 | smdistributed-dataparallel==v2.5.0 |
不可用 | 658645717510.dkr.ecr. |
https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.4.1/cu121/2024-10-09/smdistributed_dataparallel-2.5.0-cp311-cp311-linux_x86_64.whl |
| v2.3.0 | smdistributed-dataparallel==v2.3.0 |
763104351884.dkr.ecr. |
当前无可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.3.0/cu121/2024-05-23/smdistributed_dataparallel-2.3.0-cp311-cp311-linux_x86_64.whl |
| v2.2.0 | smdistributed-dataparallel==v2.2.0 |
763104351884.dkr.ecr. |
658645717510.dkr.ecr. |
https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.2.0/cu121/2024-03-04/smdistributed_dataparallel-2.2.0-cp310-cp310-linux_x86_64.whl |
| v2.1.0 | smdistributed-dataparallel==v2.1.0 |
763104351884.dkr.ecr. |
658645717510.dkr.ecr. |
https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.1.0/cu121/2024-02-04/smdistributed_dataparallel-2.1.0-cp310-cp310-linux_x86_64.whl |
| v2.0.1 | smdistributed-dataparallel==v2.0.1 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.0.1/cu118/2023-12-07/smdistributed_dataparallel-2.0.2-cp310-cp310-linux_x86_64.whl |
| v2.0.0 | smdistributed-dataparallel==v1.8.0 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.0.0/cu118/2023-03-20/smdistributed_dataparallel-1.8.0-cp310-cp310-linux_x86_64.whl |
| v1.13.1 | smdistributed-dataparallel==v1.7.0 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/1.13.1/cu117/2023-01-09/smdistributed_dataparallel-1.7.0-cp39-cp39-linux_x86_64.whl |
| v1.12.1 | smdistributed-dataparallel==v1.6.0 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/1.12.1/cu113/2022-12-05/smdistributed_dataparallel-1.6.0-cp38-cp38-linux_x86_64.whl |
| v1.12.0 | smdistributed-dataparallel==v1.5.0 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/1.12.0/cu113/2022-07-01/smdistributed_dataparallel-1.5.0-cp38-cp38-linux_x86_64.whl |
| v1.11.0 | smdistributed-dataparallel==v1.4.1 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/1.11.0/cu113/2022-04-14/smdistributed_dataparallel-1.4.1-cp38-cp38-linux_x86_64.whl |
** 二进制文件的 URL 用于在自定义容器中安装 SMDDP 库。有关更多信息,请参阅 利用 SageMaker AI 分布式数据并行库创建自己的 Docker 容器。
注意
SMDDP 库在 Amazon Web Services 区域 中可用,SageMaker AI 框架容器
注意
SMDDP 库版本 1.4.0 及更高版本可作为 PyTorch 分布式 (torch.distributed) 数据并行(torch.parallel.DistributedDataParallel) 的后端。由于变更,PyTorch 分布式软件包的以下 smdistributed API
-
smdistributed.dataparallel.torch.distributed已弃用。改为使用 torch.distributed软件包。 -
smdistributed.dataparallel.torch.parallel.DistributedDataParallel已弃用。改为使用 torch.nn.parallel.DistributedDataParallelAPI。
如果您需要使用库的早期版本(v1.3.0 或更早版本),请参阅 SageMaker AI Python SDK 文档中的已存档 SageMaker AI 分布式数据并行文档
PyTorch Lightning
SMDDP 库可在以下适用于 PyTorch 的 SageMaker AI 框架容器和 SMP Docker 容器中使用 PyTorch Lightning。
PyTorch Lightning 版本 2
| PyTorch Lightning 版本 | PyTorch 版本 | SMDDP 库版本 | 预装了 SMDDP 的 SageMaker AI 框架容器映像 | 预装了 SMDDP 的 SMP Docker 映像 | 二进制文件的 URL** |
|---|---|---|---|---|---|
| 2.2.5 | 2.3.0 | smdistributed-dataparallel==v2.3.0 |
763104351884.dkr.ecr. |
当前无可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.3.0/cu121/2024-05-23/smdistributed_dataparallel-2.3.0-cp311-cp311-linux_x86_64.whl |
| 2.2.0 | 2.2.0 | smdistributed-dataparallel==v2.2.0 |
763104351884.dkr.ecr. |
658645717510.dkr.ecr. |
https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.2.0/cu121/2024-03-04/smdistributed_dataparallel-2.2.0-cp310-cp310-linux_x86_64.whl |
| 2.1.2 | 2.1.0 | smdistributed-dataparallel==v2.1.0 |
763104351884.dkr.ecr. |
658645717510.dkr.ecr. |
https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.1.0/cu121/2024-02-04/smdistributed_dataparallel-2.1.0-cp310-cp310-linux_x86_64.whl |
| 2.1.0 | 2.0.1 | smdistributed-dataparallel==v2.0.1 |
763104351884.dkr.ecr. |
不可用 | https://smdataparallel.s3.amazonaws.com/binary/pytorch/2.0.1/cu118/2023-12-07/smdistributed_dataparallel-2.0.2-cp310-cp310-linux_x86_64.whl |
PyTorch Lightning 版本 1
| PyTorch Lightning 版本 | PyTorch 版本 | SMDDP 库版本 | 预装了 SMDDP 的 SageMaker AI 框架容器映像 | 二进制文件的 URL** |
|---|---|---|---|---|
|
1.7.2 1.7.0 1.6.4 1.6.3 1.5.10 |
1.12.0 | smdistributed-dataparallel==v1.5.0 |
763104351884.dkr.ecr.<区域>.amazonaws.com/pytorch-training:1.12.0-gpu-py38-cu113-ubuntu20.04-sagemaker |
https://smdataparallel.s3.amazonaws.com/binary/pytorch/1.12.0/cu113/2022-07-01/smdistributed_dataparallel-1.5.0-cp38-cp38-linux_x86_64.whl |
** 二进制文件的 URL 用于在自定义容器中安装 SMDDP 库。有关更多信息,请参阅 利用 SageMaker AI 分布式数据并行库创建自己的 Docker 容器。
注意
PyTorch DLC 中未预安装 PyTorch Lightning 及其实用程序库(例如 Lightning Bolts)。当您在步骤 2 中构造 SageMaker AI PyTorch 估算器并提交训练作业请求时,您需要在 SageMaker AI PyTorch 训练容器中提供 requirements.txt 以安装 pytorch-lightning 和 lightning-bolts。
# requirements.txt pytorch-lightning lightning-bolts
有关指定放置 requirements.txt 文件以及训练脚本和作业提交的源目录的更多信息,请参阅 Amazon SageMaker AI Python SDK 文档中的使用第三方库
Hugging Face Transformers
适用于 Hugging Face 的 Amazon Deep Learning Containers 使用适用于 PyTorch 和 TensorFlow 的 SageMaker 训练容器作为其基础映像。要查找 Hugging Face Transformers 库版本以及可以结合使用的 PyTorch 和 TensorFlow 版本,请参阅最新的 Hugging Face 容器
TensorFlow(已过时)
重要
SMDDP 库已停止对 TensorFlow 的支持,在 TensorFlow 版本 2.11.0 之后的 DLC 中不再可用。下表列出了之前安装了 SMDDP 库的 TensorFlow 的 DLC。
| TensorFlow 版本 | SMDDP 库版本 |
|---|---|
| 2.9.1、2.10.1、2.11.0 |
smdistributed-dataparallel==v1.4.1
|
| 2.8.3 |
smdistributed-dataparallel==v1.3.0
|
Amazon Web Services 区域
SageMaker AI 的 Amazon 深度学习容器
支持的实例类型
SMDDP 库需要以下实例类型之一。
| 实例类型 |
|---|
ml.p3dn.24xlarge* |
ml.p4d.24xlarge |
ml.p4de.24xlarge |
提示
要在启用 EFA 的实例类型上正确运行分布式训练,您应该通过设置 VPC 的安全组来启用实例之间的流量,允许所有进出安全组的流量。要了解如何设置安全组规则,请参阅《Amazon EC2 用户指南》中的步骤 1:准备启用 EFA 的安全组。
重要
* SMDDP 库已停止支持在 P3 实例上优化其集体通信操作。虽然您仍然可以在 ml.p3dn.24xlarge 实例上使用 SMDDP 优化的 AllReduce 集合,但将不再提供进一步的开发支持,以提高此实例类型的性能。请注意,SMDDP 优化的 AllGather 集合仅适用于 P4 实例。
有关实例类型的规格,请参阅 Amazon EC2 实例类型
在遇到类似于以下内容的错误消息时,请按照请求提高 SageMaker AI 资源的服务限额中的说明操作。
ResourceLimitExceeded: An error occurred (ResourceLimitExceeded) when calling the CreateTrainingJob operation: The account-level service limit 'ml.p3dn.24xlarge for training job usage' is 0 Instances, with current utilization of 0 Instances and a request delta of 1 Instances. Please contact AWS support to request an increase for this limit.