使用 SageMaker HyperPod 主控台 UI - Amazon SageMaker

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

使用 SageMaker HyperPod 主控台 UI

使用 SageMaker HyperPod 主控台 UI 建立您的第一個 SageMaker HyperPod 叢集。

使用 Slurm 建立您的第一個 SageMaker HyperPod 叢集

下列教學課程示範如何建立新的 SageMaker HyperPod 叢集,並透過 SageMaker 主控台 UI 使用 Slurm 設定叢集。遵循教學課程,您將建立具有三個 Slurm 節點 my-controller-groupmy-login-group和 的 HyperPod 叢集worker-group-1

  1. 在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中選擇HyperPod 叢集

  3. SageMaker HyperPod 叢集頁面上,選擇建立叢集

  4. 步驟 1:叢集設定 中,指定新叢集的名稱。略過標籤區段。

  5. 步驟 2:執行個體群組 中,新增執行個體群組。每個執行個體群組的設定可以不同,而且您可以建立異質叢集,其中包含具有各種執行個體類型的多個執行個體群組。對於要在叢集建立期間在執行個體群組上執行的生命週期組態指令碼,您可以使用 Awsome 分散式訓練 GitHub 儲存庫 中提供的範例生命週期指令碼開始。

    1. 針對執行個體群組名稱 ,指定執行個體群組的名稱。在此教學課程中,建立三個名為 my-controller-groupmy-login-group和 的執行個體群組worker-group-1

    2. 針對選取執行個體類型 ,選擇執行個體群組的執行個體。對於本教學課程,ml.c5.xlarge請針對 my-controller-groupml.m5.4xlarge針對 my-login-groupml.trn1.32xlarge針對 選取 worker-group-1

      請確定您選擇帳戶中具有足夠配額的執行個體類型,或遵循 的 請求額外的配額SageMaker HyperPod 配額

    3. 針對數量 ,指定不超過叢集用量執行個體配額的整數。在本教學課程中,輸入 1 表示所有三個群組。

    4. 對於生命週期指令碼檔案的 S3 路徑,輸入儲存生命週期指令碼的 Amazon S3 路徑。如果您沒有生命週期指令碼,請執行下列子步驟,以使用 SageMaker HyperPod 服務團隊提供的基本生命週期指令碼。

      1. 複製 Awsome 分散式訓練 GitHub儲存庫

        git clone https://github.com/aws-samples/awsome-distributed-training/
      2. 在 下1.architectures/5.sagemaker_hyperpods/LifecycleScripts/base-config,您可以找到一組基本生命週期指令碼。若要進一步了解生命週期指令碼,請參閱 使用生命週期指令碼自訂 SageMaker HyperPod叢集

      3. 寫入 Slurm 組態檔案,並將其儲存為 provisioning_params.json。在 檔案中,指定基本 Slurm 組態參數,以將 Slurm 節點正確指派給 SageMaker HyperPod 叢集執行個體群組。例如,根據透過上述步驟 5a、5b 和 5c 設定的 HyperPod 叢集執行個體群組, provisioning_params.json應該類似於下列項目。

        { "version": "1.0.0", "workload_manager": "slurm", "controller_group": "my-controller-group", "login_group": "my-login-group", "worker_groups": [ { "instance_group_name": "worker-group-1", "partition_name": "partition-1" } ] }
      4. 將指令碼上傳至您的 Amazon S3 儲存貯體。使用下列格式的路徑建立 S3 儲存貯體:s3://sagemaker-<unique-s3-bucket-name>/<lifecycle-script-directory>/src。您可以使用 Amazon S3 主控台建立此儲存貯體。

        注意

        您必須使用 S3 儲存貯體路徑sagemaker-的字首,因為 IAM角色 SageMaker HyperPod AmazonSageMakerClusterInstanceRolePolicy只允許主體存取具有此特定字首的 S3 儲存貯體。

    5. 針對建立中生命週期指令碼的目錄路徑 ,請在 S3 路徑下輸入生命週期指令碼的檔案名稱,以使用生命週期指令碼檔案

    6. 對於IAM角色 AmazonSageMakerClusterInstanceRolePolicy請從 區段中選擇您使用 建立IAM的角色IAM角色 SageMaker HyperPod

    7. 進階組態 下,您可以設定下列選用組態。

      1. (選用) 針對每個核心的執行緒 ,請指定 1用於停用多執行緒,以及 2用於啟用多執行緒。若要尋找支援多執行緒的執行個體類型,請參閱 Amazon Elastic Compute Cloud 使用者指南 中的CPU每個執行個體類型的核心和每個CPU核心執行緒參考表。

      2. (選用) 對於其他執行個體儲存體組態 ,請指定介於 1 到 16384 之間的整數,以設定以 GB (GB) 為單位的額外 Elastic Block Store (EBS) 磁碟區大小。EBS 磁碟區會連接至執行個體群組的每個執行個體。額外EBS磁碟區的預設掛載路徑為 /opt/sagemaker。叢集建立成功後,您可以SSH進入叢集執行個體 (節點),並透過執行 df -h命令來驗證EBS磁碟區是否正確掛載。連接額外的EBS磁碟區可提供穩定、意外和獨立持久的儲存,如 Amazon Elastic Block Store 使用者指南 中的 Amazon EBS磁碟區一節中所述。

  6. 步驟 3:進階組態 中,在叢集內、內、外設定網路設定。VPC 如果您已經擁有 SageMaker 可存取 的 ,請選取自己的 VPC。如果您沒有 ,但想要建立新的 VPC,請遵循 Amazon Virtual Private Cloud 使用者指南建立 VPC 的指示。您可以使用預設 將其保留為否VPC SageMaker VPC。

  7. 步驟 4:檢閱並建立 ,檢閱您從步驟 1 到步驟 3 設定的組態,並完成提交叢集建立請求。

  8. 新叢集應出現在 SageMaker HyperPod 主控台主窗格中的叢集下。您可以檢查其在狀態欄下顯示的狀態

  9. 在叢集的狀態變為 之後InService,您可以開始登入叢集節點。若要存取叢集節點並開始執行 ML 工作負載,請參閱 SageMaker HyperPod 叢集上的任務

刪除叢集並清除資源

成功測試建立 SageMaker HyperPod 叢集之後,它會繼續以 InService 狀態執行,直到您刪除叢集為止。我們建議您在不使用時刪除使用隨需 SageMaker 執行個體建立的任何叢集,以避免根據隨需定價產生持續的服務費用。在本教學課程中,您已建立由兩個執行個體群組組成的叢集。其中一個執行個體使用 C5 執行個體,因此請務必遵循 的指示刪除叢集刪除 SageMaker HyperPod 叢集

不過,如果您已建立具有預留運算容量的叢集,則叢集的狀態不會影響服務計費。

若要清除本教學課程所用 S3 儲存貯體的生命週期指令碼,請前往您在叢集建立期間使用的 S3 儲存貯體,並完全移除檔案。

如果您已測試在叢集上執行任何工作負載,請確定是否已上傳任何資料,或您的任務是否將任何成品儲存至不同的 S3 儲存貯體或檔案系統服務,例如 Amazon FSx for Lustre 和 Amazon Elastic File System 。若要避免產生任何費用,請從儲存體或檔案系統中刪除所有成品和資料。