使用 執行任務 SageMaker HyperPod CLI - Amazon SageMaker

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

使用 執行任務 SageMaker HyperPod CLI

若要執行任務,請確定您已在EKS叢集中安裝 Kubeflow 訓練運算子。如需詳細資訊,請參閱使用 Helm 在 Amazon EKS叢集上安裝套件

執行 hyperpod get-cluster命令以取得可用 HyperPod 叢集的清單。

hyperpod get-clusters

執行 hyperpod connect-cluster,使用 EKS叢集協調 HyperPod 叢集來設定 SageMaker HyperPod CLI。

hyperpod connect-cluster --cluster-name <hyperpod-cluster-name>

使用 hyperpod start-job命令來執行任務。下列命令顯示具有必要選項的命令。

hyperpod start-job \ --job-name <job-name> --image <docker-image-uri> --entry-script <entrypoint-script> --instance-type <ml.instance.type> --node-count <integer>

hyperpod start-job 命令也隨附各種任務彈性選項

啟用任務自動恢復

hyperpod start-job 命令也具有下列選項來指定任務自動恢復。若要讓任務自動恢復使用 SageMaker HyperPod節點復原功能,您必須將 restart-policy 選項的值設定為 OnFailure。任務必須在kubeflow命名空間或字首為 的命名空間下執行hyperpod

  • 【--auto-resume <bool>】 #選用,失敗後啟用任務自動恢復,預設值為 false

  • 【--max-retry <int>】 #選用,如果自動恢復為 true,則未指定的最大重試預設值為 1

  • 【--restart-policy <enum>】 #Optional, PyTorchJob restart 政策。可用的值為 AlwaysOnFailureNeverExitCode。預設值為 OnFailure

hyperpod start-job \ ... // required options \ --auto-resume true \ --max-retry 3 \ --restart-policy OnFailure

使用排程選項執行任務

hyperpod start-job 命令具有下列選項,可設定具有佇列機制的任務。

注意

您需要在EKS叢集中安裝 Kueue。如果您尚未安裝 ,請遵循 的指示使用 Helm 在 Amazon EKS叢集上安裝套件

  • 【--scheduler-type <enum>】 #Optional,指定排程器類型。預設值為 Kueue

  • 【--queue-name <string>】 #選用,指定您要與任務一起提交的本機佇列叢集佇列的名稱。佇列應由叢集管理員建立。

  • 【--priority <string>】 #Optional,指定工作負載優先順序類別 的名稱,應由叢集管理員建立。

hyperpod start-job \ ... // required options --scheduler-type Kueue \ --queue-name high-priority-queue \ --priority high

從組態檔案執行任務

或者,您可以建立包含任務所需所有參數的任務組態檔案,然後使用 --config-file 選項將此組態檔案傳遞至hyperpod start-job命令。在此案例中:

  1. 使用必要的參數建立您的任務組態檔案。請參閱儲存 SageMaker HyperPod CLI GitHub 庫中的任務組態檔案,以取得基準組態檔案

  2. 使用組態檔案啟動任務,如下所示。

    hyperpod start-job --config-file /path/to/test_job.yaml

若要進一步了解 hyperpod start-job命令的個別參數清單,請參閱 README.md SageMaker HyperPod CLI GitHub 儲存庫中的提交任務一節。