遊休リソースを使用すると、DLC ジョブは他のリソースクォータのワークロードを中断することなく、その余剰キャパシティを利用できます。これにより、全体的なリソース使用率が向上し、トレーニングコストが削減されます。
仕組み
Platform for AI (PAI) では、さまざまなチームが独自のクォータを通じてトレーニングジョブを送信します。一部のクォータは特定の期間アイドル状態になる一方、他のチームはリソース待ちでキューに入っています。遊休リソースは、DLC ジョブが他のクォータの余剰キャパシティを利用できるようにすることで、この問題を解決します。
遊休リソースの仕組み:
汎用コンピューティングリソースまたは Lingjun AI 計算リソースのクォータに送信された遊休リソースジョブは、同一テナント配下のすべてのクォータから、同じ仕様の余剰リソースを使用できます。
遊休リソースジョブは、関連付けられたクォータの総リソースキャパシティに制限されません。現在のクォータまたは他のクォータの余剰リソースを使用できます。
元のクォータがスケジュールされたジョブのためにリソースを回収すると、遊休リソースジョブは自動的に終了され、リソースは解放されます。
AIMaster および EasyCKPT と併用すると、遊休リソースジョブはプリエンプション後に進行状況を自動的に保存して再開できるため、計算リソースの無駄を回避できます。
前提条件
ワークスペースに紐付けられた前払いリソースクォータ (汎用コンピューティングリソースまたは Lingjun AI 計算リソース) が必要です。詳細については、「概要」をご参照ください。
遊休リソースを使用したDLCジョブの送信
コンソールで DLC トレーニングジョブを送信する際に、リソース情報 セクションで[Lingjun Intelligent Computing Resources] または [General-purpose computing resources] のリソースクォータを選択した後、遊休リソース を設定します。次の表に、主要なパラメーターを示します。詳細については、「トレーニングジョブの作成」をご参照ください。
パラメーター
説明
リソースタイプ
[General-purpose computing resources] または [Lingjun Intelligent Computing Resources] を選択します。
説明[Lingjun Intelligent Computing Resources] は、高性能な AI トレーニング用に設計されています。
リソースのソース
リソースタイプ を選択します。
遊休リソース
有効な値:
許容:ジョブは、テナント配下のすべてのクォータからの遊休リソース、または選択されたクォータのいずれか、最初にデキューした方を使用できます。
~のみ受け付け:ジョブは遊休リソースのみを使用します。
遊休リソースで実行されるジョブは、リソースが回収される際に中断される可能性があります。プリエンプション後にジョブを再開できるように、コードにチェックポイントメカニズムを組み込む必要があります。詳細については、「EasyCkpt」をご参照ください。
許容 を選択し、ジョブが選択したクォータ自体のコンピューティングリソースを使用して開始された場合、そのジョブは通常の保証されたジョブとして実行され、プリエンプションの対象にはなりません。
自動フォールトトレランス
遊休リソースジョブはプリエンプトされる可能性があります。自動フォールトトレランス を有効にすると、リソースが回収されたときにシステムが自動的に新しいリソースを見つけ、ジョブを再実行します。設定の詳細については、「AIMaster:弾力的な自動フォールトトレランスエンジン」をご参照ください。
[Auto Fault Tolerance] スイッチをオンにし、[Modify Configuration] をクリックして右側の設定パネルを開きます。以下のパラメーターを設定します:
[Run Type]:[Synchronous Task] または [Asynchronous Task] を選択します。
[Maximum Job Restart Count]:例として、3 に設定します。
[Job Hang Detection]:必要に応じて有効または無効にします。
[Fault Tolerance Policy]:
ExitCodeAndErrorMsgなどのポリシーを選択します。[Other Configurations]:必要に応じて設定します。
DLC ジョブのリソース使用状況の詳細を確認します。
ジョブ一覧またはジョブ詳細ページで、リソースの使用状況を確認します。
ジョブ一覧の[Real-time Resources] 列で、リソース使用状況のステータスを確認します。ステータスには[In Quota] または [Not in Quota] が表示されます。
[In Quota]:ジョブは関連付けられたクォータのリソースを使用しています。
[Not in Quota]:ジョブは遊休リソースの共有リソースを使用しています。
遊休リソースジョブが共有リソースで実行されている場合、ノード名は表示されません。
ジョブが使用している遊休リソースがプリエンプトされると、ジョブ詳細ページのインスタンス (Pod) のステータスは プリエンプト済み とマークされます。
貸し出し元のクォータが新しいジョブをスケジュールする必要があるにもかかわらず十分なリソースがない場合、システムはそのジョブを優先するために遊休リソースを回収します。その後、システムはインスタンスのステータスをプリエンプト済みとしてマークします。
関連ドキュメント
遊休リソースジョブはプリエンプトされる可能性があります。AIMaster:弾力的な自動フォールトトレランスエンジンを有効にすると、プリエンプション後にジョブを自動的に再開できます。EasyCkptを使用すると、ジョブがプリエンプトされた際のトレーニングの進行状況の損失を最小限に抑えることができます。