モデルを簡単に追跡、共有、分析できるように、Vertex AI SDK for Python には、機械学習モデルを ExperimentModel
クラスにシリアル化し、モデルを Vertex AI experiments に記録する API が用意されています。
使用する最適なモデルを選択したら、Vertex AI Experiments から Vertex AI Model Registry にそのモデルを登録できます。
サポートされているフレームワークは、scikit-learn、XGBoost、Tensorflow です。
ML モデルの保存と記録
モデルを保存する
Vertex AI SDK には、ML モデルをシリアル化し、モデルを Cloud Storage にアップロードして、モデルを Vertex ML Metadata として表す save_model
メソッドが用意されています。
Python
project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧くださいmodel
:(必須)。ML モデル。(Union["sklearn.base.BaseEstimator", "xgb.Booster", "tf.Module"])
artifact_id
: 省略可。アーティファクトのリソース ID。この ID は、metadataStore 内でグローバルに一意である必要があります。63 文字以下で、有効な文字は[a-z0-9_-]
です。最初の文字に数字やハイフンを使用することはできません。uri
: 省略可。モデルファイルを保存する gcs ディレクトリ。URI が指定されていない場合は、gs://default-bucket/timestamp-uuid-frameworkName-model
が使用されます。デフォルトのステージング バケットが設定されていない場合は、新しいバケットが作成されます。input_example
: 省略可。各モデルは入力データを受け取り、予測を生成します。各モデルは、1 つの特定の入力形式(数値、文字列、2 次元配列など)を受け入れ、gcs URI に yaml ファイルとして保存されます。 list、dict、pd.DataFrame、np.ndarray を受け入れます。list 内の値はスカラーまたはリストである必要があります。辞書内の値は、スカラー、リスト、または np.ndarray にする必要があります。(Union[list, dict, pd.DataFrame, np.ndarray])
。display_name
: アーティファクトの表示名。
モデルを記録する
Vertex AI SDK には、log_model
メソッドが用意されています。これにより、現在のテスト実行に対する Vertex ML Metadata アーティファクトを記録するために save_model
および追加のステップをオーケストレートします。Vertex AI Experiments で複数の ML モデルを管理および分析するための log_model
メソッド。
Python
experiment_name
: テストの名前を指定します。Google Cloud コンソールで、セクション ナビゲーションの [テスト] を選択すると、テストのリストを見つけることができます。run_name
: 実行名を指定します。project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧ください。model
: 必須。ML モデル。(Union["sklearn.base.BaseEstimator", "xgb.Booster", "tf.Module"])
uri
: 省略可。モデルファイルを保存する gcs ディレクトリ。URI が指定されていない場合は、gs://default-bucket/timestamp-uuid-frameworkName-model
が使用されます。 デフォルトのステージング バケットが設定されていない場合は、新しいバケットが作成されます。input_example
: 省略可。各モデルは入力データを受け取り、予測を生成します。各モデルは、1 つの特定の入力形式(数値、文字列、2 次元配列など)を受け入れ、gcs URI に yaml ファイルとして保存されます。 list、dict、pd.DataFrame、np.ndarray を受け入れます。list 内の値はスカラーまたはリストである必要があります。辞書内の値は、スカラー、リスト、または np.ndarray にする必要があります。(Union[list, dict, pd.DataFrame, np.ndarray])
。display_name
: 省略可。アーティファクトの表示名。
ExperimentModel
をトラッキングする
テストモデルを取得する
get_experiment_model
を使用して保存済みモデルを返すには、保存済みモデルのアーティファクト ID を渡します。
Python
project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧ください。artifact_id
: 必須: 既存のモデルのリソース ID。
テストモデルを取得する
get_experiment_models
メソッドは、特定のテスト実行に記録されるすべての ExperimentModel
のリストを取得します。
Python
run_name
: 実行名を指定します。experiment
: テストの名前を指定します。Google Cloud コンソールで、セクション ナビゲーションの [テスト] を選択すると、テストのリストを見つけることができます。project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧ください。
モデル情報を取得する
get_model_info
メソッドは、特定の ExperimentModel
インスタンスのモデルのメタデータ(モデルクラス、フレームワーク タイプなど)を返します。
Python
artifact_id
: 必須: 既存のExperimentModel
のリソース ID。project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧ください。
ExperimentModel
を読み込む
モデルを読み込む
load_experiment_model
メソッドを使用すると、ExperimentModel
インスタンスをシリアル化解除して元の ML モデルに戻すことができます。
Python
artifact_id
:(必須)。既存のExperimentModel
のリソース ID。 例:artifact_id="my-sklearn-model"
project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧ください。
ExperimentModel
を登録する
保存済みモデルを登録する
register_experiment_model
API を使用すると、最小限の構成で、最適とみなされたモデルを Vertex AI Model Registry に登録できます。API は、モデルのフレームワークとバージョンに基づいてビルド済み予測コンテナを自動的に選択します。
Python
artifact_id
:(必須)。既存のExperimentModel
のリソース ID。project
: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。location
: 利用可能なロケーションの一覧をご覧ください。display_name
: 省略可。登録済みモデルのユーザー定義の名前。
Google Cloud コンソールでテスト実行リストを表示する
- Google Cloud コンソールで、[テスト] ページに移動します。
[テスト] に移動
テストのリストが表示されます。 - 確認するテストを選択します。
実行のリストが表示されます。