本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SageMaker 模型平行處理程式庫的版本備註
請參閱下列版本備註,以追蹤 SageMaker 模型平行處理 (SMP) 程式庫的最新更新。如果您對SMP程式庫有其他問題,請透過 聯絡SMP服務團隊sm-model-parallel-feedback@amazon.com
。
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 微調期間造成意外高初始損失的問題。
備註
-
若要以FP8混合精確度使用 Mixtral 的啟用檢查點,您需要分別檢查點注意力和專家層。如需正確設定的範例,請參閱 Amazon SageMaker 範例儲存庫 中的訓練指令碼範例
。
已知問題
-
MoE 組態 (torch.sagemaker.moe.moe_config.MoEConfig) 中的平衡負載平衡類型目前與啟用檢查點不相容。
-
透過內容平行處理,GPT-NeoX 會顯示訓練前和微調的效能迴歸。
-
對於 P4 執行個體上的 GPT-NeoX,將延遲參數初始化轉換模型的權重直接載入 Hugging Face 轉換器模型,會導致第一步的損失不相符。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 Python 中使用 PyTorch SageMaker估算器類別,SDK並指定要使用 SMP v2 的分佈組態, SageMaker 則 會自動提取 Docker SMP 容器。若要使用此 SMP v2 版本,請將 SageMaker Python 升級SDK到 v2.224.0 或更新版本。
貨幣更新
-
已將 FlashAttention 程式庫升級至 v2.5.8
-
已將 Transformer Engine 程式庫升級至 v1.8
容器詳細資訊
-
SMP Docker 容器適用於 PyTorch v2.3.1 搭配 CUDA v12.1
658645717510.dkr.ecr.
<region>
.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121如需支援區域的完整清單,請參閱 AWS 區域。
-
預先安裝的套件
-
SMP 程式庫 v2.5.0
-
SMDDP 程式庫 v2.3.0
-
CUDNN v8.9.7.29
-
FlashAttention v2.5.8
-
TransformerEngine v1.8
-
Megatron 0.7.0 版
-
Hugging Face Transformer 4.40.1 版
-
Hugging Face 資料集程式庫 v2.19.0
-
EFA 1.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.4.0
日期:2024 年 6 月 20 日
SMP 程式庫更新
錯誤修正
-
已修正在使用 SMP Transformer 時,標籤未傳入向前傳遞時,導致日誌形狀不正確的錯誤。
貨幣更新
-
新增對 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 架構容器。如果您在 Python 中使用 PyTorch SageMaker估算器類別,SDK並指定要使用 SMP v2 的分佈組態, SageMaker 則 會自動提取 Docker SMP 容器。若要使用此 SMP v2 版本,請將 SageMaker Python 升級SDK到 v2.224.0 或更新版本。
貨幣更新
-
已將SMDDP程式庫升級至 v2.3.0。
-
已將NCCL程式庫升級至 v2.21.5。
-
已將EFA軟體升級至 v1.32.0。
取代
容器詳細資訊
-
SMP Docker 容器適用於 PyTorch v2.3.1 搭配 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 Transformer 4.40.1 版
-
Hugging Face 資料集程式庫 v2.19.0
-
EFA 1.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 模型平行處理程式庫 2.3.1 版
日期:2024 年 5 月 9 日
錯誤修正
-
已修正在
moe_load_balancing=balanced
中使用 torch.sagemaker.moe.moe_config.MoEConfig 進行專家平行處理時ImportError
的問題。 -
已修正啟用
KeyError
時torch.sagemaker.transform呼叫load_state_dict_from_rank0
的微調問題。 -
修正 out-of-memory載入大型的專家混合 (MoEOOM) 模型時出現的 () 錯誤,例如 Mixtral 8x22B ,以進行微調。 MoE
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。此版本將上述錯誤修正納入下列 Docker SMP 映像。
-
SMP Docker 容器適用於 PyTorch v2.2.0 搭配 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架構容器。如果您在 SageMaker Python 中使用 PyTorch 估算器類別,SDK並指定要使用 SMP v2 的分佈組態, SageMaker 則 會自動提取 Docker SMP 容器。若要使用此 SMP v2 版本,請將 SageMaker Python 升級SDK到 v2.214.4 或更新版本。
-
SMP Docker 容器適用於 PyTorch v2.2.0 搭配 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 Transformer 4.37.1 版
-
Hugging Face 資料集程式庫 v2.16.1
-
Megatron 核心 0.5.0
-
EFA v1.30.0
-
NCCL v2.19.4
-
-
SageMaker 模型平行處理程式庫 v2.2.0
日期:2024 年 3 月 7 日
新功能
-
已新增對使用 Transformer Engine 整合在 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。
棄用
-
已停止對 Transformer Engine 1.2.0 版之前的支援。
已知問題
-
SMP 啟用卸載 該功能目前無法運作。請改用原生 PyTorch 啟用卸載。
其他變更
-
包含修補程式,以修正 GitHub 儲存庫中 https://github.com/pytorch/pytorch/issues/117748
問題執行緒中 PyTorch討論的效能迴歸。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch架構容器。如果您在 SageMaker Python 中使用 PyTorch 估算器類別,SDK並指定要使用 SMP v2 的分佈組態, SageMaker 則 會自動提取 Docker SMP 容器。若要使用此 SMP v2 版本,請將 SageMaker Python 升級SDK到 v2.212.0 或更新版本。
-
SMP Docker 容器適用於 PyTorch v2.2.0 搭配 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 Transformer 4.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 的支援。
已知問題
-
發現使用 微調 Hugging Face Llama 2 模型
attn_implementation=flash_attention_2
並FSDP導致模型分歧的問題。如需參考,請參閱 Hugging Face Transformer GitHub 儲存庫 中的發行票證。若要避免分歧問題,請使用 attn_implementation=sdpa
。或者,透過設定 來使用SMP轉換器模型實作use_smp_implementation=True
。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch架構容器。如果您在 SageMaker Python 中使用 PyTorch 估算器類別,SDK並指定要使用 SMP v2 的分佈組態, SageMaker 則 會自動提取 Docker SMP 容器。若要使用此 SMP v2 版本,請將 SageMaker Python 升級SDK到 v2.207.0 或更新版本。
-
SMP Docker 容器適用於 PyTorch v2.1.2 搭配 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 Transformer 4.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。
-
新
torch.sagemaker
套件,完全從 v1SMP.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第 1 版升級到第 SMP 2 版。
-
針對 PyTorch FSDP訓練,您應該使用 SMP v2。
已知問題
-
啟用檢查點目前僅適用於使用 的下列包裝政策FSDP。
-
auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)
-
-
在啟用張量平行且碎片資料平行程度設定為 的情況下執行 時
1
,您必須使用backend = nccl
。此案例不支援smddp
後端選項。 -
即使不使用張量平行處理,也需要 Transformer Engine
PyTorch 與SMP程式庫搭配使用。
其他變更
-
從此版本開始,此 Amazon SageMaker 開發人員指南 中完全提供 SageMaker 模型平行處理程式庫的文件。為了有利於 Amazon 開發人員指南 中 SMP v2 的完整開發人員指南,SageMaker Python SDK 文件中 SMP v1.x 的其他參考
已棄用。 SageMaker 如果您仍然需要 SMP v1.x 的文件,可在 取得 SMP v1.x 的開發人員指南(已封存) SageMaker 模型平行程式庫 v1.x,而 SMP Python 程式庫 v1.x 參考可在 SageMaker Python v2.199SDK.0 文件 中取得。
取代
-
停止對 的支援 TensorFlow。
-
SMP v2 中沒有管道平行處理支援。
-
不支援有利於原生 PyTorch 的 DeepSpeed 程式庫FSDP。
SMP Docker 容器
SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch架構容器。如果您在 SageMaker Python 中使用 PyTorch 估算器類別,SDK並指定要使用 SMP v2 的分佈組態, SageMaker 則 會自動提取 Docker SMP 容器。若要使用此 SMP v2 版本,請將 SageMaker Python 升級SDK到 v2.207.0 或更新版本。
-
SMP Docker 容器適用於 PyTorch v2.0.1 搭配 CUDA v12.1
658645717510.dkr.ecr.
us-west-2
.amazonaws.com/smdistributed-modelparallel:2.0.1-gpu-py310-cu121