使用运行作业 SageMaker HyperPod CLI - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用运行作业 SageMaker HyperPod CLI

要运行作业,请确保在集群中安装了 Kubeflow 训练操作员。EKS有关更多信息,请参阅 使用 Helm 在亚马逊EKS集群上安装软件包

运行hyperpod get-cluster命令以获取可用 HyperPod 集群的列表。

hyperpod get-clusters

运行hyperpod connect-cluster以配置集群 SageMaker HyperPod CLI,让集EKS群协调集群。 HyperPod

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>] #Optional,启用作业失败后自动恢复,默认为 false

  • [--max-retry<int>] #Optional,如果自动恢复为真,则如果未指定,则最大重试默认值为 1

  • [--restart-policy<enum>] #Optional,重启策略。 PyTorchJob 可用值为AlwaysOnFailureNeverExitCode。默认值为 OnFailure

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

使用计划选项运行作业

hyperpod start-job命令具有以下选项,可使用队列机制设置作业。

注意

你需要在集群中安装 Kueue。EKS如果您尚未安装,请按照中的说明进行操作使用 Helm 在亚马逊EKS集群上安装软件包

  • [--scheduler-type<enum>] #Optional,指定调度器类型。默认为 Kueue

  • [--queue-name<string>] #Optional,指定要随作业一起提交的本地队列或集群队列的名称。队列应由集群管理员创建。

  • [--pri <string>ority] #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命令的各个参数列表,请参阅 SageMaker HyperPod CLI GitHub 存储库中的 “提交 Job” 部分。README.md