本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SageMaker 模型并行度库的发行说明
要跟踪 SageMaker 模型 parallelism (SMP) 库的最新更新,请参阅以下发行说明。如果您对SMP图书馆还有其他疑问,请通过以下方式与SMP服务团队联系sm-model-parallel-feedback@amazon.com
。
SageMaker 模型并行度库 v2.5.0
日期:2024年8月28日
SMP库更新
新功能
-
在 Mixtral 模型的 P5 实例上添加了对使用FP8数据格式进行混合精度训练的支持。
-
支持的 Mixtral 配置为 8x7b 和 8x22b。要了解更多信息,请参阅 使用变形引擎FP8在 P5 实例上进行混合精度训练。
-
-
增加了上下文并行性对以下模型配置的支持。
-
Llama-v2:7B 和 70B
-
Llama-v3:8B 和 70B
-
GPT-NeoX:20B
-
-
增加了对异步保存检查点的支持。要了解更多信息,请参阅 使用检查点功能 SMP。
-
支持无需使用 Amazon EBS 或文件服务器即可将检查点直接保存到 S3。
-
错误修复
-
解决了加载预训练模型检查点并利用张量并行度时,在 Llama 微调期间导致初始损失异常高的问题。
备注
-
要以FP8混合精度使用 Mixtral 的激活检查点,您需要分别检查注意层和专家层。有关正确设置的示例,请参阅 Amazon Examples 存储库中的 SageMaker示例训练脚本
。
已知问题
-
MoE 配置 (torch.sagemaker.moe.moe_config.MoEConfig) 中的平衡负载平衡类型目前与激活检查点不兼容。
-
通过上下文并行性,GPT-neoX 在预训练和微调中都显示性能下降。
-
对于 P4 实例上的 GPT-neoX,直接将权重从延迟参数初始化的变换模型加载到 Hugging Face 变换器模型会导致第一步的损耗不匹配。
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch 框架容器。如果您在 Pyth SageMaker on 中使用 PyTorch 估算器类SDK并指定要使用 SMP v2 的分发配置,则 SageMaker 会自动获取 Docker 容器。SMP要使用此版本的 SMP v2,请将你的 SageMaker Python 升级SDK到 v2.224.0 或更高版本。
货币更新
-
已将 FlashAttention 库升级到 v2.5.8
-
将《变形金刚》引擎库升级到 v1.8
容器详细信息
-
SMP适用于 PyTorch v2.3.1 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
<region>
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121有关支持区域的完整列表,请参阅 Amazon Web Services 区域。
-
预安装的软件包
-
该SMP库 v2.5.0
-
该SMDDP库 v2.3.0
-
CUDNNv8.9.7.29
-
FlashAttention v2.5.8
-
TransformerEngine v1.8
-
威震天 v0.7.0
-
Hugging Face 变形金刚 v4.40.1
-
Hugging Face 数据集库 v2.19.0
-
EFAv1.32.0
-
NCCLv2.21.5
-
SMP康达频道
以下 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.4.0
日期:2024年6月20日
SMP库更新
错误修复
-
修复了在使用 Transformer 时未在向前传递标签时导致对数形状不正确的错误SMP。
货币更新
-
增加了对 PyTorch v2.3.1 的支持。
-
增加了对 Python v3.11 的支持。
-
增加了对 Hugging Face Transformers 库 v4.40.1 的支持。
弃用
-
已停止支持 Python v3.10。
-
v4.40.1 之前的 Hugging Face Transformers 库版本已停止支持。
其他改动
-
包括一个补丁,用于切换在不同等级上保存已消除重复的张量。要了解更多信息,请参阅 PyTorch GitHub 存储库中的讨论话题
。
已知问题
-
存在一个已知问题,即在使用张量并行度微调 Llama-3 70B 时,损失可能会激增,然后恢复到更高的损失值。
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch 框架容器。如果您在 Pyth SageMaker on 中使用 PyTorch 估算器类SDK并指定要使用 SMP v2 的分发配置,则 SageMaker 会自动获取 Docker 容器。SMP要使用此版本的 SMP v2,请将你的 SageMaker Python 升级SDK到 v2.224.0 或更高版本。
货币更新
-
已将SMDDP库升级到 v2.3.0。
-
已将NCCL库升级到 v2.21.5。
-
已将EFA软件升级到 1.32.0 版。
弃用
-
已停止安装 T orch 分布式实验 (TorchDistX
) 库。
容器详细信息
-
SMP适用于 PyTorch v2.3.1 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121 -
预安装的软件包
-
该SMP库 v2.4.0
-
该SMDDP库 v2.3.0
-
CUDNNv8.9.7.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Hugging Face 变形金刚 v4.40.1
-
Hugging Face 数据集库 v2.19.0
-
EFAv1.32.0
-
NCCLv2.21.5
-
SMP康达频道
以下 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 进行专家并行处理时出现的问题。 -
修复了启用
KeyError
时load_state_dict_from_rank0
会引发torch.sagemaker.transform呼叫的微调问题。 -
修复了加载大型专家混合 out-of-memory (MoEOOM) 模型(例如 Mixtral 8x22b)进行微调时出现的 () 错误。
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch 框架容器。此版本将上述错误修复整合到以下 SMP Docker 镜像中。
-
SMP适用于 PyTorch v2.2.0 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
SageMaker 模型并行度库 v2.3.0
日期:2024年4月11日
新功能
-
添加了一项新的核心功能 “专家并行性”,以支持 “专家混合” 变压器模型。要了解更多信息,请参阅 专家平行性。
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch框架容器。如果您在 Pyth SageMaker on 中使用 PyTorch 估算器类SDK并指定要使用 SMP v2 的分发配置,则 SageMaker 会自动获取 Docker 容器。SMP要使用此版本的 SMP v2,请将你的 SageMaker Python 升级SDK到 v2.214.4 或更高版本。
-
SMP适用于 PyTorch v2.2.0 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
此 Docker 容器中预先安装的软件包
-
该SMDDP库 v2.2.0
-
CUDNNv8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Hugging Face 变形金刚 v4.37.1
-
Hugging Face 数据集库 v2.16.1
-
威震天酷睿 0.5.0
-
EFAv1.30.0
-
NCCLv2.19.4
-
-
SageMaker 模型并行度库 v2.2.0
日期:2024年3月7日
新功能
-
增加了对在集成了变形引擎的 P5 实例上FP8训练以下 Hugging Face 变形器模型的支持:
-
GPT-neoX
-
Llama 2
-
错误修复
-
修复了在张量并行训练期间无法保证张量在
AllGather
集体调用之前连续的错误。
货币更新
-
增加了对 PyTorch v2.2.0 的支持。
-
已将SMDDP库升级到 v2.2.0。
-
已将 FlashAttention 库升级到 v2.3.3。
-
已将NCCL库升级到 v2.19.4。
弃用
-
v1.2.0 之前的变形金刚引擎版本已停止支持。
已知问题
-
该SMP激活分载功能目前不起作用。改用本机 PyTorch 激活卸载。
其他改动
-
包括一个补丁,用于修复存储库中 https://github.com/pytorch/pytorch/issues/
117748 的问题话题中讨论的性能回归。 PyTorch GitHub
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch框架容器。如果您在 Pyth SageMaker on 中使用 PyTorch 估算器类SDK并指定要使用 SMP v2 的分发配置,则 SageMaker 会自动获取 Docker 容器。SMP要使用此版本的 SMP v2,请将你的 SageMaker Python 升级SDK到 v2.212.0 或更高版本。
-
SMP适用于 PyTorch v2.2.0 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
适用于 p4d、p4de 和 P5 实例
-
此 Docker 容器中预先安装的软件包
-
该SMDDP库 v2.2.0
-
CUDNNv8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Hugging Face 变形金刚 v4.37.1
-
Hugging Face 数据集库 v2.16.1
-
EFAv1.30.0
-
NCCLv2.19.4
-
-
SageMaker 模型并行度库 v2.1.0
日期:2024年2月6日
货币更新
-
增加了对 PyTorch v2.1.2 的支持。
弃用
-
已停止支持 Hugging Face Transformers v4.31.0。
已知问题
-
发现一个问题,即使用
attn_implementation=flash_attention_2
和对 Hugging Face Llama 2 模型进行微调FSDP会导致模型出现分歧。有关参考,请参阅 Hugging Face Transformers 存储库中的问题单GitHub 。为避免分歧问题,请使用 attn_implementation=sdpa
。或者,通过设置使用SMP变压器模型实现use_smp_implementation=True
。
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch框架容器。如果您在 Pyth SageMaker on 中使用 PyTorch 估算器类SDK并指定要使用 SMP v2 的分发配置,则 SageMaker 会自动获取 Docker 容器。SMP要使用此版本的 SMP v2,请将你的 SageMaker Python 升级SDK到 v2.207.0 或更高版本。
-
SMP适用于 PyTorch v2.1.2 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121-
适用于 p4d、p4de 和 P5 实例
-
此 Docker 容器中预先安装的软件包
-
该SMDDP库 v2.1.0
-
CUDNNv8.9.5.29
-
FlashAttention v2.3.3
-
TransformerEngine v1.2.1
-
Hugging Face 变形金刚 v4.37.1
-
Hugging Face 数据集库 v2.16.1
-
EFAv1.30.0
-
-
SMP康达频道
以下 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,其中包含以下新产品。
-
一个新
torch.sagemaker
软件包,在 v1.x 版本中对之前的smdistributed.modelparallel.torch
软件包进行了全面改进。SMP -
支持 PyTorch 2.0.1。
-
Support fo PyTorch FSDP r.
-
Support 支持SageMaker 培训和 SageMaker HyperPod.
重大变化
-
SMPv2 全面修改了并提供了APIs软件包。
torch.sagemaker
大多数情况下,您只需要使用torch.sagemaker.init()
模块进行初始化并传递模型并行配置参数即可。使用这个新软件包,您可以显著简化训练脚本中的代码修改。要了解有关调整训练脚本以使用 SMP v2 的更多信息,请参阅使用 SageMaker 模型并行度库 v2。 -
如果你使用 SMP v1 来训练 Hugging Face Transformer 模型并想在 SMP v2 中重复使用这些模型,请参阅。从 SMP v1 升级到 SMP v2
-
要进行 PyTorch FSDP训练,你应该使用 SMP v2。
已知问题
其他改动
-
从此版本开始, SageMaker 模型并行度库的文档将在本 A mazon SageMaker 开发者指南中完整提供。为了支持亚马逊开发者指南中这份完整的 SMP v2 SageMaker 开发者指南,Pyth SageMaker on SDK 文档中对 SMPv1.x 的额外参考
已被弃用。如果你仍然需要 v1. SMP x 的文档,可以在 Python v2.199.0 文档中找到 SMP v1.x 版本的开发者指南,Python 库 v1.x 参考资料可在 (已存档) SageMaker 模型并行度库 v1.x SMP Python v2.199.0 文档中找到。SageMaker SDK
弃用
-
已停止支持 TensorFlow。
-
v2 中SMP不支持流水线并行性。
-
不支持该 DeepSpeed 库,而是支持原生库 PyTorchFSDP。
SMPDocker 容器
SMP库团队分发 Docker 容器来取代 SageMaker PyTorch框架容器。如果您在 Pyth SageMaker on 中使用 PyTorch 估算器类SDK并指定要使用 SMP v2 的分发配置,则 SageMaker 会自动获取 Docker 容器。SMP要使用此版本的 SMP v2,请将你的 SageMaker Python 升级SDK到 v2.207.0 或更高版本。
-
SMP适用于 PyTorch v2.0.1 和 v12.1 的 Docker 容器 CUDA
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121