カスタム・ 基盤モデル デプロイメント作成する
カスタム基盤モデル 資産作成されたら、そのモデルのデプロイメント作成して推論に使用できるようにすることができます。
前提条件:
- APIキーを生成して、タスクの認証情報を設定する必要があります。 詳細については、タスク資格情報の管理を参照のこと。
- モデルをデプロイする前に、利用可能なハードウェア仕様を確認し、モデルに一致する定義済みのハードウェア仕様を選択します。
- さらに、利用可能なソフトウェアの仕様が、貴社のモデル・アーキテクチャに合致しているかどうかも確認してください。 詳細については、対応モデル・アーキテクチャを参照のこと。
watsonx.ai ユーザー インターフェイスからデプロイメントを作成する
カスタム基盤モデル デプロイメント作成するには、次の手順に従います:
デプロイメント スペースまたはプロジェクトで、[アセット]タブに移動します。
資産モデルを見つけ、 メニューアイコン
をクリックし、 Deploy を選択します。必要に応じてモデルの詳細を調整する。
注:- デプロイメント ID の代わりにデプロイメント名前を指定するには、[ Serving name] フィールドを使用します。
- サービング名は名前空間内で一意でなければならない。
- サービング名には、以下の文字のみを含める必要があります:a-z,0-9,_]を含み、最大36文字でなければなりません。
- カスタム基盤モデル定期的に使用するワークフローでは、モデルをデプロイするたびに同じサービング名を割り当てることを検討してください。 こうすることで、モデルを削除して再デプロイした後も、コード内で同じエンドポイントを使い続けることができます。
オプションだ: ベースモデルのパラメータの一部を上書きしたい場合は、 をクリックし、新しいパラメータ値を入力します。 モデルデプロイメントパラメータ 利用可能なモデルパラメータについては、 カスタム基盤モデルグローバルパラメータ を参照。
「作成」 をクリックします。
watsonx-cfm-caikit-1.1ソフトウェア仕様を使用してモデルをデプロイする場合、'max_concurrent_requestsパラメータの値は使用されない。- 時系列モデルはパラメータを取らない。 カスタム時系列モデルをデプロイするときは、パラメータを指定しないでください。 カスタム時系列モデルのデプロイ時にパラメータを指定した場合、そのパラメータは何の効果も持たない。
- モデルタスクの下:
- タスクを選択しない場合
- モデルにチャットテンプレートが含まれていない場合、デフォルトのタスクはテキスト生成です。
- モデルにチャットテンプレートが含まれている場合、デフォルトのタスクはテキスト生成とテキストチャットです。
- モデルのデプロイ時に選択したタスクは、モデルの作成段階で設定したタスクを上書きします。
- タスクを選択しない場合
デプロイメントのテスト
以下の手順に従って、カスタム基盤モデル デプロイメントテストしてください:
ディプロイメント スペースまたはプロジェクトで、ディプロイメントタブを開き、ディプロイメント名をクリックします。
テストタブをクリックしてプロンプトのテキストを入力し、デプロイされたアセットからの応答を取得します。
配置した資産のタイプに応じて、以下のいずれかの形式でテストデータを入力します:
- Text:テキスト入力データを入力して、出力としてテキストブロックを生成する。
- Stream:テキスト入力データを入力して、出力としてテキストのストリームを生成する。
- JSON: JSON形式の出力を生成するためにJSON入力データを入力します。

