

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

# SageMaker 模型平行化程式庫的版本備註
<a name="model-parallel-release-notes"></a>

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

## SageMaker 模型平行化程式庫 v2.8.0
<a name="model-parallel-release-notes-20250306"></a>

*日期：2025 年 4 月 1 日*

### SMP 程式庫更新
<a name="model-parallel-release-notes-20250306-smp-lib"></a>

**錯誤修正**
+ SMP 梯度常式剪輯現在支援啟用卸載。

### SMP Docker 和 Enroot 容器
<a name="model-parallel-release-notes-20250306-smp-docker"></a>

SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別，並指定要使用 SMP v2 的分佈組態，SageMaker AI 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2，請將 SageMaker Python SDK 升級至 `v2.243.0` 或更新版本。

**貨幣更新**
+ 新增支援 PyTorch v2.5.1
+ 已將 CUDA 支援升級至 v12.4
+ 已將 NCCL 支援升級至 v2.23.4
+ 已將 SMDDP 程式庫升級至 2.6.0

**容器詳細資訊**
+ 適用於 PyTorch v2.5.1 和 CUDA v12.4 的 SMP Docker 容器

  ```
  658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.5.1-gpu-py311-cu124
  ```
+ 適用於 PyTorch v2.5.1 和 CUDA v12.4 的 SMP Enroot 容器

  ```
  https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.5.1-gpu-py311-cu124.sqsh
  ```
+ 預先安裝的套件
  + SMP 程式庫 v2.8.0
  + SMDDP 程式庫 v2.6.0
  + CUDNN v9.4.0
  + FlashAttention v2.5.8
  + TransformerEngine v1.10
  + Megatron v0.8.0
  + Hugging Face Transformers v4.44.2
  + Hugging Face 資料集程式庫 v2.19.0
  + EFA v1.36.0
  + NCCL v2.23.4
  + AWS-OFI-NCCL v1.13.2

### SMP Conda 頻道
<a name="model-parallel-release-notes-20250306-smp-conda-channel"></a>

下列 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 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.7.0
<a name="model-parallel-release-notes-20241204"></a>

*日期：2024 年 12 月 4 日*

### SMP 程式庫更新
<a name="model-parallel-release-notes-20241204-smp-lib"></a>

**新功能**
+ 新增了對 [SageMaker HyperPod 配方](sagemaker-hyperpod-recipes.md) 的支援。

### SMP Docker 和 Enroot 容器
<a name="model-parallel-release-notes-20241204-smp-docker"></a>

SMP 程式庫團隊會分發 Docker 和 Enroot 容器，以取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別，並指定要使用 SMP v2 的分佈組態，SageMaker 會自動挑選 SMP Docker 容器。若要使用此版本的 SMP v2，請將 SageMaker Python SDK 升級至 `v2.237.0` 或更新版本。

**容器詳細資訊**
+ 適用於 PyTorch v2.4.1 搭配 CUDA v12.1 的 SMP Docker 容器

  ```
  658645717510.dkr.ecr.<us-west-2>.smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  ```
+ 適用於 PyTorch v2.4.1 搭配 CUDA v12.1 的 SMP Enroot 容器

  ```
  https://sagemaker-distributed-model-parallel.s3.<us-west-2>.amazonaws.com/enroot/2.4.1-gpu-py311-cu121.sqsh
  ```
+ 預先安裝的套件
  + SMP 程式庫 v2.7.0
  + SMDDP 程式庫 v2.5.0
  + CUDNN v9.4.0
  + FlashAttention v2.5.8
  + TransformerEngine v1.10
  + Megatron v0.8.0
  + Hugging Face Transformers v4.44.2
  + Hugging Face 資料集程式庫 v2.19.0
  + EFA v1.32.0
  + NCCL v2.21.5

### SMP Conda 頻道
<a name="model-parallel-release-notes-20241204-smp-conda-channel"></a>

下列 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 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.6.1
<a name="model-parallel-release-notes-20241031"></a>

*日期：2024 年 10 月 31 日*

### SMP 程式庫更新
<a name="model-parallel-release-notes-20241031-smp-lib"></a>

