SageMaker 模型并行度库的发行说明 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

SageMaker 模型并行度库的发行说明

要跟踪 SageMaker 模型并行度 (SMP) 库的最新更新,请参阅以下发行说明。如果您对 SMP 库还有其他疑问,请通过以下方式与 SMP 服务团队联系。sm-model-parallel-feedback@amazon.com

SageMaker 模型并行度库 v2.4.0

日期:2024年6月20日

SMP 库更新

错误修复

  • 修复了在使用 SMP Transformer 时未在向前传递标签时导致对数形状不正确的错误。

货币更新

  • 增加了对 PyTorch v2.3.1 的支持。

  • 增加了对 Python v3.11 的支持。

  • 增加了对 Hugging Face 变形金刚库 v4.40.1 的支持。

弃用

  • 已停止支持 Python v3.10。

  • v4.40.1 之前的 Hugging Face Transformers 库版本已停止支持。

其他改动

  • 包括一个补丁,用于切换在不同等级上保存已消除重复的张量。要了解更多信息,请参阅 PyTorch GitHub 存储库中的讨论话题

已知问题

  • 存在一个已知问题,即在使用张量并行度微调 Llama-3 70B 时,损失可能会激增,然后恢复到更高的损失值。

SMP Docker 容器

SMP 库团队分发 Docker 容器来取代框架容器。 SageMaker PyTorch 如果你在 Pyth SageMaker on SDK 中使用 PyTorch 估算器类并指定分发配置以使用 SMP v2,则 SageMaker 会自动获取 SMP Docker 容器。要使用此版本的 SMP v2,请将你的 Pyth SageMaker on SDK 升级到 v2.224.0 或更高版本。

货币更新

  • 已将 SMDDP 库升级到 v2.3.0。

  • 已将 NCCL 库升级到 v2.21.5。

  • 已将 EFA 软件升级到 v1.32.0。

弃用

容器详细信息

  • 适用于 PyTorch v2.3.1 的 SMP Docker 容器,带有 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  • 预安装的软件包

    • SMP 库 v2.4.0

    • SMDDP 库 v2.3.0

    • CUDNN v8.9.7.29

    • FlashAttention v2.3.3

    • TransformerEngine v1.2.1

    • Hugging Face 变形金刚 v4.40.1

    • Hugging Face 数据集库 v2.19.0

    • EFA v1.32.0

    • NCCL v2.21.5

SMP Conda 频道

以下 S3 存储桶是 SMP 服务团队托管的 SMP 库的公共 Conda 频道。如果要在 SageMaker HyperPod 集群等高度可定制的计算资源的环境中安装 SMP v2 库,请使用此 Conda 通道正确安装 SMP 库。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

有关 Conda 频道的更多信息,请参阅 Conda 文档中的频道

SageMaker 模型并行度库 v2.3.1

日期:2024年5月9日

错误修复

  • ImportError修复了使用 moe_load_balancing=balanced in torch.sagemaker.moe.moe_config.MoEConfig 进行专家并行处理时出现的问题。

  • 修复了启用KeyErrorload_state_dict_from_rank0会引发torch.sagemaker.transform呼叫的微调问题。

  • 修复了加载大型专家混合 out-of-memory (MoE) 模型(例如 Mixtral 8x22b)进行微调时出现的(OOM)错误。

SMP Docker 容器

SMP 库团队分发 Docker 容器来取代框架容器。 SageMaker PyTorch 此版本将上述错误修复整合到以下 SMP Docker 镜像中。

  • 适用于 PyTorch v2.2.0 的 SMP Docker 容器,带有 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121

SageMaker 模型并行度库 v2.3.0

日期:2024年4月11日

新功能

  • 添加了一项新的核心功能 “专家并行性”,以支持 “专家混合” 变压器模型。要了解更多信息,请参阅专家平行性

SMP Docker 容器

SMP 库团队分发 Docker 容器来取代框架容器。 SageMaker PyTorch如果你在 Pyth SageMaker on SDK 中使用 PyTorch 估算器类并指定分发配置以使用 SMP v2,则 SageMaker 会自动获取 SMP Docker 容器。要使用此版本的 SMP v2,请将你的 Pyth SageMaker on SDK 升级到 v2.214.4 或更高版本。

  • 适用于 PyTorch v2.2.0 的 SMP Docker 容器,带有 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • 此 Docker 容器中预先安装的软件包

      • SMDDP 库 v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face 变形金刚 v4.37.1

      • Hugging Face 数据集库 v2.16.1

      • 威震天酷睿 0.5.0

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker 模型并行度库 v2.2.0

日期:2024年3月7日

新功能

错误修复

  • 修复了在张量并行训练期间无法保证张量在AllGather集体调用之前连续的错误。

货币更新

  • 增加了对 PyTorch v2.2.0 的支持。

  • 已将 SMDDP 库升级到 v2.2.0。

  • 已将 FlashAttention 库升级到 v2.3.3。

  • 已将 NCCL 库升级到 v2.19.4。

弃用

  • v1.2.0 之前的变形金刚引擎版本已停止支持。

