本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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-typesample-instance-type
\ --accelerators 1 \ --vcpu 3 \ --memory 1 \ --accelerators-limit 1 \ --vcpu-limit 4 \ --memory-limit 2
若要使用 AWS 主控台配置配額,請遵循下列步驟。
-
在 https://https://console.aws.amazon.com/sagemaker/
開啟 Amazon SageMaker AI 主控台。 -
在 HyperPod 叢集下,選擇叢集管理。
-
在運算配置下,選擇建立。
-
如果您還沒有執行個體,請選擇新增配置以新增執行個體。
-
在配置下,選擇依執行個體或個別資源配置。如果您依個別資源配置,SageMaker AI 會根據您選擇的比率自動將配置指派給其他資源。若要覆寫此比率型配置,請使用對應的切換來覆寫該運算。
-
重複步驟 4 和 5 來設定其他執行個體。
分配運算配額後,您可以透過 HyperPod CLI 或 提交任務kubectl
。HyperPod 會根據可用的配額有效率地排程工作負載。