カスタムfoundation model資産が作成されたら、そのモデルの配置を作成して推論に使用できるようにすることができます。
前提条件
APIキーを生成して、タスクの認証情報を設定する必要があります。 詳細については、タスク資格情報の管理を参照のこと。
モデルをデプロイする前に、利用可能なハードウェア仕様を確認し、モデルに一致する定義済みのハードウェア仕様を選択します。
さらに、利用可能なソフトウェアの仕様が、貴社のモデル・アーキテクチャに合致しているかどうかも確認してください。 詳細については、対応モデル・アーキテクチャを参照のこと。
watsonx.ai ユーザー インターフェイスからデプロイメントを作成する
カスタムfoundation modelの配置を作成するには、次の手順に従います:
デプロイメント スペースまたはプロジェクトで、[アセット]タブに移動します。
アセットリストからモデルを見つけ、メニューアイコン「」をクリックし、「Deploy」を選択します。
配置の名前を入力し、オプションでサービング名、説明、タグを入力します。
注:- 配置 ID の代わりに配置名を指定するには、[配置名]フィールドを使用します。
- サービング名は名前空間内で一意でなければならない。
- サービング名には、以下の文字のみを含める必要があります:a-z,0-9,_]を含み、最大36文字でなければなりません。
- カスタムfoundation modelを定期的に使用するワークフローでは、モデルをデプロイするたびに同じサービング名を割り当てることを検討してください。 こうすることで、モデルを削除して再デプロイした後も、コード内で同じエンドポイントを使い続けることができます。
お使いのモデルの構成とソフトウェア仕様を選択してください。
オプション: 基本モデル パラメータの一部を上書きしたい場合は、モデル展開パラメータをクリックし、新しいパラメータ値を入力します:
- データ型: float16またはbfloat16を選択して、モデルのデータ型を指定します。
- 最大バッチサイズ: モデルの最大バッチサイズを入力してください。
- 最大同時リクエスト数:モデルに対して行うことができる最大同時リクエスト数を入力します。
- Max new tokens:推論要求に対してモデル用に作成できるトークンの最大数を入力します。
- 最大シーケンス長: モデルの最大シーケンス長を入力してください。
「作成」 をクリックします。
watsonx-cfm-caikit-1.1
ソフトウェア仕様を使用してモデルをデプロイする場合、'max_concurrent_requests
パラメータの値は使用されない。
デプロイメントのテスト
以下の手順に従って、カスタムfoundation modelの配備をテストしてください:
ディプロイメント スペースまたはプロジェクトで、ディプロイメントタブを開き、ディプロイメント名をクリックします。
テストタブをクリックしてプロンプトのテキストを入力し、デプロイされたアセットからの応答を取得します。
配置した資産のタイプに応じて、以下のいずれかの形式でテストデータを入力します:
- Text:テキスト入力データを入力して、出力としてテキストブロックを生成する。
- Stream:テキスト入力データを入力して、出力としてテキストのストリームを生成する。
- JSON: JSON形式の出力を生成するためにJSON入力データを入力します。
Generateをクリックすると、プロンプトに基づいた結果が表示されます。
foundation modelのエンドポイントを取得する
以下の手順に従って、カスタムfoundation modelの配置のエンドポイント URL を取得します。 アプリケーションから配置にアクセスするには、この URL が必要です:
- ディプロイメント スペースまたはプロジェクトで、ディプロイメントタブを開き、ディプロイメント名をクリックします。
- APIリファレンスタブで、プライベート・エンドポイントとパブリック・エンドポイントのリンクと、アプリケーションにエンドポイントの詳細を含めるために使用できるコード・スニペットを見つけてください。
オンライン配置を作成するときにサービング名を追加した場合、2 つのエンドポイント URL が表示されます。 最初の URL にはデプロイメント ID が含まれ、2 番目の URL にはサービング名が含まれます。 これらの URL のいずれかをデプロイメントで使用できます。
プログラムでデプロイメントを作成する
watsonx.ai APIを使用するには、ベアラートークンが必要です。 詳細については、プログラム・アクセスのための認証情報を参照してください。
online.parameters.foundation_model
フィールドのfoundation modelのデフォルト値を上書きすることができます。watsonx-cfm-caikit-1.1
ソフトウェア仕様を使用してモデルを配置する場合、'max_concurrent_requests
パラメータは使用されません。- 配置 ID の代わりに配置名を指定するには、[配置名]フィールドを使用します。
- サービング名は名前空間内で一意でなければならない。
- サービング名には、以下の文字のみを含める必要があります:a-z,0-9,_]を含み、最大36文字でなければなりません。
- カスタムfoundation modelを定期的に使用するワークフローでは、モデルをデプロイするたびに同じサービング名を割り当てることを検討してください。 こうすることで、モデルを削除して再デプロイした後も、コード内で同じエンドポイントを使い続けることができます。
カスタム・foundation modelをプログラムでデプロイするには:
モデルの展開を開始する。 宇宙への配備の例については、このコードを参照のこと:
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":<your custom foundation model asset id> }, "online":{ "parameters":{ "serving_name":"test_custom_fm", "foundation_model": { "max_sequence_length": 4096 } } }, "hardware_request": { "size": "<configuration size>", "num_nodes": 1 }, "description": "Testing deployment using custom foundation model", "name":"custom_fm_deployment", "space_id":<your space id> }'
size
パラメータには、gpu_s
、gpu_m
、gpu_l
のいずれかを指定します。
プロジェクトのデプロイでは、space_id
の代わりにproject_id
を使います。デプロイメント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
に変わるまで待つ。
今後のステップ
親トピック: カスタム基礎モデルの展開