在 Amazon SageMaker HyperPod 任务管理中分配计算配额 - 亚马逊 SageMaker AI

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

在 Amazon SageMaker HyperPod 任务管理中分配计算配额

集群管理员可以决定组织如何使用购买的计算。这样做可以减少浪费和闲置资源。您可以分配计算配额,以便团队可以互相借用未使用的资源。 HyperPod 任务管理中的计算配额分配允许管理员在实例级别和更精细的资源级别分配资源。该功能允许对单个计算资源进行精细控制,而无需分配整个实例,从而为团队提供了灵活高效的资源管理。精细分配可消除传统实例级分配的效率低下。通过这种方法,您可以优化资源利用率并减少空闲计算。

计算配额分配支持三种类型的资源分配:加速器、vCPU 和内存。加速器是加速计算机实例中的组件,用于执行浮点数计算、图形处理或数据模式匹配等功能。加速器包括 GPUs Trainium 加速器和神经元核心。对于多团队 GPU 共享,不同的团队可以从相同的实例类型获得特定的 GPU 分配,从而最大限度地提高加速器硬件的利用率。对于需要额外 RAM 来进行数据预处理或模型缓存场景的内存密集型工作负载,您可以分配超出默认比例的内存配额。 GPU-to-memory对于需要大量 CPU 资源和 GPU 训练的 CPU 密集型预处理任务,您可以分配独立的 CPU 资源。

提供值后, HyperPod 任务治理将使用分配的资源除以实例中可用资源总量的公式来计算比率。 HyperPod 然后,任务治理使用此比率将默认分配应用于其他资源,但您可以覆盖这些默认值并根据您的用例对其进行自定义。以下是 HyperPod 任务治理如何根据您的价值分配资源的示例场景:

  • 仅指定加速器- HyperPod 任务管理根据加速器值将默认比率应用于 vCPU 和内存。

  • 仅指定 vCPU- HyperPod 任务管理会计算该比率并将其应用于内存。加速器设置为 0。

  • 仅指定内存- HyperPod 任务管理会计算该比率并将其应用于 vCPU,因为运行内存指定的工作负载需要计算。加速器设置为 0。

要以编程方式控制配额分配,您可以使用 ComputeQuotaResourceConfig对象并以整数形式指定您的分配。

{ "ComputeQuotaConfig": { "ComputeQuotaResources": [{ "InstanceType": "ml.g5.24xlarge", "Accelerators": "16", "vCpu": "200.0", "MemoryInGiB": "2.0" }] } }

要查看所有已分配的分配,包括默认分配,请使用 DescribeComputeQuota操作。要更新您的分配,请使用 UpdateComputeQuota操作。

您也可以使用 HyperPod CLI 来分配计算配额。有关 HyperPod CLI 的更多信息,请参阅在 Amazon EKS 编排的 SageMaker HyperPod 集群上运行作业。以下示例演示如何使用 HyperPod CLI 设置计算配额。

hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \ --image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \ --pull-policy "Always" \ --tasks-per-node 1 \ --max-retry 1 \ --priority high-priority \ --namespace hyperpod-ns-team-name \ --queue-name hyperpod-ns-team-name-localqueue \ --instance-type sample-instance-type \ --accelerators 1 \ --vcpu 3 \ --memory 1 \ --accelerators-limit 1 \ --vcpu-limit 4 \ --memory-limit 2

要使用 AWS 控制台分配配额,请按照以下步骤操作。

  1. 打开 Amazon A SageMaker I 控制台,网址为https://console.aws.amazon.com/sagemaker/

  2. 在 HyperPod 集群下,选择集群管理

  3. 计算分配下,选择创建

  4. 如果您还没有实例,请选择添加分配来添加实例。

  5. 在 “分配” 下,选择按实例或单个资源进行分配。如果您按单个资源进行分配, SageMaker AI 会自动按您选择的比例将分配分配给其他资源。要覆盖此基于比率的分配,请使用相应的切换开关来覆盖该计算。

  6. 重复步骤 4 和 5 以配置其他实例。

分配计算配额后,您可以通过 HyperPod CLI 或提交作业kubectl。 HyperPod根据可用配额高效地调度工作负载。