古いソフトウェア仕様またはフレームワークを参照する資産を更新する場合は、以下のガイドラインを使用してください。
場合によっては、資産の更新がシームレスに行われます。 また、資産をリトレーニングまたは再デプロイする必要がある場合もあります。 一般的なガイドラインについては、 廃止されたソフトウェア仕様を参照する資産のマイグレーション または 廃止されたフレームワーク・バージョンを参照する資産のマイグレーションを参照してください。
詳しくは、以下のセクションを参照してください。
廃止されたソフトウェア仕様を参照する資産の管理
- マイグレーション中に、廃止されたソフトウェア仕様を参照する資産は、同等のサポート対象デフォルト・ソフトウェア仕様にマップされます (モデル・タイプが引き続きサポートされる場合のみ)。
- マイグレーションされた資産の新規デプロイメントを作成すると、資産メタデータ内の更新されたソフトウェア仕様が使用されます。
- マイグレーションされた資産の既存のデプロイメントは、新しいソフトウェア仕様を使用するように更新されます。 フレームワークまたはライブラリーのバージョンの非互換性が原因でデプロイメントまたはスコアリングが失敗した場合は、 ソフトウェア仕様の更新の説明に従ってください。 問題が解決しない場合は、 機械学習モデルの更新にリストされている手順に従ってください。
廃止されたフレームワーク・バージョンを参照する資産のマイグレーション
- マイグレーション中は、モデル・タイプは更新されません。 このデータは手動で更新する必要があります。 詳しくは、 機械学習モデルの更新を参照してください。
- マイグレーション後、既存のデプロイメントは削除され、非推奨フレームワークの新規デプロイメントは許可されません。
ソフトウェア仕様の更新
ソフトウェア仕様は、UI から更新することも、API を使用して更新することもできます。 詳しくは、以下のセクションを参照してください。
UI からのソフトウェア仕様の更新
- デプロイメント・スペースから、モデルをクリックします (アクティブなデプロイメントがないことを確認します)。
i
記号をクリックして、モデルの詳細を確認します。- ドロップダウン・リストを使用して、ソフトウェア仕様を更新します。
以下のイメージ例を参照してください。
API を使用したソフトウェア仕様の更新
API Patch コマンドを使用して、ソフトウェア仕様を更新できます。
software_spec
フィールドには、 /software_spec
と入力します。 value
フィールドには、新しいソフトウェア仕様の ID または名前を使用します。
この例を参照してください:
curl -X PATCH '<deployment endpoint url>/ml/v4/models/6f01d512-fe0f-41cd-9a52-1e200c525c84?space_id=f2ddb8ce-7b10-4846-9ab0-62454a449802&project_id=<project_id>&version=<YYYY-MM-DD>' \n--data-raw '[
{
"op":"replace",
"path":"/software_spec",
"value":{
"id":"6f01d512-fe0f-41cd-9a52-1e200c525c84" // or "name":"tensorflow_rt22.1-py3.9"
}
}
]'
詳しくは、 パッチ API コマンドを使用したアセットの更新を参照してください。
機械学習モデルの更新
以下の手順に従って、非推奨のフレームワークで作成されたモデルを更新します。
オプション 1: 互換性のあるフレームワークを使用してモデルを保存する
モデルをダウンロードするには、watsonx.aiRuntimeData and AI Common Core APIまたはwatsonx.ai Pythonクライアントライブラリのいずれかを使用します。
以下の例は、モデルをダウンロードする方法を示しています。
client.repository.download(<model-id>, filename="xyz.tar.gz")
現行リリースでサポートされているモデル・タイプとバージョンを使用してモデル・メタデータを編集します。 詳しくは、 デプロイメントのソフトウェア仕様およびハードウェア仕様を参照してください。
以下の例は、モデル・メタデータを編集する方法を示しています。
model_metadata = { client.repository.ModelMetaNames.NAME: "example model", client.repository.ModelMetaNames.DESCRIPTION: "example description", client.repository.ModelMetaNames.TYPE: "<new model type>", client.repository.ModelMetaNames.SOFTWARE_SPEC_UID: client.software_specifications.get_uid_by_name("<new software specification name>") }
モデルをwatsonx.aiRuntime リポジトリに保存します。 以下の例は、モデルをリポジトリーに保存する方法を示しています。
model_details = client.repository.store_model(model="xyz.tar.gz", meta_props=model_metadata)
モデルをデプロイします。
モデルをスコアリングして予測を生成します。
デプロイメントまたはスコアリングが失敗した場合、モデルは、モデルの保存に使用された新しいバージョンと互換性がありません。 この場合は、 オプション 2を使用します。
オプション 2: 互換性のあるフレームワークを使用してモデルをリトレーニングする
- 現行バージョンでサポートされているモデル・タイプとバージョンを使用してモデルをリトレーニングします。
- サポートされていたモデル・タイプとバージョンを使用してモデルを保存します。
- モデルをデプロイしてスコアリングします。
API を使用してモデルを更新することもできます。 詳しくは、 パッチ API コマンドを使用したアセットの更新を参照してください。
Python 関数の更新
非推奨のフレームワークでビルドされた Python 関数を更新するには、以下の手順に従います。
オプション 1: 互換性のあるランタイムまたはソフトウェア仕様で Python 関数を保存する
- Python関数をダウンロードするには、watsonx.aiRuntimeREST APIまたはwatsonx.ai Pythonクライアントライブラリを使用します。
- サポートされていたランタイムまたはソフトウェア仕様のバージョンを使用して Python 関数を保存します。 詳しくは、 デプロイメントのソフトウェア仕様およびハードウェア仕様を参照してください。
- Python 関数をデプロイします。
- Python 関数をスコアリングして予測を生成します。
スコアリング中に Python 関数が失敗した場合、この関数は、 Python 関数の保存に使用された新しいランタイム仕様またはソフトウェア仕様のバージョンと互換性がありません。 この場合は、 オプション 2を使用します。
オプション 2: 関数コードを変更し、互換性のあるランタイムまたはソフトウェア仕様を使用してその関数コードを保存する
- Python 関数コードが新しいランタイムまたはソフトウェア仕様のバージョンと互換性を持つように、その Python 関数コードを変更します。 場合によっては、 Python 関数コード内にインストールされている従属ライブラリーを更新する必要があります。
- 新しいランタイムまたはソフトウェア仕様のバージョンで Python 関数を保存します。
- Python 関数をデプロイし、スコアリングします。
API を使用して関数を更新することもできます。 詳しくは、 パッチ API コマンドを使用したアセットの更新を参照してください。
SPSS Modeler フローのリトレーニング
2020年9月1日以前にIBM watsonx.aiStudio Cloud でSPSS Modelerを使用して構築されたモデルの一部は、watsonx.aiRuntime を使用してデプロイすることができなくなりました。 この問題は、サポートされる SPSS Modeler ランタイムの Python バージョンのアップグレードが原因で発生します。 SPSS Modelerのフローで次の6つのノードのいずれかを使用している場合は、SPSS Modelerと watsonx.aiRuntimeでモデルを再構築し、再デプロイする必要があります:
- XGBoost ツリー
- XGBoost 線形
- One-Class SVM
- HDBSCAN
- KDE モデル作成
- ガウス混合
SPSS Modeler フローをリトレーニングするには、以下の手順を実行します。
- watsonx.aiStudio ユーザーインターフェースを使用している場合は、watsonx.aiStudio でSPSS Modelerフローを開き、再トレーニングを行い、モデルをwatsonx.aiRuntime に保存します。 モデルをプロジェクトに保存した後、そのモデルをデプロイメント・スペースにプロモートし、新規デプロイメントを作成することができます。
- REST APIまたはPythonクライアントを使用している場合は、SPSS Modelerを使用してモデルを再トレーニングし、モデルをモデルタイプ「
spss-modeler-18.2
」でwatsonx.aiRuntime リポジトリに保存します。
親トピック: フレームワークおよびソフトウェア仕様