**錯誤修正**
+ 修正搭配 SMP v2.6.0 使用較舊的訓練指令碼時所發生的 `ImportError` 問題。這修正了與 SMP v2.6.0 的回溯不相容。
+ 已新增 `torch.sagemaker.distributed.fsdp.checkpoint` 的 `DeprecationWarning`。此模組將在 SMP v2.7.0 中棄用和移除。如果您目前正在程式碼中使用 `torch.sagemaker.distributed.fsdp.checkpoint`，建議您在發行 SMP v2.7.0 之前更新指令碼，以避免未來發生問題。
+ 修正 SMP v2.6.0 中識別的回溯相容性問題。此問題與 SMP v2.6.0 中 `USE_PG_WITH_UTIL` 檢查點方法的棄用有關，這中斷了與舊版訓練指令碼的回溯相容性。若要解決此問題，請重新執行您的 PyTorch 訓練任務，以取得 SMP v2.6.1 隨附的最新 SMP 容器。

### SMP Docker 容器
<a name="model-parallel-release-notes-20241031-smp-docker"></a>

SMP 程式庫團隊會分發 Docker 容器來取代 SageMaker PyTorch 架構容器。如果您在 SageMaker Python SDK 中使用 PyTorch 估算器類別，並指定要使用 SMP v2 的分佈組態，SageMaker AI 會自動挑選 SMP Docker 容器。

**容器詳細資訊**
+ 適用於 PyTorch v2.4.1 搭配 CUDA v12.1 的 SMP Docker 容器

  ```
  658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  ```
+ 預先安裝的套件
  + SMP 程式庫 v2.6.1
  + SMDDP 程式庫 v2.5.0
  + CUDNN v9.4.0
  + FlashAttention v2.5.8
  + TransformerEngine v1.10
  + Megatron v0.8.0
  + Hugging Face Transformers v4.44.2
  + Hugging Face 資料集程式庫 v2.19.0
  + EFA v1.32.0
  + NCCL v2.21.5

### SMP Conda 頻道
<a name="model-parallel-release-notes-20241031-smp-conda-channel"></a>

下列 S3 儲存貯體是 SMP 服務團隊託管之 SMP 程式庫的公有 Conda 頻道。如果您想要在高度可自訂的運算資源環境中安裝 SMP v2 程式庫，例如 SageMaker HyperPod 叢集，請使用此 Conda 頻道來正確安裝 SMP 程式庫。
+ `https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/`

如需 Conda 頻道的一般詳細資訊，請參閱 *Conda 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.6.0
<a name="model-parallel-release-notes-20241017"></a>

*日期：2024 年 10 月 17 日*

### SMP 程式庫更新
<a name="model-parallel-release-notes-20241017-smp-lib"></a>

