SageMaker 模型平行處理程式庫的版本備註 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SageMaker 模型平行處理程式庫的版本備註

請參閱下列版本備註,以追蹤 SageMaker 模型平行處理 (SMP) 程式庫的最新更新。如果您對SMP程式庫有其他問題,請透過 聯絡SMP服務團隊sm-model-parallel-feedback@amazon.com

SageMaker 模型平行處理程式庫 2.5.0 版

日期:2024 年 8 月 28 日

SMP 程式庫更新

新功能

錯誤修正

  • 解決了在載入預先訓練的模型檢查點和使用張量平行處理時,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

    • 如果您想要在 Conda 環境中安裝 Transformer Engine,您需要從來源建置 ,並選取特定的上游修正 (744624d、27c63427669bf3)。

容器詳細資訊

  • 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的問題。

  • 已修正啟用 KeyErrortorch.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 啟用卸載。

其他變更

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 平行處理。

  • 支援SageMaker 訓練SageMaker HyperPod

中斷變更

  • 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, ...)

  • 若要使用 啟用卸載,FSDP啟用檢查點類型必須為 REENTRANT

  • 在啟用張量平行且碎片資料平行程度設定為 的情況下執行 時1,您必須使用 backend = nccl。此案例不支援smddp後端選項。

  • 即使不使用張量平行處理,也需要 Transformer Engine PyTorch 與SMP程式庫搭配使用。

其他變更

取代

  • 停止對 的支援 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