REST API を使用して、オンデマンドで基盤モデルを展開および管理
オンデマンドで基盤モデルを導入すると、貴社専用のハードウェアで利用可能になります。 IBM 厳選されたモデルのセットを提供しており、必要に応じて展開することができます。 基盤モデル、REST API を使用してプログラムでオンデマンドで展開できます。
開始前に
- 基礎モデルをオンデマンドでデプロイするには、タスク認証情報を設定するか、有効にする必要があります。 詳細については、タスク資格情報の管理を参照のこと。
- 要件と考慮事項の確認 for deploying a foundation model on-demand.
モデル資産の作成
You can use the /ml/v4/models
endpoint to create an asset for the foundation model that you want to deploy on-demand.
The following code snippet shows how to create an asset in the watsonx.ai Runtime repository for deploying your foundation model on-demand. モデルを展開する際には、このコードで生成された asset ID
を使用してください。
curl -X POST "https://<cluster url>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"type": "curated_foundation_model_1.0",
"version": "1.0",
"name": "granite",
"space_id": "<Space id for deployment>",
"foundation_model": {
"model_id": "ibm/granite-13b-chat-v2-curated"
}
}'
オンデマンド基盤モデル デプロイメントを作成する
You can use the /ml/v4/deployments
endpoint to deploy a foundation model on-demand within your deployment space. Use the asset ID
generated when you created the model asset for deployment. 詳細については、 モデル資産の作成 をご覧ください。
次のコード例は、オンデマンドで基盤モデルを展開するためのデプロイメントを作成する方法を示しています
curl -X POST "https://<cluster url>/ml/v4/deployments?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"asset": {
"id": <Asset id created>
},
"online": {
"parameters": {
"serving_name": "llma"
}
},
"description": "<Description>,
"name": "mi",
"space_id": <Space id for deployment>
}'
配備状況のポーリング
配置 ID を使用して配置ステータスをポーリングできます。 When the status changes from 初期化 to 準備万端, your deployment is ready to use.
次のコードサンプルは、REST API を使用してデプロイメントステータスをポーリングする方法を示しています:
curl -X GET "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your project ID>" \
-H "Authorization: Bearer <replace with your token>"
出力:
"deployed_asset_type": "curated_foundation_model"
オンデマンドで展開される基礎モデルのテスト
オンライン推論用にオンデマンドで展開された基盤モデルをテストすることができます。
テキスト形式の応答を生成する
次のコードサンプルは、 /ml/v1/deployments/<deployment ID>/text/generation
API エンドポイントを使用してテキスト形式の応答を生成する方法を示しています
次のコードスニペットは、オンライン推論用にオンデマンドで展開された基盤モデルテスト方法を示しています
curl -X POST "https://<replace with your cloud hostname>/ml/v1/deployments/<replace with your deployment ID>/text/generation?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"input": "Hello, what is your name",
"parameters": {
"max_new_tokens": 200,
"min_new_tokens": 20
}
}'
オンデマンドで展開される基盤モデルの管理
REST API を使用してオンデマンドで展開された基盤モデルにアクセス、更新、拡張、または削除します。
デプロイされたモデルへのアクセス
REST APIを使用して、デプロイメントスペースにオンデマンドでデプロイされているすべてのファウンデーションモデルのリストを取得するには、クエリパラメータ 'type=curated_foundation_model
を設定します。
次のコードサンプルは、REST API を使用して、デプロイメントスペースにオンデマンドでデプロイされているすべての基盤モデルにアクセスする方法を示しています:
curl -X GET "https://<replace with yourcloud hostname>/ml/v4/deployments?version=2024-01-29&space_id=<replace with your space ID>&type=curated_foundation_model" \
-H "Authorization: Bearer <replace with your token>"
配置の更新
名前、説明、タグなど、配置に必要な配置メタデータを更新します。
次のコードサンプルは、オンデマンドで展開された基盤モデルの名前を更新する方法を示しています
curl -X PATCH "https://<replace with your cloud hostname>//ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your space ID>" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '[{
"op": "replace",
"path": "/name",
"value": "<replace with updated deployment name>"
}]'
配備の拡大
デプロイメントスペース、オンデマンド基盤モデル 1つのインスタンスのみデプロイできます。 需要の増加に対応するために、追加のコピーを作成することで配備を拡張できます。
次のコードサンプルは、デプロイのレプリカ数をスケールする方法を示しています:
curl -X PATCH "<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" \
-H "Authorization: Bearer $token" \
-H "content-type: application/json" \
--data '[{
"op": "replace",
"path": "/hardware_request",
"value": {"num_nodes": 2}
}]'
- ハードウェアリソースを拡張したい場合は、「
PATCH
操作に「/hardware_request
パラメータを使用し、「num_nodes
パラメータに値を指定してハードウェアノード数を更新する。size
パラメータを '/hardware_request
と併用することはできない。 - You cannot use the
PATCH
operation to update the foundation model parameters (/online/parameters/foundation_model
).
デプロイメントの削除
課金停止のため、デプロイした基盤モデルを必要がなくなった時点で削除することができます。
次のコードサンプルは、オンデマンドでデプロイされた基盤モデルをREST APIで削除する方法を示しています
curl -vk -X DELETE "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" -H "Authorization: Bearer <replace with your token>"
サンプル・ノートブック
次のサンプル・ノートブックは、オンデマンドでプログラム的に展開される基礎モデルに対するプロンプトを示します。 ノートブックを実行する前に、オンデマンドで基盤モデルを展開する必要があります。
ノートブック | 説明 |
---|---|
Granite Text-to-SQL モデルによる推論 | セットアップ スキーマリンクモデルのプロンプトを作成 WX.AI エンドポイントを使用してスキーマリンクモデルの推論を実行 スキーマリンクモデル出力のプロセスをポスト SQL生成モデルのプロンプトを作成 WX.AI エンドポイントを使用してSQL生成モデルの推論を実行 |
詳細情報
親トピック 専用ファンデーションモデルの展開