**新功能**
+ 新增對下列 LLM 模型組態的支援。您可以開始使用 [內容平行化](model-parallel-core-features-v2-context-parallelism.md) 和 [張量平行化](model-parallel-core-features-v2-tensor-parallelism.md)。
  + [Llama3.1 8B](https://huggingface.co/meta-llama/Llama-3.1-8B)
  + [Llama3.1 70B](https://huggingface.co/meta-llama/Llama-3.1-70B)
  + [Mistral 7B](https://huggingface.co/mistralai/Mistral-7B-v0.3)
+ 新增對下列 Mixtral 模型組態的 [張量平行化](model-parallel-core-features-v2-tensor-parallelism.md) 支援。
  + [Mixtral 8x7B](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1)
  + [Mixtral 8x22B](https://huggingface.co/mistralai/Mixtral-8x22B-v0.1)
+ 新增對 AllGather 型內容平行化實作的支援，該實作利用 AllGather 通訊集體來取得完整序列的key-and-value張量。可用的實作為 `p2p` 和 `all_gather`。`p2p` 實作會在注意力運算期間利用對等式發呼叫進行鍵值 (KV) 張量累積，以非同步方式執行，並允許通訊與運算重疊。另一方面，`all_gather` 實作採用 KV 張量累積的 `AllGather` 通訊集體操作。若要了解如何套用這些內容平行化實作，請參閱 [內容平行化](model-parallel-core-features-v2-context-parallelism.md)。
+ 新增調校旋轉位置嵌入 (RoPE) theta 值的支援。

**錯誤修正**
+ 修正啟用延遲參數時，在預先訓練期間未正確初始化旋轉位置嵌入 (RoPE) 的錯誤。

**已知問題**
+ 轉換器引擎目前不支援內容平行化或啟用滑動視窗注意力的 FP8。因此，滑動視窗組態設為非空值時，SMP 版本的 Mistral 轉換器不支援內容平行化或 FP8 訓練。

### SMP Docker 容器
<a name="model-parallel-release-notes-20241017-smp-docker"></a>

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

**容器詳細資訊**
+ 適用於 PyTorch v2.4.1 搭配 CUDA v12.1 的 SMP Docker 容器

  ```
  658645717510.dkr.ecr.<us-west-2>.amazonaws.com/smdistributed-modelparallel:2.4.1-gpu-py311-cu121
  ```
+ 預先安裝的套件
  + SMP 程式庫 v2.6.0
  + SMDDP 程式庫 v2.5.0
  + CUDNN v9.4.0
  + FlashAttention v2.5.8
  + TransformerEngine v1.10
  + Megatron v0.8.0
  + Hugging Face Transformers v4.44.2
  + Hugging Face 資料集程式庫 v2.19.0
  + EFA v1.32.0
  + NCCL v2.21.5

### SMP Conda 頻道
<a name="model-parallel-release-notes-20241017-smp-conda-channel"></a>

下列 S3 儲存貯體是 SMP 服務團隊託管之 SMP 程式庫的公有 Conda 頻道。如果您想要在高度可自訂的運算資源環境中安裝 SMP v2 程式庫，例如 SageMaker HyperPod 叢集，請使用此 Conda 頻道來正確安裝 SMP 程式庫。
+ `https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/`

如需 Conda 頻道的一般詳細資訊，請參閱 *Conda 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.5.0
<a name="model-parallel-release-notes-20240828"></a>

*日期：2024 年 8 月 28 日*

### SMP 程式庫更新
<a name="model-parallel-release-notes-20240828-smp-lib"></a>

**新功能**
+ 新增支援在混合模型的 P5 執行個體上使用 FP8 資料格式的混合精度訓練。
  + 支援的 Mixtral 組態為 8x7B 和 8x22B。如需詳細資訊，請參閱 [使用轉換器引擎在 P5 執行個體上使用 FP8 進行混合精確度訓練](model-parallel-core-features-v2-mixed-precision.md#model-parallel-core-features-v2-mixed-precision-fp8-training-on-p5)。
+ 新增對下列模型組態的[內容平行化](model-parallel-core-features-v2-context-parallelism.md)支援。
  + Llama-v2：7B 和 70B
  + Llama-v3：8B 和 70B
  + GPT-NeoX：20B
+ 新增非同步儲存檢查點的支援。如需詳細資訊，請參閱 [使用 SMP 進行檢查點](model-parallel-core-features-v2-checkpoints.md)。
  + 支援直接將檢查點儲存至 S3，無需使用 Amazon EBS 或檔案伺服器。

**錯誤修正**
+ 解決在載入預先訓練的模型檢查點和使用張量平行化時，Llama 微調期間造成意外高初始損失的問題。

**備註**
+ 若要使用 Mixtral 的啟用檢查點搭配 FP8 混合精確度，您需要分別檢查點注意力和專家層。如需正確設定的範例，請參閱 *Amazon SageMaker AI 範例儲存庫*中[的範例訓練指令碼](https://github.com/aws/amazon-sagemaker-examples/blob/main/training/distributed_training/pytorch/model_parallel_v2/shared-scripts/train_utils.py)。

**已知問題**
+ MoE 組態 ([`torch.sagemaker.moe.moe_config.MoEConfig`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-moe)) 中的平衡負載平衡類型目前與啟用檢查點不相容。
+ 透過內容平行化，GPT-NeoX 會在訓練前和微調中顯示效能迴歸。
+ 對於 P4 執行個體上的 GPT-NeoX，將延遲參數初始化轉換模型的權重直接載入 Hugging Face 轉換器模型，會導致第一步的遺失不相符。

### SMP Docker 容器
<a name="model-parallel-release-notes-20240828-smp-docker"></a>

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
+ 已將轉換器引擎程式庫升級至 v1.8
  + 如果您想要在 Conda 環境中安裝轉換器引擎，您需要從來源建置，並挑選特定的上游修正 ([744624d](https://github.com/NVIDIA/TransformerEngine/commit/744624d004f4514ffbaa90ac83e214311c86c607)、[27c6342](https://github.com/NVIDIA/TransformerEngine/commit/27c6342ea8ad88034bf04b587dd13cb6088d2474)、[7669bf3](https://github.com/NVIDIA/TransformerEngine/commit/7669bf3da68074517b134cd6acebd04b221fd545))。

**容器詳細資訊**
+ 適用於 PyTorch v2.3.1 搭配 CUDA v12.1 的 SMP Docker 容器

  ```
  658645717510.dkr.ecr.<region>.amazonaws.com/smdistributed-modelparallel:2.3.1-gpu-py311-cu121
  ```

  如需支援區域的完整清單，請參閱 [AWS 區域](distributed-data-parallel-support.md#distributed-data-parallel-availablity-zone)。
+ 預先安裝的套件
  + SMP 程式庫 v2.5.0
  + SMDDP 程式庫 v2.3.0
  + CUDNN v8.9.7.29
  + FlashAttention v2.5.8
  + TransformerEngine v1.8
  + Megatron v0.7.0
  + Hugging Face Transformers v4.40.1
  + Hugging Face 資料集程式庫 v2.19.0
  + EFA v1.32.0
  + NCCL v2.21.5

### SMP Conda 頻道
<a name="model-parallel-release-notes-20240828-smp-conda-channel"></a>

下列 S3 儲存貯體是 SMP 服務團隊託管之 SMP 程式庫的公有 Conda 頻道。如果您想要在高度可自訂的運算資源環境中安裝 SMP v2 程式庫，例如 SageMaker HyperPod 叢集，請使用此 Conda 頻道來正確安裝 SMP 程式庫。
+ `https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/`

如需 Conda 頻道的一般詳細資訊，請參閱 *Conda 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.4.0
<a name="model-parallel-release-notes-20240620"></a>

*日期：2024 年 6 月 20 日*

### SMP 程式庫更新
<a name="model-parallel-release-notes-20240620-lib"></a>

**錯誤修正**
+ 修正在使用 SMP 轉換器時，標籤未在向前傳遞時導致不正確的 logit 形狀的錯誤。

**貨幣更新**
+ 新增支援 PyTorch v2.3.1。
+ 新增支援 Python v3.11。
+ 新增對 Hugging Face 轉換器程式庫 v4.40.1 的支援。

**棄用**
+ 已停止支援 Python v3.10。
+ 已停止支援 4.40.1 版之前的 Hugging Face Transformers 程式庫版本。

**其他變更**
+ 包含修補程式，以切換在不同等級上儲存已取消複製的張量。若要進一步了解，請參閱 PyTorch GitHub 儲存庫中的[討論主題](https://github.com/pytorch/pytorch/pull/126569)。

**已知問題**
+ 存在已知問題，即損失可能會激增，然後在使用張量平行化微調 Llama-3 70B 時，以較高的損失值繼續。

### SMP Docker 容器
<a name="model-parallel-release-notes-20240620-container"></a>

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。

**棄用**
+ 停止安裝 [Torch Distributed Experimental (torchdistX) 程式庫](https://pytorch.org/torchdistx/latest/index.html)。

**容器詳細資訊**
+ 適用於 PyTorch v2.3.1 搭配 CUDA v12.1 的 SMP Docker 容器

  ```
  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 Transformers v4.40.1
  + Hugging Face 資料集程式庫 v2.19.0
  + EFA v1.32.0
  + NCCL v2.21.5

### SMP Conda 頻道
<a name="model-parallel-release-notes-20240620-conda-channel"></a>

下列 S3 儲存貯體是 SMP 服務團隊託管之 SMP 程式庫的公有 Conda 頻道。如果您想要在高度可自訂的運算資源環境中安裝 SMP v2 程式庫，例如 SageMaker HyperPod 叢集，請使用此 Conda 頻道來正確安裝 SMP 程式庫。
+ `https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/`

如需 Conda 頻道的一般詳細資訊，請參閱 *Conda 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.3.1
<a name="model-parallel-release-notes-20240509"></a>

*日期：2024 年 5 月 9 日*

**錯誤修正**
+ 修正在 [`torch.sagemaker.moe.moe_config.MoEConfig`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-moe) 中使用 `moe_load_balancing=balanced` 進行專家平行化時的 `ImportError` 問題。
+ 修正啟用 `load_state_dict_from_rank0` 時 [`torch.sagemaker.transform`](distributed-model-parallel-v2-reference.md#model-parallel-v2-torch-sagemaker-reference-transform) 呼叫引發 `KeyError` 的微調問題。
+ 修正載入大型混合專家 (MoE) 模型 (例如 Mixtral 8x22B) 進行微調時出現的記憶體不足 (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 模型平行化程式庫 v2.3.0
<a name="model-parallel-release-notes-20240409"></a>

*日期：2024 年 4 月 11 日*

**新功能**
+ 新增了新的核心功能、*專家平行化*，以支援專家混合轉換器模型。如需詳細資訊，請參閱 [專家平行化](model-parallel-core-features-v2-expert-parallelism.md)。

**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 程式庫 v2.2.0
    + CUDNN v8.9.5.29
    + FlashAttention v2.3.3
    + TransformerEngine v1.2.1
    + Hugging Face Transformers v4.37.1
    + Hugging Face 資料集程式庫 v2.16.1
    + Megatron 核心 0.5.0
    + EFA v1.30.0
    + NCCL v2.19.4

## SageMaker 模型平行化程式庫 v2.2.0
<a name="model-parallel-release-notes-20240307"></a>

*日期：2024 年 3 月 7 日*

**新功能**
+ 新增對具有轉換器引擎整合之 P5 執行個體上下列 Hugging Face 轉換器模型的 [FP8 訓練](model-parallel-core-features-v2-mixed-precision.md#model-parallel-core-features-v2-mixed-precision-fp8-training-on-p5)支援：
  + GPT-NeoX
  + Llama 2

**錯誤修正**
+ 已修正在張量平行化訓練期間，在 `AllGather` 集體呼叫之前，張量無法保證連續的錯誤。

**貨幣更新**
+ 新增支援 PyTorch v2.2.0。
+ 已將 SMDDP 程式庫升級至 v2.2.0。
+ 已將 FlashAttention 程式庫升級至 v2.3.3。
+ 已將 NCCL 程式庫升級至 v2.19.4。

**棄用**
+ 已停止支援 1.2.0 版之前的轉換器引擎版本。

**已知問題**
+ SMP [啟用卸載](model-parallel-core-features-v2-pytorch-activation-offloading.md) 功能目前無法運作。請改用原生 PyTorch 啟用卸載。

**其他變更**
+ 包含修補程式，以修正 PyTorch GitHub 儲存庫中 [https://github.com/pytorch/pytorch/issues/117748](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 程式庫 v2.2.0
    + CUDNN v8.9.5.29
    + FlashAttention v2.3.3
    + TransformerEngine v1.2.1
    + Hugging Face Transformers v4.37.1
    + Hugging Face 資料集程式庫 v2.16.1
    + EFA v1.30.0
    + NCCL v2.19.4

## SageMaker 模型平行化程式庫 v2.1.0
<a name="model-parallel-release-notes-20240206"></a>

*日期：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 轉換器 GitHub 儲存庫*中的[發行票證](https://github.com/huggingface/transformers/issues/28826)。若要避免差異問題，請使用 `attn_implementation=sdpa`。或者，透過設定 `use_smp_implementation=True` 來使用 SMP 轉換器模型實作。

**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 程式庫 v2.1.0
    + CUDNN v8.9.5.29
    + FlashAttention v2.3.3
    + TransformerEngine v1.2.1
    + Hugging Face Transformers v4.37.1
    + Hugging Face 資料集程式庫 v2.16.1
    + EFA v1.30.0

**SMP Conda 頻道**

下列 S3 儲存貯體是由 SMP 服務團隊託管的公有 Conda 頻道。如果您想要在高度可自訂的運算資源環境中安裝 SMP v2 程式庫，例如 SageMaker HyperPod 叢集，請使用此 Conda 頻道來正確安裝 SMP 程式庫。
+ `https://sagemaker-distributed-model-parallel.s3.us-west-2.amazonaws.com/smp-v2/`

如需 Conda 頻道的一般詳細資訊，請參閱 *Conda 文件*中的[頻道](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)。

## SageMaker 模型平行化程式庫 v2.0.0
<a name="model-parallel-release-notes-20231219"></a>

*日期：2023 年 12 月 19 日*

**新功能**

發行了 SageMaker 模型平行化 (SMP) 程式庫 v2.0.0，其中包含以下新功能。
+ 全新 `torch.sagemaker` 套件，與 SMP v1.x 中的上一個 `smdistributed.modelparallel.torch` 套件完全不同。
+ 支援 PyTorch 2.0.1。
+ 支援 PyTorch FSDP。
+ 與[轉換器引擎](https://docs.nvidia.com/deeplearning/transformer-engine/index.html)程式庫整合進行 Tensor 平行化實作。
+ 支援 [SageMaker Training](train-model.md) 和 [SageMaker HyperPod](sagemaker-hyperpod.md)。

**突破性變更**
+ SMP v2 已完全修訂 APIs並提供 `torch.sagemaker`套件。大多數情況下，您只需使用 `torch.sagemaker.init()` 模組初始化 並傳遞模型平行化組態參數。使用此新套件，您可以大幅簡化訓練指令碼中的程式碼修改。若要進一步了解如何調整訓練指令碼以使用 SMP v2，請參閱 [使用 SageMaker 模型平行化程式庫 v2](model-parallel-use-api-v2.md)。
+ 如果您已使用 SMP v1 訓練 Hugging Face Transformer 模型，並想要在 SMP v2 中重複使用模型，請參閱 [從 SMP v1 升級到 SMP v2](distributed-model-parallel-v2-reference.md#model-parallel-v2-upgrade-from-v1)。
+ 對於 PyTorch FSDP 訓練，您應該使用 SMP v2。

**已知問題**
+ 啟用檢查點目前僅適用於 FSDP 的以下包裝策略。
  + `auto_wrap_policy = functools.partial(transformer_auto_wrap_policy, ...)`
+ 若要使用 [啟用卸載](model-parallel-core-features-v2-pytorch-activation-offloading.md)，FSDP 啟用檢查點類型必須為 [REENTRANT](https://pytorch.org/docs/stable/checkpoint.html)。
+ 在啟用張量平行且碎片資料平行程度設定為 `1` 的情況下執行時，您必須使用 `backend = nccl`。此案例不支援 `smddp` 後端選項。
+ 即使不使用張量平行化，也需要[轉換器引擎](https://docs.nvidia.com/deeplearning/transformer-engine/index.html)才能搭配 SMP 程式庫使用 PyTorch。

**其他變更**
+ 從此版本開始，本《Amazon SageMaker AI 開發人員指南》**中已完整提供 SageMaker 模型平行化程式庫的文件。為了支援《Amazon SageMaker AI 開發人員指南》**中 SMP v2 的完整開發人員指南，SageMaker Python SDK 文件**中的 [SMP v1.x 的其他參考](https://sagemaker.readthedocs.io/en/stable/api/training/distributed.html#the-sagemaker-distributed-model-parallel-library)已棄用。如果您仍然需要 SMP v1.x 的文件，SMP v1.x 的開發人員指南可於 [(存檔) SageMaker 模型平行化程式庫 v1.x](model-parallel.md) 取得，而 [SageMaker Python SDK v2.199.0 文件](https://sagemaker.readthedocs.io/en/v2.199.0/api/training/smd_model_parallel_release_notes/smd_model_parallel_change_log.html)也提供 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 或更新版本。
+ 適用於 PyTorch v2.0.1 搭配 CUDA v12.1 的 SMP Docker 容器

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