複数チームが連携する環境では、効率的な運用を確保するために、各チームに計算リソースを適切に割り当てる必要があります。このトピックでは、クォータを作成し、クォータ内のリソースを異なるチームに割り当てることによって、リソースを効率的に管理および利用する方法について説明します。
背景情報
例
チーム A、チーム B、およびチーム C には、AI 計算リソース(128 GPU)が購入されています。
チーム A は推論サービスを担当し、リソースの保証が必要です。
チーム B とチーム C はトレーニングチームであり、トレーニングジョブの送信を担当します。
チーム A の推論サービスは、チーム B とチーム C のトレーニングジョブよりも優先されます。チーム A に必要な推論リソースが不足した場合、システムはトレーニングに使用されているリソースを迅速に再利用して、推論サービスの要件を満たすことができます。
チーム B とチーム C で使用される計算リソースの量は、実際の要件に基づいて動的に増減できます。
チーム B とチーム C は、それぞれのリソースとジョブを管理できます。
概要
前の図は、このトピックで使用されているサンプルシナリオを示しています。ソリューションの説明:
Quota1 という名前の 128 GPU のクォータを作成し、子レベルのプリエンプションスイッチをオンにします。次に、Quota1 の 2 つの子レベルクォータ、Quota1.1(48 GPU)と Quota1.2(80 GPU)を作成します。前の図では、Quota1 は Quota1.1 および Quota1.2 と親子関係にあります。 Quota1 は親レベルのクォータであり、Quota1.1 と Quota1.2 は子レベルのクォータです。
チーム A の workspace-a という名前のワークスペースを作成し、ワークスペースを Quota1 に関連付けます。モデル推論のために Quota1 に EAS サービスをデプロイします。
チーム B の workspace-b という名前のワークスペースを作成し、ワークスペースを Quota1.1 に関連付けます。 Quota1.1 に DLC ジョブを作成します。
チーム C の workspace-c という名前のワークスペースを作成し、ワークスペースを Quota1.2 に関連付けます。モデル開発のために Quota1.2 に DSW インスタンスを作成します。
手順
AI 計算リソース(汎用計算リソースまたは凌雲リソース)を準備します。リソースの購入方法の詳細については、「リソースプール」をご参照ください。 AI 計算リソースを購入済みの場合は、この手順をスキップします。
クォータを作成します。
Quota1 という名前のクォータを作成し、次の主要パラメーターを構成します。構成の詳細については、「凌雲リソースクォータ」または「汎用計算リソースクォータ」をご参照ください。
仕様/リソース:128 GPU などのリソースを選択します。
[子レベルのプリエンプション]:このスイッチをオンにします。
Quota1 の [アクション] 列で、[新しい子レベルリソースクォータ] をクリックして、次のよう な子レベルクォータを作成します。詳細については、「子レベルリソースクォータを追加する」をご参照ください。
Quota1.1 という名前の子レベルクォータを追加し、クォータの 仕様/リソース パラメーター(48 GPU など)を構成します。
Quota1.2 という名前の子レベルクォータを追加し、クォータの 仕様/リソース パラメーター(80 GPU など)を構成します。
次のワークスペースを作成し、ワークスペースをクォータに関連付けます。詳細については、「ワークスペースの作成と管理」をご参照ください。
チーム A の workspace-a という名前のワークスペースを作成し、ワークスペースを Quota1 に関連付けます。
チーム B の workspace-b という名前のワークスペースを作成し、ワークスペースを Quota1.1 に関連付けます。
チーム C の workspace-c という名前のワークスペースを作成し、ワークスペースを Quota1.2 に関連付けます。
チーム A、チーム B、およびチーム C にワークスペース管理者権限を付与します。詳細については、「ワークスペースの管理」をご参照ください。他の権限を付与することもできます。詳細については、「付録:ロールと権限」をご参照ください。
推論サービスとトレーニングジョブを作成します。
チーム A は workspace-a に推論サービスを作成します。詳細については、「サービスデプロイメント」をご参照ください。
チーム B は workspace-b に DLC ジョブを作成します。詳細については、「トレーニングジョブを送信する」をご参照ください。
チーム C は workspace-c に DSW インスタンスを作成します。詳細については、「DSW インスタンスを作成する」をご参照ください。
シナリオ
シナリオ 1:推論リソースが不足し、推論サービスがトレーニングジョブのリソースをプリエンプトする
管理者は、[リソースクォータ] ページに移動し、親レベルクォータ Quota1 をクリックし、[概要] タブで [子レベルプリエンプション] スイッチをオンにする必要があります。
チーム A が Quota1 を使用して workspace-a に新しい推論サービスを送信すると、チーム B とチーム C が子レベルクォータを使用してトレーニングジョブを作成しているためリソースが不足し、システムはチーム B とチーム C のジョブの実行に使用されている計算リソースを再利用します。これにより、チーム A の推論サービスが想定どおりに実行されます。
シナリオ 2:チーム B とチーム C のリソースが再割り当てされる
管理者は、チーム B とチーム C の要件に基づいて、クォータスケーリング機能を使用して Quota1.1 と Quota1.2 のリソースを再割り当てします。詳細については、「リソースクォータをスケールアップまたはスケールダウンする」をご参照ください。
たとえば、Quota1.1 の GPU 数を 48 から 56(8 GPU 追加)に増やすことができます。
たとえば、Quota1.2 の GPU 数を 80 から 72(8 GPU 削減)に減らすことができます。
シナリオ 3:チーム B とチーム C の権限が分離される
Quota1.1 はチーム B の workspace-b に割り当てられ、Quota1.2 はチーム C の workspace-c に割り当てられます。チーム B とチーム C は、それぞれのワークスペースのリソースとジョブの権限を管理できます。詳細については、「ワークスペーススケジューリングセンター」をご参照ください。