

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

# 使用 Slurm 協作 SageMaker HyperPod 叢集
<a name="sagemaker-hyperpod-slurm"></a>

SageMaker HyperPod 中的 Slurm 支援可協助您佈建彈性叢集，以執行機器學習 (ML) 工作負載和開發最先進的模型，例如大型語言模型 (LLM)、擴散模型和基礎模型 (FM)。它透過移除建置和維護採用 AWS Trainium 和 NVIDIA A100 和 H100 圖形處理器 (GPUs) 等數千個加速器的大型運算叢集所涉及的未區分的繁重提升，加速 FMs 的開發。加速器故障時，SageMaker HyperPod 的彈性功能會監控叢集執行個體，以自動即時偵測並置換故障的硬體，讓您可以專注於執行 ML 工作負載。此外，透過 SageMaker HyperPod 中的生命週期組態支援，您可以自訂運算環境以最符合您的需求，並使用 Amazon SageMaker AI 分散式訓練程式庫設定該環境，以在 AWS上實現最佳效能。

**操作叢集**

您可以透過主控台使用者介面 (UI) 以圖形方式建立、設定和維護 SageMaker HyperPod 叢集，並透過 AWS 命令列界面 (CLI) 或以程式設計方式建立、設定和維護 SageMaker HyperPod 叢集 適用於 Python (Boto3) 的 AWS SDK。透過 Amazon VPC，您可以保護叢集網路，也可以利用 VPC 中的資源設定叢集，例如提供最快輸送量的 Amazon FSx for Lustre。您也可以將不同的 IAM 角色提供給叢集執行個體群組，並限制叢集資源和使用者可以操作的動作。如需詳細資訊，請參閱 [SageMaker HyperPod Slurm 叢集操作](sagemaker-hyperpod-operate-slurm.md)。

**設定您的 ML 環境**

SageMaker HyperPod 會執行 [SageMaker HyperPod DLAMI](sagemaker-hyperpod-ref.md#sagemaker-hyperpod-ref-hyperpod-ami)，這會在 HyperPod 叢集上設定 ML 環境。您可以提供生命週期指令碼來支援您的使用案例，以設定 DLAMI 的其他自訂。若要進一步了解如何設定生命週期指令碼，請參閱[開始使用 SageMaker HyperPod](smcluster-getting-started-slurm.md) 和[使用生命週期指令碼自訂 SageMaker HyperPod 叢集](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)。

**排程任務**

在您成功建立 HyperPod 叢集之後，叢集使用者可以登入叢集節點 (例如主節點或控制器節點、登入節點和工作節點)，並排程執行機器學習工作負載的任務。如需詳細資訊，請參閱 [SageMaker HyperPod 叢集上的任務](sagemaker-hyperpod-run-jobs-slurm.md)。

**針對硬體故障的彈性**

SageMaker HyperPod 會在叢集節點上執行運作狀態檢查，並提供工作負載自動繼續功能。使用 HyperPod 的叢集復原功能，您可以在超過 16 個節點的叢集中，將故障節點取代為運作狀態良好的節點之後，從上次儲存的檢查點繼續工作負載。如需詳細資訊，請參閱 [SageMaker HyperPod 叢集彈性](sagemaker-hyperpod-resiliency-slurm.md)。

**記錄和管理叢集**

您可以在 Amazon CloudWatch 中找到 SageMaker HyperPod 資源使用率指標和生命週期日誌，並透過標記 SageMaker HyperPod 資源來管理這些資源。每個 `CreateCluster` API 執行都會建立以 `<cluster-name>-<timestamp>` 格式命名的不同日誌串流。在日誌串流中，您可以檢查主機名稱、失敗生命週期指令碼的名稱，以及來自失敗指令碼的輸出，例如 `stdout` 和 `stderr`。如需詳細資訊，請參閱[SageMaker HyperPod 叢集管理](sagemaker-hyperpod-cluster-management-slurm.md)。

**與 SageMaker AI 工具相容**

使用 SageMaker HyperPod，您可以使用 SageMaker AI 提供的 AWS 最佳化集體通訊程式庫來設定叢集，例如 [SageMaker AI 分散式資料平行處理 (SMDDP) 程式庫](data-parallel.md)。SMDDP 程式庫針對採用 NVIDIA A100 GPUs 的高效能 SageMaker AI 機器學習執行個體，實作針對 AWS 運算和網路基礎設施最佳化`AllGather`的操作。如需詳細資訊，請參閱 [在 HyperPod 上使用 Slurm 執行分散式訓練工作負載](sagemaker-hyperpod-run-jobs-slurm-distributed-training-workload.md)。

**使用 UltraServer 放置執行個體**

SageMaker AI 會根據最佳努力策略自動將任務配置給 UltraServer 內的執行個體，此策略就是先使用一個 UltraServer 中的所有執行個體，再使用另一個 UltraServer。例如，如果您請求 14 個執行個體，並且訓練計畫中擁有 2 個 UltraServer，則 SageMaker AI 會使用第一個 UltraServer 中的所有執行個體。如果您請求 20 個執行個體，並且訓練計畫中擁有 2 個 UltraServer，則 SageMaker AI 將使用第一個 UltraServer 中的全部 17 個執行個體，然後使用第二個 UltraServer 中的 3 個執行個體。

**Topics**
+ [開始使用 SageMaker HyperPod](smcluster-getting-started-slurm.md)
+ [SageMaker HyperPod Slurm 叢集操作](sagemaker-hyperpod-operate-slurm.md)
+ [使用生命週期指令碼自訂 SageMaker HyperPod 叢集](sagemaker-hyperpod-lifecycle-best-practices-slurm.md)
+ [SageMaker HyperPod 多主節點支援](sagemaker-hyperpod-multihead-slurm.md)
+ [SageMaker HyperPod 叢集上的任務](sagemaker-hyperpod-run-jobs-slurm.md)
+ [SageMaker HyperPod 叢集資源監控](sagemaker-hyperpod-cluster-observability-slurm.md)
+ [SageMaker HyperPod 叢集彈性](sagemaker-hyperpod-resiliency-slurm.md)
+ [使用 Slurm 持續佈建增強型叢集操作](sagemaker-hyperpod-scaling-slurm.md)
+ [SageMaker HyperPod 叢集管理](sagemaker-hyperpod-cluster-management-slurm.md)
+ [SageMaker HyperPod 常見問答集](sagemaker-hyperpod-faq-slurm.md)