本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SageMaker HyperPod CLI 執行任務
若要執行任務,請確定您已在 EKS 叢集中安裝 Kubeflow Training Operator。如需詳細資訊,請參閱使用 Helm 在 Amazon EKS 叢集上安裝套件。
執行 hyperpod get-cluster 命令以取得可用的 HyperPod 叢集清單。
hyperpod get-clusters
執行 hyperpod connect-cluster 以使用協作 HyperPod 叢集的 EKS 叢集來設定 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>] #選用,如果 auto-resume 為 true,則 max-retry 預設值為 1,若未指定的話
-
[--restart-policy <enum>] #選用, PyTorchJob 重新啟動政策。可用值為
Always、OnFailure或Never或ExitCode。預設值為OnFailure。
hyperpod start-job \ ... // required options \ --auto-resume true \ --max-retry 3 \ --restart-policy OnFailure
使用排程選項執行任務
hyperpod start-job 命令具有下列選項來設定具有佇列機制的任務。
注意
您需要在 EKS 叢集中安裝 Kueue
-
[--scheduler-type <enum>] #Optional,指定排程器類型。預設值為
Kueue。 -
[--queue-name <string>] #選用,指定要與任務一起提交的本機佇列
或叢集佇列 名稱。叢集管理員應使用 CreateComputeQuota建立佇列。 -
[--priority <string>] #選用,指定工作負載優先順序類別
的名稱,此類別應由叢集管理員建立。
hyperpod start-job \ ... // required options --scheduler-type Kueue \ --queue-name high-priority-queue \ --priority high
從組態檔案執行任務
或者,您可以建立任務組態檔案,其中包含任務所需的所有參數,然後使用 --config-file 選項將此組態檔案傳遞至 hyperpod
start-job 命令。在此案例中:
-
使用必要的參數建立您的任務組態檔案。如需基準組態檔案,請參閱 SageMaker HyperPod CLI GitHub 儲存庫中的任務組態檔案。
-
使用組態檔案啟動任務,如下所示。
hyperpod start-job --config-file/path/to/test_job.yaml
提示
如需 hyperpod start-job 命令的完整參數清單,請參閱 SageMaker HyperPod CLI GitHub 儲存庫 README.md 中的提交任務