本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
請參閱下列版本備註,以追蹤 SageMaker 模型平行處理 (SMP) 程式庫的最新更新。如果您對 SMP 程式庫有其他問題,請聯絡 SMP 服務團隊,網址為 sm-model-parallel-feedback@amazon.com
。
SageMaker 模型平行處理程式庫 2.7.0 版
日期:2024 年 12 月 4 日
SMP 程式庫更新
新功能
-
新增了對 SageMaker HyperPod 配方 的支援。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 和 Enroot 容器,以取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定要使用 SMP v2 的分佈組態,SageMaker 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級至 v2.237.0
或更新版本。
容器詳細資訊
-
搭配 CUDA v12.1 的 PyTorch v2.4.1 SMP Docker 容器
658645717510.dkr.ecr.
<us-west-2>
.smdistributed-modelparallel:2.4.1-gpu-py311-cu121 -
搭配 CUDA v12.1 的 PyTorch v2.4.1 SMP Enroot 容器
https://sagemaker-distributed-model-parallel.s3.
<us-west-2>
.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh -
預先安裝的套件
-
SMP 程式庫 2.7.0 版
-
SMDDP 程式庫 2.5.0 版
-
CUDNN 9.4.0 版
-
FlashAttention 2.5.8 版
-
TransformerEngine 1.10 版
-
Megatron 0.8.0 版
-
Hugging Face 轉換器 4.44.2 版
-
Hugging Face 資料集程式庫 2.19.0 版
-
EFA 1.32.0 版
-
NCCL 2.21.5 版
-
SMP Conda 頻道
下列 S3 儲存貯體是 SMP 服務團隊託管的 SMP 程式庫的公有 Conda 頻道。如果您想要在 SageMaker HyperPod 叢集等 Conda 環境中安裝 SMP v2 程式庫,請使用此 Conda 頻道來正確安裝 SMP 程式庫。
-
https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/
如需 Conda 頻道的一般詳細資訊,請參閱 Conda 文件中的頻道
SageMaker 模型平行處理程式庫 2.6.1 版
日期:2024 年 10 月 31 日
SMP 程式庫更新
錯誤修正
-
修正搭配 SMP v2.6.0 使用較舊的訓練指令碼時所發生
ImportError
的問題。這可修正與 SMP v2.6.0 的回溯不相容。 -
已
DeprecationWarning
為 新增torch.sagemaker.distributed.fsdp.checkpoint
。此模組將在 SMP 2.7.0 版中棄用和移除。如果您目前在程式碼torch.sagemaker.distributed.fsdp.checkpoint
中使用 ,您應該計劃在發行 SMP v2.7.0 之前更新指令碼,以避免未來發生問題。 -
修正 SMP v2.6.0 中發現的回溯相容性問題。此問題與 SMP 2.6.0 版中
USE_PG_WITH_UTIL
檢查點方法的棄用有關,這會破壞與先前版本訓練指令碼的回溯相容性。若要解決此問題,請重新執行您的 PyTorch 訓練任務,以取得 SMP v2.6.1 包裝的最新 SMP 容器。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker AI 會自動挑選 SMP Docker 容器。
容器詳細資訊
-
搭配 CUDA v12.1 的 PyTorch v2.4.1 SMP Docker 容器
658645717510.dkr.ecr.
<us-west-2>
.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121 -
預先安裝的套件
-
SMP 程式庫 2.6.1 版
-
SMDDP 程式庫 2.5.0 版
-
CUDNN 9.4.0 版
-
FlashAttention 2.5.8 版
-
TransformerEngine 1.10 版
-
Megatron 0.8.0 版
-
Hugging Face 轉換器 4.44.2 版
-
Hugging Face 資料集程式庫 2.19.0 版
-
EFA 1.32.0 版
-
NCCL 2.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 模型平行處理程式庫 2.6.0 版
日期:2024 年 10 月 17 日
SMP 程式庫更新
新功能
-
新增對下列 Mixtral 模型組態的張量平行處理支援。
-
新增了對 AllGather 型內容平行處理實作的支援,該實作利用 AllGather 通訊集體來取得完整序列的key-and-value張量。可用的實作為
p2p
和all_gather
。p2p
實作會在注意力運算期間,利用peer-to-peer收發呼叫來產生key-and-value(KV) 張量累積,以非同步方式執行,並允許通訊與運算重疊。另一方面,all_gather
實作會採用 KV 張量累積的AllGather
通訊集體操作。若要了解如何套用這些內容平行處理實作,請參閱內容平行處理。 -
已新增調整旋轉位置嵌入 (RoPE) theta 值的支援。
錯誤修正
-
修正啟用延遲參數時,在預先訓練期間未正確初始化旋轉位置嵌入 (RoPE) 的錯誤。
已知問題
-
轉換器引擎目前不支援內容平行處理或已啟用滑動視窗注意力的 FP8。因此,當滑動視窗組態設為非空值時,SMP 版本的 Mistral 轉換器不支援內容平行處理或 FP8 訓練。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker AI 會自動挑選 SMP Docker 容器。
貨幣更新
-
已將 PyTorch 升級到 v2.4.1
-
已將 Megatron 升級到 v0.8.0
-
升級 TransformerEngine 程式庫至 v1.10
-
已將轉換器升級至 v4.44.2
-
將 cuDNN 升級到 v9.4.0.58
容器詳細資訊
-
搭配 CUDA v12.1 的 PyTorch v2.4.1 SMP Docker 容器
658645717510.dkr.ecr.
<us-west-2>
.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121 -
預先安裝的套件
-
SMP 程式庫 2.6.0 版
-
SMDDP 程式庫 2.5.0 版
-
CUDNN 9.4.0 版
-
FlashAttention 2.5.8 版
-
TransformerEngine 1.10 版
-
Megatron 0.8.0 版
-
Hugging Face 轉換器 4.44.2 版
-
Hugging Face 資料集程式庫 2.19.0 版
-
EFA 1.32.0 版
-
NCCL 2.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 模型平行處理程式庫 2.5.0 版
日期:2024 年 8 月 28 日
SMP 程式庫更新
新功能
-
新增對針對 Mixtral 模型在 P5 執行個體上使用 FP8 資料格式的混合精度訓練支援。
-
支援的 Mixtral 組態為 8x7B 和 8x22B。如需進一步了解,請參閱 使用 Transformer Engine 在 P5 執行個體上使用 FP8 進行混合式精準訓練。
-
-
新增對下列模型組態內容平行處理的支援。
-
Llama-v2:7B 和 70B
-
Llama-v3:8B 和 70B
-
GPT-NeoX:20B
-
-
新增非同步儲存檢查點的支援。如需進一步了解,請參閱 使用 SMP 進行檢查點。
-
支援不使用 Amazon EBS 或檔案伺服器將檢查點直接儲存到 S3。
-
錯誤修正
-
解決在載入預先訓練的模型檢查點和使用張量平行處理時,Llama 微調期間造成意外高初始損失的問題。
備註
-
若要使用 Mixtral 的啟用檢查點搭配 FP8 混合精確度,您需要分別檢查點注意力和專家層。如需正確設定的範例,請參閱 Amazon SageMaker AI 範例儲存庫中的訓練指令碼範例
。
已知問題
-
MoE 組態 (torch.sagemaker.moe.moe_config.MoEConfig) 中的平衡負載平衡類型目前與啟用檢查點不相容。
-
透過內容平行處理,GPT-NeoX 會在預先訓練和微調中顯示效能迴歸。
-
對於 P4 執行個體上的 GPT-NeoX,直接從延遲參數初始化轉換模型將權重載入 Hugging Face 轉換器模型,導致第一步的損失不相符。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker AI 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級到 v2.224.0 或更新版本。
貨幣更新
-
已將 FlashAttention 程式庫升級至 v2.5.8
-
已將 Transformer Engine 程式庫升級至 v1.8
容器詳細資訊
-
搭配 CUDA v12.1 的 PyTorch v2.3.1 SMP Docker 容器
658645717510.dkr.ecr.
<region>
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121如需支援區域的完整清單,請參閱 AWS 區域。
-
預先安裝的套件
-
SMP 程式庫 2.5.0 版
-
SMDDP 程式庫 2.3.0 版
-
CUDNN 8.9.7.29 版
-
FlashAttention 2.5.8 版
-
TransformerEngine 1.8 版
-
Megatron 0.7.0 版
-
Hugging Face 轉換器 4.40.1 版
-
Hugging Face 資料集程式庫 2.19.0 版
-
EFA 1.32.0 版
-
NCCL 2.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 模型平行處理程式庫 2.4.0 版
日期:2024 年 6 月 20 日
SMP 程式庫更新
錯誤修正
-
修正在使用 SMP 轉換器時,標籤未傳入向前傳遞時,導致日誌形狀不正確的錯誤。
貨幣更新
-
新增對 PyTorch v2.3.1 的支援。
-
新增對 Python v3.11 的支援。
-
新增對 Hugging Face Transformers 程式庫 v4.40.1 的支援。
棄用
-
停止支援 Python v3.10。
-
已停止支援 4.40.1 版之前的 Hugging Face 轉換器程式庫版本。
其他變更
-
包含修補程式,以切換在不同 排名上儲存已取消複製的張量。若要進一步了解,請參閱 PyTorch GitHub 儲存庫中的討論主題
。
已知問題
-
存在已知問題,即損失可能會飆升,然後在使用張量平行處理微調 Llama-3 70B 時,以較高的損失值繼續。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker AI 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級到 v2.224.0 或更新版本。
貨幣更新
-
已將 SMDDP 程式庫升級至 v2.3.0。
-
已將 NCCL 程式庫升級至 v2.21.5。
-
已將 EFA 軟體升級至 v1.32.0。
棄用
容器詳細資訊
-
搭配 CUDA v12.1 的 PyTorch v2.3.1 SMP Docker 容器
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121 -
預先安裝的套件
-
SMP 程式庫 2.4.0 版
-
SMDDP 程式庫 2.3.0 版
-
CUDNN 8.9.7.29 版
-
FlashAttention 2.3.3 版
-
TransformerEngine 1.2.1 版
-
Hugging Face 轉換器 4.40.1 版
-
Hugging Face 資料集程式庫 2.19.0 版
-
EFA 1.32.0 版
-
NCCL 2.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 模型平行處理程式庫 2.3.1 版
日期:2024 年 5 月 9 日
錯誤修正
-
修正在
moe_load_balancing=balanced
中使用 torch.sagemaker.moe.moe_config.MoEConfig 進行專家平行處理時ImportError
的問題。 -
修正
load_state_dict_from_rank0
啟用KeyError
時torch.sagemaker.transform呼叫的微調問題。 -
已修正載入大型的專家混合 (MoE) 模型時,例如 Mixtral 8x22B 進行微調時,所引發out-of-memory (OOM) 錯誤。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。此版本將上述錯誤修正納入下列 SMP Docker 映像。
-
適用於 PyTorch v2.2.0 搭配 CUDA v12.1 的 SMP Docker 容器
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121
SageMaker 模型平行處理程式庫 2.3.0 版
日期:2024 年 4 月 11 日
新功能
-
新增了新的核心功能、專家平行處理功能,以支援專家混合轉換器模型。如需進一步了解,請參閱 專家平行處理。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級至 v2.214.4 或更新版本。
-
適用於 PyTorch v2.2.0 搭配 CUDA v12.1 的 SMP Docker 容器
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
在此 Docker 容器中預先安裝的套件
-
SMDDP 程式庫 2.2.0 版
-
CUDNN 8.9.5.29 版
-
FlashAttention 2.3.3 版
-
TransformerEngine 1.2.1 版
-
Hugging Face 轉換器 4.37.1 版
-
Hugging Face 資料集程式庫 2.16.1 版
-
Megatron 核心 0.5.0
-
EFA 1.30.0 版
-
NCCL 2.19.4 版
-
-
SageMaker 模型平行處理程式庫 2.2.0 版
日期:2024 年 3 月 7 日
新功能
-
新增對具有轉換器引擎整合之 P5 執行個體上下列 Hugging Face 轉換器模型的 FP8 訓練支援:
-
GPT-NeoX
-
Llama 2
-
錯誤修正
-
修正在張量平行處理訓練期間,在
AllGather
集體呼叫之前,張量無法保證連續的錯誤。
貨幣更新
-
新增對 PyTorch v2.2.0 的支援。
-
已將 SMDDP 程式庫升級至 v2.2.0。
-
已將 FlashAttention 程式庫升級至 v2.3.3。
-
已將 NCCL 程式庫升級至 v2.19.4。
棄用
-
已停止對 Transformer Engine 1.2.0 版之前的支援。
已知問題
-
SMP 啟用卸載功能目前無法運作。請改用原生 PyTorch 啟用卸載。
其他變更
-
包含修補程式,以修正 PyTorch GitHub 儲存庫中 https://github.com/pytorch/pytorch/issues/117748
問題執行緒中討論的效能迴歸。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定使用 SMP v2 的分佈組態,SageMaker AI 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級到 v2.212.0 或更新版本。
-
適用於 PyTorch v2.2.0 搭配 CUDA v12.1 的 SMP Docker 容器
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.2.0-gpu-py310-cu121-
適用於 P4d, P4de 和 P5 執行個體
-
在此 Docker 容器中預先安裝的套件
-
SMDDP 程式庫 2.2.0 版
-
CUDNN 8.9.5.29 版
-
FlashAttention 2.3.3 版
-
TransformerEngine 1.2.1 版
-
Hugging Face 轉換器 4.37.1 版
-
Hugging Face 資料集程式庫 2.16.1 版
-
EFA 1.30.0 版
-
NCCL 2.19.4 版
-
-
SageMaker 模型平行處理程式庫 2.1.0 版
日期:2024 年 2 月 6 日
貨幣更新
-
新增對 PyTorch 2.1.2 版的支援。
棄用
-
已停止支援 Hugging Face Transformer 4.31.0 版。
已知問題
-
發現使用
attn_implementation=flash_attention_2
和 FSDP 微調 Hugging Face Llama 2 模型會導致模型分歧。如需參考,請參閱 Hugging Face Transformer GitHub 儲存庫中的發行票證。若要避免分歧問題,請使用 attn_implementation=sdpa
。或者,透過設定 來使用 SMP 轉換器模型實作use_smp_implementation=True
。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級到 v2.207.0 或更新版本。
-
適用於 PyTorch v2.1.2 搭配 CUDA v12.1 的 SMP Docker 容器
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.1.2-gpu-py310-cu121-
適用於 P4d, P4de 和 P5 執行個體
-
在此 Docker 容器中預先安裝的套件
-
SMDDP 程式庫 2.1.0 版
-
CUDNN 8.9.5.29 版
-
FlashAttention 2.3.3 版
-
TransformerEngine 1.2.1 版
-
Hugging Face 轉換器 4.37.1 版
-
Hugging Face 資料集程式庫 2.16.1 版
-
EFA 1.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 模型平行處理程式庫 2.0.0 版
日期:2023 年 12 月 19 日
新功能
使用下列新產品發行 SageMaker 模型平行處理 (SMP) 程式庫 2.0.0 版。
-
新
torch.sagemaker
套件,完全從 SMP v1.x 中的上一個smdistributed.modelparallel.torch
套件進行修訂。 -
支援 PyTorch 2.0.1。
-
支援 PyTorch FSDP。
-
與 Transformer Engine
程式庫整合,實現 Tensor 平行處理。
中斷變更
-
SMP v2 已完全修訂 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。
已知問題
其他變更
-
從此版本開始,本 Amazon SageMaker AI 開發人員指南中已完整提供 SageMaker 模型平行處理程式庫的文件。 Amazon SageMaker 為了在 Amazon SageMaker AI 開發人員指南中享有此適用於 SMP v2 的完整開發人員指南,SageMaker Python SDK 文件中的 SMP v1.x 其他參考
已棄用。如果您仍然需要 SMP v1.x 的文件,SMP v1.x 的開發人員指南可於 取得(封存) SageMaker 模型平行處理程式庫 v1.x,而 SageMaker Python SDK v2.199.0 文件也提供 SMP Python 程式庫 v1 .x 參考。
棄用
-
停止支援 TensorFlow。
-
SMP v2 中沒有管道平行處理支援。
-
不支援 DeepSpeed 程式庫以原生 PyTorch FSDP 為優先。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別,並指定分佈組態來使用 SMP v2,SageMaker AI 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2,請將 SageMaker Python SDK 升級至 v2.207.0 或更新版本。
-
搭配 CUDA v12.1 的 PyTorch v2.0.1 SMP Docker 容器
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121