Vertex AI で BigQuery ML モデルを管理する
BigQuery ML モデルを Vertex AI Model Registry に登録すると、これらのモデルをエクスポートすることなく、Vertex AI モデルと一緒に管理できます。Model Registry にモデルを登録すると、1 つのインターフェースを使用して、サービング コンテナなしでモデルのバージョン管理、評価、デプロイを行い、オンライン予測を実行できるようになります。Vertex AI と BigQuery ML の統合方法に精通していない場合は、BigQuery ユーザー用の Vertex AI をご覧ください。
Vertex AI Prediction の詳細については、Vertex AI での予測の取得の概要をご覧ください。
Vertex AI Model Registry から BigQuery ML モデルを管理する方法については、Vertex AI Model Registry の概要をご覧ください。
始める前に
Enable the Vertex AI API.
必要な権限
BigQuery ML モデルを Model Registry に登録するために必要な権限を取得するには、プロジェクトに対する Vertex AI 管理者 (roles/aiplatform.admin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
モデルを登録する
BigQuery ML モデルを作成するときに、次の方法でモデルを Model Registry に登録できます。
- Google Cloud コンソールで、[エクスプローラ] ペインでモデルを選択し、[レジストリ] タブで [登録] をクリックします。(プレビュー)
CREATE MODEL
ステートメントを使用します。CREATE MODEL
ステートメントでは、次のオプションを使用してモデルを Model Registry に登録できます。MODEL_REGISTRY
: モデルを Model Registry に登録します。VERTEX_AI_MODEL_ID
: Model Registry のモデルに使用するモデル ID を指定します。モデル ID は BigQuery ML モデルに関連付けられ、Model Registry から確認できます。各 BigQuery ML モデルは、Model Registry で 1 つのモデル ID にのみ登録できます。VERTEX_AI_MODEL_VERSION_ALIASES
: 1 つ以上のモデル バージョン エイリアスを指定します。これらのエイリアスを使用すると、デプロイを効率化に行い、モデルを管理し、モデルで Vertex Explainable AI を有効にできます。
モデルの作成時に
MODEL_REGISTRY
オプションを設定すると、モデルが Model Registry に登録され、BigQuery ML でトレーニングが完了すると、自動的に表示されます。Google Cloud コンソールの [Model Registry] ページの [ソース] 列でモデルのソースを確認できます。
BigQuery ML モデルが登録されると、モデルで次の Model Registry の機能を使用できます。
BigQuery ML を使用して作成されたすべてのモデルは、Model Registry に登録されているかどうかに関係なく、引き続き BigQuery ユーザー インターフェースに表示されます。
次の例は、k 平均モデルを作成して登録する方法を示しています。
CREATE OR REPLACE MODEL `mydataset.my_kmeans_model` MODEL_TYPE = 'KMEANS', MODEL_REGISTRY = 'VERTEX_AI', VERTEX_AI_MODEL_ID = 'customer_clustering';
既存の BigQuery ML モデルを Model Registry に登録する
モデルの作成時に Vertex AI に登録しなかった場合は、SQL、bq コマンドライン ツール、または BigQuery API を使用して後で登録できます。
次の例は、既存のモデルを登録する方法を示しています。
コンソール
[BigQuery] ページに移動します。
[エクスプローラ] ペインで、登録するモデルを見つけます。
モデル名をクリックして、モデルの詳細ペインを開きます。
モデルの詳細ペインで、[レジストリ] タブを選択します。
[登録] をクリックします。
[Vertex Model Registry へのモデルの登録] ペインで、次のいずれかを行います。
[新しいモデルとして登録] を選択します。[モデル名] にモデル名を入力します。
[既存のモデルの新しいバージョンとして登録] を選択します。
- [モデル名] にモデル名を入力します。
- 省略可。バージョン エイリアスを使用する場合は、[バージョン エイリアス] を選択して、バージョン エイリアス名を入力します。
[登録] をクリックします。
SQL
ALTER MODEL
ステートメントを使用します。
ALTER MODEL IF EXISTS mymodel SET OPTIONS (vertex_ai_model_id='my_vertex_ai_model_id');
bq
--model
フラグを指定して bq update
コマンドを使用します。
bq update --model --vertex_ai_model_id 'my_vertex_ai_model_id' myproject:mydataset.mymodel
API
models.patch
メソッドを使用します。vertexAiModelId
フィールドに値が設定された trainingRuns
オブジェクトを含む Model
オブジェクトを渡します。
{ "trainingRuns": [ { "vertexAiModelId": my_vertex_ai_model_id } }
BigQuery ML モデルの複数のバージョンを登録する
特定のモデル ID で登録した最初の BigQuery ML モデルは、Model Registry でそのモデルのバージョン 1 として表示されます。BigQuery ML モデルを作成または変更するときに同じ Vertex AI モデル ID を指定すると、登録済みモデルの別のバージョンとして追加の BigQuery ML モデルを登録できます。
たとえば、BigQuery ML で model1
を作成し、Model Registry に regression_model
として登録できます。model1
は、Model Registry で regression_model
のバージョン 1 として表示されます。その後、BigQuery ML で model2
を作成し、Model Registry に regression_model
として登録すると、Model Registry に regression_model
のバージョン 2 として model2
が表示されます。
BigQuery ML モデルを作成または置換して、Model Registry 内のモデルにすでに関連付けられている BigQuery ML モデル名を使用すると、既存の Model Registry モデル バージョンが削除され、新しいモデルに置き換えられます。前の例に基づいて、MODEL_REGISTRY
オプションと VERTEX_AI_MODEL_ID
オプションを指定して CREATE OR REPLACE MODEL
ステートメントを使用し、BigQuery ML で model2
を作成または置換すると、Model Registry の regression_model
のバージョン 2 が置き換えられ、Model Registry に regression_model
モデルのバージョン 1 とバージョン 3 が表示されます。
登録済みの BigQuery ML モデルのモデル ID を変更する
BigQuery ML モデルが Model Registry に登録されると、VERTEX_AI_MODEL_ID
値を変更できなくなります。新しい VERTEX_AI_MODEL_ID
でモデルを登録するには、次のいずれかのオプションを使用します。
モデルを削除して再作成し、
VERTEX_AI_MODEL_ID
オプションに新しい値を指定します。このアプローチでは、再トレーニング費用が発生します。モデルをコピーし、
ALTER MODEL
ステートメントを使用して新しいモデルを新しいVERTEX_AI_MODEL_ID
値で登録します。
ロケーションに関する留意事項
マルチリージョンの BigQuery ML モデルを Model Registry に登録すると、そのモデルは Vertex AI のリージョン モデルになります。BigQuery ML US マルチリージョン モデルは Vertex AI(us-central1)に同期され、BigQuery ML マルチリージョン EU モデルは Vertex AI(europe-west4)に同期されます。単一リージョン モデルの場合、変更はありません。
モデルのロケーションを更新する方法については、ロケーションの選択をご覧ください。
Vertex AI にモデルをデプロイする
さまざまな方法を使用して、Vertex AI のエンドポイントにモデルをデプロイできます。詳細については、エンドポイントにモデルをデプロイするをご覧ください。
Model Registry から BigQuery ML モデルを削除する
Model Registry から BigQuery ML モデルを削除するには、BigQuery ML でモデルを削除します。モデルは Model Registry から自動的に削除されます。
BigQuery ML モデルを削除する方法は複数あります。詳細については、モデルを削除するをご覧ください。
Model Registry に登録され、エンドポイントにデプロイされた BigQuery ML のモデルを削除するには、まず Model Registry を使用してモデルのデプロイを解除する必要があります。その後、BigQuery ML に戻ってモデルを削除できます。モデルのデプロイ解除の詳細については、エンドポイントを削除するをご覧ください。
制限事項
リモートモデルは登録できません。
次のモデルは Model Registry に登録できますが、Vertex AI にデプロイすることはできません。