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

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

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

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

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

  2. HyperPod クラスターで、クラスター管理を選択します。

  3. コンピューティング割り当てで、作成 を選択します。

  4. まだインスタンスがない場合は、割り当ての追加を選択してインスタンスを追加します。

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

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

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