Generateをクリックすると、プロンプトに基づいた結果が表示されます。
カスタム基盤モデルデプロイメントのエンドポイントの取得
以下の手順に従って、カスタム基盤モデル デプロイメントエンドポイント URL を取得します。 アプリケーションからデプロイメントアクセスするには、この URL が必要です:
- ディプロイメント スペースまたはプロジェクトで、ディプロイメントタブを開き、ディプロイメント名をクリックします。
- APIリファレンスタブで、プライベート・エンドポイントとパブリック・エンドポイントのリンクと、アプリケーションにエンドポイントの詳細を含めるために使用できるコード・スニペットを見つけてください。
オンライン配置を作成するときにサービング名を追加した場合、2 つのエンドポイント URL が表示されます。 最初の URL にはデプロイメント IDが、2番目の URL にはサービング名が含まれています。 これらの URL のいずれかをデプロイメントで使用できます。
プログラムでデプロイメントを作成する
watsonx.ai APIを使用するには、ベアラートークンが必要です。 詳細については、プログラム・アクセスのための認証情報を参照してください。
online.parameters.foundation_modelフィールドで、カスタム基盤モデルパラメータのデフォルト値をオーバーライドできます。 利用可能なモデルパラメータについては、 カスタム基盤モデルグローバルパラメータ を参照。watsonx-cfm-caikit-1.1ソフトウェア仕様を使用してモデルを配置する場合、'max_concurrent_requestsパラメータは使用されません。- デプロイメント ID の代わりにデプロイメント名前を指定するには、
Serving nameフィールドを使用します。 - サービング名は名前空間内で一意でなければならない。
- サービング名には、以下の文字のみを含める必要があります:a-z,0-9,_]を含み、最大36文字でなければなりません。
- カスタム基盤モデル定期的に使用するワークフローでは、モデルをデプロイするたびに同じサービング名を割り当てることを検討してください。 こうすることで、モデルを削除して再デプロイした後も、コード内で同じエンドポイントを使い続けることができます。
- 時系列モデルはパラメータを取らない。 カスタム時系列モデルをデプロイするときは、パラメータを指定しないでください。 カスタム時系列モデルのデプロイ時にパラメータを指定した場合、そのパラメータは何の効果も持たない。
カスタム・ 基盤モデルプログラムでデプロイするには:
モデルの展開を開始する。 宇宙への配備の例については、このコードを参照のこと:
curl -X POST "https://<your cloud hostname>/ml/v4/deployments?version=2024-01-29" \ -H "Authorization: Bearer $TOKEN" \ -H "content-type: application/json" \ --data '{ "asset": { "id": "b89ff4c6-9264-4e87-9b04-c98e973f9f67" }, "hardware_spec": { "name": "1l40s-48g", "num_nodes": 1 }, "description": "Description", "name": "granite-speech", "space_id": "<space id>", "online": { "parameters": { "foundation_model": { "tool_call_parser": "granite", "chat_template": "granite-3.3.j2", "functions": [ "text_generation", "text_chat", "image_chat" ], } } } }'hardware_spec:- 汎用モデル:モデルに割り当てたいGPUベースの構成名
- 時系列モデル:モデルに割り当てたいCPUベースのコンフィギュレーションのサイズ
プロジェクトのデプロイメント、
space_idの代わりにproject_idを使う。必要であれば、チャットAPIを使用するモデルのために、
chat_templateフィールドを使用して、モデルの標準チャットテンプレートをオーバーライドするテンプレートの名前を提供します。functionsの場合:- 機能を選択しない場合
- モデルにチャットテンプレートが含まれていない場合、デフォルトのタスクはテキスト生成です。
- モデルにチャットテンプレートが含まれている場合、デフォルトの関数は
text_generationとtext_chatです。
- モデルをデプロイする際に選択した関数は、モデル作成段階で設定した関数を上書きします。
デプロイメントIDはAPIレスポンスの
metadata.idフィールドに返されます。配置 ID を使用して配置ステータスをポーリングする。 プロジェクトにデプロイされたモデルのステータスをポーリングする方法の例については、このコードを参照してください。
curl -X GET "https://<your cloud hostname>/ml/v4/deployments/<your deployment ID>?version=2024-01-29&project_id=<your project ID>" \ -H "Authorization: Bearer $TOKEN"deployed_asset_typeはcustom_foundation_modelとして返されます。 ステータスがinitializingからreadyに変わるまで待つ。