Decision Optimizationは watsonx.aiRuntimeの非同期APIを使用し、ジョブの並列実行を可能にします。
問題を解決するために、モデル・デプロイメントから新規ジョブを作成し、そのジョブにデータを関連付けることができます。 デプロイメントのステップ および REST API の例を参照してください。 モデルのデプロイは課金されません。 実行時間に基づいて、一部のデータを含むモデルの求解のみが課金されます。
一度に複数のジョブを解決するには、デプロイメントの作成時に複数のノードを指定してください。 例えば、この REST API の例では、ノード・プロパティー "nodes" : 1
の値を変更して ノードの数 を増分します。
ポッド (ノード)
ジョブが作成されサブミットされると、それがどのように処理されるかは、watsonx.aiRuntimeインスタンスの現在の設定と実行中のジョブに依存します。 このプロセスを以下の図に示します。
- 新しいジョブがキューに送信されます。
- POD が開始されたがアイドル状態である (ジョブを実行していない) 場合、POD はこのジョブの処理を即時に開始します。
- あるいは、ノードの最大数に達していない場合は、新しい POD が開始されます。 (POD の開始には数秒かかる場合があります。) その後、ジョブは処理のためにこの新しい POD に割り当てられます。
- それ以外の場合、ジョブは実行中のポッドの 1 つが終了するまでキュー内で待機し、待機中のジョブを取得できます。
規模に応じたポッドの構成は次のとおりです。
定義 | 名前 | 説明 |
---|---|---|
2 vCPU および 8 GB | S | 小 |
4 vCPU および 16 GB | M | 中 |
8 vCPU および 32 GB | L | 大 |
16 vCPU および 64 GB | XL | 特大 |
いずれの構成の場合も、内部で使用するために 1 個の vCPU および 512 MB が予約されます。
解決時間に加えて、価格設定は、乗数によって選択されたサイズによって異なります。
デプロイメント構成では、使用するノードの最大数を設定することもできます。
アイドルのポッドは、タイムアウト後に自動的に停止されます。 ポッドが稼働していないときに新規ジョブが実行依頼された場合は、POD の再始動に時間 (約 30 秒) がかかります。
ランタイム・ベースの価格設定 (CUH)
ジョブの解決時間のみが課金されます。ポッドのアイドル時間は課金 されません 。
使用される POD のサイズに応じて、使用されるキャパシティー・ユニット時間 (CUH) の数を計算するために異なる乗数が使用されます。
REST API の例
モデルをデプロイするための完全な手順と、Swagger 資料へのリンクについては、 REST API の例を参照してください。
Python API の例
REST API に加え、watsonx.aiランタイムには PythonAPI が用意されており、Pythonの「notebook」からDecision Optimizationモデルを簡単に作成、デプロイ、使用することができます。
詳しくは、 Python クライアントの例を参照してください。
すべてのステップを記述および文書化する notebook の例 は、 リソース・ハブから入手できます。