已知问题

  • SMP 激活分载 功能目前不起作用。改用本机 PyTorch 激活卸载。

其他改动

SMP Docker 容器

SMP 库团队分发 Docker 容器来取代框架容器。 SageMaker PyTorch如果你在 Pyth SageMaker on SDK 中使用 PyTorch 估算器类并指定分发配置以使用 SMP v2,则 SageMaker 会自动获取 SMP Docker 容器。要使用此版本的 SMP v2,请将你的 Pyth SageMaker on SDK 升级到 v2.212.0 或更高版本。

  • 适用于 PyTorch v2.2.0 的 SMP Docker 容器,带有 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
    • 适用于 p4d、p4de 和 P5 实例

    • 此 Docker 容器中预先安装的软件包

      • SMDDP 库 v2.2.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face 变形金刚 v4.37.1

      • Hugging Face 数据集库 v2.16.1

      • EFA v1.30.0

      • NCCL v2.19.4

SageMaker 模型并行度库 v2.1.0

日期:2024年2月6日

货币更新

  • 增加了对 PyTorch v2.1.2 的支持。

弃用

  • 已停止支持 Hugging Face Transformers v4.31.0。

已知问题

  • 发现了一个问题,即使用attn_implementation=flash_attention_2和 FSDP 对 Hugging Face Llama 2 模型进行微调会导致模型出现分歧。有关参考,请参阅 Hugging Face Transformers 存储库中的问题单 GitHub 。为避免分歧问题,请使用attn_implementation=sdpa。或者,通过设置use_smp_implementation=True使用 SMP 变压器模型实现。

SMP Docker 容器

SMP 库团队分发 Docker 容器来取代框架容器。 SageMaker PyTorch如果你在 Pyth SageMaker on SDK 中使用 PyTorch 估算器类并指定分发配置以使用 SMP v2,则 SageMaker 会自动获取 SMP Docker 容器。要使用此版本的 SMP v2,请将你的 Pyth SageMaker on SDK 升级到 v2.207.0 或更高版本。

  • 适用于 PyTorch v2.1.2 的 SMP Docker 容器,带有 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121
    • 适用于 p4d、p4de 和 P5 实例

    • 此 Docker 容器中预先安装的软件包

      • SMDDP 库 v2.1.0

      • CUDNN v8.9.5.29

      • FlashAttention v2.3.3

      • TransformerEngine v1.2.1

      • Hugging Face 变形金刚 v4.37.1

      • Hugging Face 数据集库 v2.16.1

      • EFA v1.30.0

SMP Conda 频道

以下 S3 存储桶是 SMP 服务团队托管的公共 Conda 频道。如果要在 SageMaker HyperPod 集群等高度可定制的计算资源的环境中安装 SMP v2 库,请使用此 Conda 通道正确安装 SMP 库。

  • https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/

有关 Conda 频道的更多信息,请参阅 Conda 文档中的频道

SageMaker 模型并行度库 v2.0.0

日期:2023 年 12 月 19 日

新功能

发布了 SageMaker 模型并行度 (SMP) 库 v2.0.0,其中包含以下新产品。

重大变化

  • SMP v2 对 API 进行了全面改进,并提供了软件包。torch.sagemaker大多数情况下,您只需要使用torch.sagemaker.init()模块进行初始化并传递模型并行配置参数即可。使用这个新软件包,您可以显著简化训练脚本中的代码修改。要了解有关调整训练脚本以使用 SMP v2 的更多信息,请参阅。开始使用 SageMaker 模型并行度库 v2

  • 如果你使用 SMP v1 来训练 Hugging Face Transformer 模型,并且想在 SMP v2 中重复使用这些模型,请参阅。从 SMP v1 升级到 SMP v2

  • 对于 PyTorch FSDP 训练,你应该使用 SMP v2。

已知问题

  • 激活检查点功能目前仅适用于FSDP的以下包装策略。

    • auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)

  • 要使用激活分载,FSDP 激活检查点类型必须为 REENTRANT。

  • 在启用 tensor parallel 且分片数据并行度设置为的情况下运行时1,必须使用。backend = nccl在这种情况下,不支持smddp后端选项。

  • 即使不使用张量并行度,也需要将 Transformer E@@ ngin e PyTorch 与 SMP 库一起使用。

其他改动

弃用

  • 已停止支持 TensorFlow。

  • SMP v2 中不支持流水线并行性。

  • 该 DeepSpeed 库不支持原生 PyTorch FSDP。

SMP Docker 容器

SMP 库团队分发 Docker 容器来取代框架容器。 SageMaker PyTorch如果你在 Pyth SageMaker on SDK 中使用 PyTorch 估算器类并指定分发配置以使用 SMP v2,则 SageMaker 会自动获取 SMP Docker 容器。要使用此版本的 SMP v2,请将你的 Pyth SageMaker on SDK 升级到 v2.207.0 或更高版本。

  • 适用于 PyTorch v2.0.1 的 SMP Docker 容器,带有 CUDA v12.1

    658645717510.dkr.ecr.us-west-2.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121