

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

# Amazon SageMaker HyperPod 叢集的訓練計畫使用率
<a name="training-plan-utilization-for-hyperpod"></a>

若要針對您的 Amazon SageMaker HyperPod 叢集使用 SageMaker 訓練計畫，請在建立或更新您的叢集時，指定您要在叢集執行個體層級使用的訓練計畫。

**注意**  
訓練計畫必須處於 `Scheduled` 或 `Active` 狀態，才能供 HyperPod 叢集使用。
確定叢集組態符合訓練計畫中指定的可用區域 (AZ)。  
如需 VPC 設定、資源位置和安全群組組態，請參閱 SageMaker HyperPod 文件中的[使用自訂 Amazon VPC 設定 SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-vpc)。  
如果使用 Amazon FSx for Lustre 設定 HyperPod，請了解區域和可用區域選擇、檢閱 VPC 組態要求，以及了解 [(選用) 使用 Amazon FSx for Lustre 設定 SageMaker HyperPod](sagemaker-hyperpod-prerequisites.md#sagemaker-hyperpod-prerequisites-optional-fsx) 中的 AZ 一致性最佳實務。
您可以為每個執行個體群組選取一個計畫。不過，我們不建議針對叢集的主要執行個體群組使用訓練計畫，因為主要節點需要持續、穩定的資源，這些資源不符合訓練計劃容量的固定持續時間和潛在的不連續性質。

**Topics**
+ [使用 SageMaker AI 主控台在訓練計畫上建立 SageMaker HyperPod 叢集](use-training-plan-for-hyperpod-creation-using-console.md)
+ [使用 SageMaker AI 主控台更新訓練計畫上的 SageMaker HyperPod 叢集](use-training-plan-for-hyperpod-update-using-console.md)
+ [使用 SageMaker API 在訓練計畫上建立 SageMaker HyperPod 叢集，或 AWS CLI](use-training-plan-for-hyperpod-creation-using-api-cli-sdk.md)
+ [使用 SageMaker API 在訓練計劃上更新 SageMaker HyperPod 叢集，或 AWS CLI](use-training-plan-for-hyperpod-update-using-api-cli-sdk.md)

# 使用 SageMaker AI 主控台在訓練計畫上建立 SageMaker HyperPod 叢集
<a name="use-training-plan-for-hyperpod-creation-using-console"></a>

若要從 SageMaker AI 主控台 UI 使用訓練計畫建立 SageMaker HyperPod 叢集，請遵循下列步驟：

1. 導覽至 SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇 **Hyperpod**，然後選擇**建立叢集**。

1. 設定執行個體群組時，您可以選取符合您運算容量需求的計畫。

![\[SageMaker AI 主控台介面顯示模態視窗，用於在 SageMaker HyperPod 叢集內建立執行個體群組。表單包含執行個體群組名稱、執行個體類型、數量、執行個體容量 (具有隨需和訓練計畫的選項) 的欄位，以及建立時生命週期指令碼的目錄路徑。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/training-plans/tp-create-hyperpod-cluster.png)


檢閱並建立您的叢集。當訓練計畫變成 `Active` 時，使用訓練計畫的執行個體群組會擴增到指定的目標執行個體計數，受限於可用容量。在每個預留容量期間結束前 30 分鐘，執行個體群組會開始縮減至零個執行個體。此縮減狀態會持續到下一個預留容量期間開始或計畫結束為止。在此過程中，運作狀態良好的執行個體群組會在初始建立之後維持 `InService` 狀態，無論目前的執行個體計數為何。

# 使用 SageMaker AI 主控台更新訓練計畫上的 SageMaker HyperPod 叢集
<a name="use-training-plan-for-hyperpod-update-using-console"></a>

您可以使用 SageMaker AI 主控台 UI 更新、移除訓練計畫，或將其新增至現有的 SageMaker HyperPod 叢集。若要更新 SageMaker HyperPod 叢集的執行個體群組，請遵循下列步驟：

1. 導覽至 SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇 **Hyperpod**。

1. 遵循與叢集名稱相關聯的超連結，導覽至叢集的詳細資訊頁面。

1. 設定執行個體群組時，您可以更新計畫，以符合新的運算容量需求。

![\[SageMaker AI 主控台介面顯示模態視窗，用於更新 SageMaker HyperPod 叢集內的執行個體群組。表單包含執行個體群組名稱、執行個體類型、數量、執行個體容量 (具有隨需和訓練計畫的選項) 的欄位，以及建立時生命週期指令碼的目錄路徑。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/training-plans/tp-update-hyperpod-clusters.png)


檢閱和更新您的叢集。

# 使用 SageMaker API 在訓練計畫上建立 SageMaker HyperPod 叢集，或 AWS CLI
<a name="use-training-plan-for-hyperpod-creation-using-api-cli-sdk"></a>

若要針對您的 Amazon SageMaker HyperPod 叢集使用 SageMaker 訓練計畫，請在呼叫 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCluster.html) API 操作時，在 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html) 的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-TrainingPlanArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ClusterInstanceGroupSpecification.html#sagemaker-Type-ClusterInstanceGroupSpecification-TrainingPlanArn) 參數中指定您要使用的訓練計畫 ARN。

確定與您計劃所指定 AZ 相關聯的子網路包含在叢集組態的 `VPCConfig` 中。您可以在 [``DescribeTrainingPlan](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingPlan.html) API 呼叫的回應中擷取訓練計畫的 `AvailabilityZone`。

下列範例說明如何建立新的 SageMaker HyperPod 叢集，並在 `create-cluster` AWS CLI 命令的 `--instance-groups` 屬性中為執行個體群組提供訓練計劃。

```
# Create a cluster         
aws sagemaker create-cluster \
  --cluster-name cluster-name \
  --instance-groups '[ \
        { \
            "InstanceCount": 1,\
            "InstanceGroupName": "controller-nodes",\
            "InstanceType": "ml.t3.xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id:role/execution_role",\
            "ThreadsPerCore": 1,\
        },\
        { \
            "InstanceCount": 2, \
            "InstanceGroupName": "worker-nodes",\
            "InstanceType": "p4d.24xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id}:role/execution_role}",\
            "ThreadsPerCore": 1,\
            "TrainingPlanArn": training_plan_arn,\
        }]'
```

如需如何使用 建立 HyperPod 叢集的資訊 AWS CLI，請參閱 [https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-cluster.html)。

建立叢集後，您可以透過呼叫 `DescribeCluster` API 來驗證您的執行個體群組是否已從訓練計畫正確地獲指派容量。

```
aws sagemaker describe-cluster --cluster-name cluster-name
```

# 使用 SageMaker API 在訓練計劃上更新 SageMaker HyperPod 叢集，或 AWS CLI
<a name="use-training-plan-for-hyperpod-update-using-api-cli-sdk"></a>

您可以使用 `update-cluster` AWS CLI 命令更新現有叢集的執行個體群組，以新增、更新或移除訓練計劃。下列範例說明如何更新 SageMaker HyperPod 叢集，並為執行個體群組提供新的訓練計畫。

```
# Update a cluster
aws sagemaker update-cluster \
  --cluster-name cluster-name \
  --instance-groups '[ \
        { \
            "InstanceCount": 1,\
            "InstanceGroupName": "controller-nodes",\
            "InstanceType": "ml.t3.xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id:role/execution_role",\
            "ThreadsPerCore": 1,\
        },\
        { \
            "InstanceCount": 2, \
            "InstanceGroupName": "worker-nodes",\
            "InstanceType": "p4d.24xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id}:role/execution_role}",\
            "ThreadsPerCore": 1,\
            "TrainingPlanArn": training_plan_arn,\
        },\
        {\
            "InstanceCount": 1,\
            "InstanceGroupName": "worker-nodes-2",\
            "InstanceType": "p4d.24xlarge",\
            "LifeCycleConfig": {"SourceS3Uri": source_s3_uri, "OnCreate": "on_create.sh"},\
            "ExecutionRole": "arn:aws:iam::customer_account_id:role/execution_role",\
            "ThreadsPerCore": 1,\
            "TrainingPlanArn": training_plan_arn,\
        }\
    ]'
```