使用 SageMaker HyperPod CLI 运行作业 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 SageMaker HyperPod CLI 运行作业

要运行作业,请确保在 EKS 集群中安装了 Kubeflow Training Operator。有关更多信息,请参阅 使用 Helm 在 Amazon 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>] #可选项,启用作业失败后自动恢复,默认为 false

  • [--max-retry<int>] #可选项,如果自动恢复为 true,如果未指定,最大重试默认为 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 命令有以下选项,用于使用队列机制设置作业。

注意

您需要在 EKS 集群中安装 Kueue。如果您尚未安装,请按照中的说明进行操作 SageMaker HyperPod 任务管理设置

  • [--scheduler-type<enum>] #可选项,指定调度程序类型。默认值为 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 命令。在本例中:

  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