Amazon SageMaker HyperPod タスクガバナンスでのコンピューティングクォータの割り当て - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker HyperPod タスクガバナンスでのコンピューティングクォータの割り当て

クラスター管理者は、購入したコンピューティングリソースを組織がどのように使用するかを決定できます。これにより、無駄なリソースやアイドル状態のリソースを削減できます。コンピューティングクォータを割り当てて、チームが未使用のリソースを相互に借りられるようにすることができます。HyperPod タスクガバナンスのコンピューティングクォータ割り当てにより、管理者はインスタンスレベル、さらにはよりきめ細かいリソースレベルでリソースを割り当てることができます。この機能により、インスタンス全体を割り当てるのではなく、個々のコンピューティングリソースをきめ細かく制御できるため、柔軟かつ効率的なリソース管理をチームに提供できます。きめ細かいレベルでの割り当てにより、従来のインスタンスレベルの割り当てに伴う非効率性が解消されます。このアプローチにより、リソース使用率を最適化し、アイドル状態のコンピューティングリソースを低減できます。

コンピューティングクォータ割り当てでは、アクセラレータ、vCPU、メモリの 3 種類のリソース割り当てをサポートしています。アクセラレータは、高速コンピューティングインスタンス内のコンポーネントであり、浮動小数点数計算、グラフィック処理、データパターンマッチングなどの機能を実行します。アクセラレータには、GPU、Trainium アクセラレータ、ニューロンコアなどがあります。マルチチーム GPU 共有の場合、異なるチームが同じインスタンスタイプから特定のGPU割り当てを受け取ることができ、アクセラレータハードウェアの使用率を最大化できます。データの前処理やモデルのキャッシュシナリオのために追加の RAM を必要とするメモリ集約型のワークロードの場合、デフォルトの GPU 対メモリ比率を超えてメモリクォータを割り当てることができます。GPU トレーニング以外にも、大量の CPU リソースを必要とする、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 SageMaker AI コンソール (https://console.aws.amazon.com/sagemaker/) を開きます。

  2. [HyperPod クラスター] で、[クラスターの管理] をクリックします。

  3. [コンピューティング割り当て] で、[作成] をクリックします。

  4. まだインスタンスがない場合は、[割り当てを追加] をクリックしてインスタンスを追加します。

  5. [割り当て] で、インスタンスまたは個々のリソースごとの割り当てを選択します。個々のリソースで割り当てると、SageMaker AI は選択した比率に基づいて他のリソースに自動的に割り当てを行います。この比率に基づく割り当てを上書きするには、対応するトグルを使用してそのコンピューティングを上書きします。

  6. ステップ 4 と 5 を繰り返して、追加のインスタンスを設定します。

コンピューティングクォータを割り当てたら、HyperPod CLI または kubectl を使用してジョブを送信できます。HyperPod は、利用可能なクォータに基づいてワークロードを効率的にスケジュールします。