在 Vertex AI 中管理 BigQuery ML 模型
您可以將 BigQuery ML 模型註冊至 Vertex AI Model Registry,以便與 Vertex AI 模型一併管理,不必匯出模型。向 Model Registry 註冊模型後,您就能透過單一介面,對模型進行版本控管、評估及部署,以進行線上預測,而且不需要提供模型容器。如果您不熟悉 Vertex AI,以及如何與 BigQuery ML 整合,請參閱「Vertex AI for BigQuery users」(適用於 BigQuery 使用者的 Vertex AI)。
如要進一步瞭解 Vertex AI 預測,請參閱「在 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 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
註冊模型
使用 CREATE MODEL
陳述式建立 BigQuery ML 模型時,可以透過下列選項將模型註冊至 Model Registry:
MODEL_REGISTRY
:將模型註冊至 Model Registry。VERTEX_AI_MODEL_ID
:指定要在模型登錄中使用的模型 ID。模型 ID 與 BigQuery ML 模型相關聯,且會顯示在 Model Registry 中。每個 BigQuery ML 模型只能註冊至 Model Registry 中的一個模型 ID。VERTEX_AI_MODEL_VERSION_ALIASES
:指定一或多個模型版本別名,以便簡化部署作業、管理模型,並為模型啟用 Vertex Explainable AI。
如果在建立模型時設定 MODEL_REGISTRY
選項,模型就會註冊至模型登錄服務,並在 BigQuery ML 中完成訓練後,自動顯示在模型登錄服務中。您可以在Google Cloud 控制台的「模型登錄」頁面中,使用「來源」欄查看模型的來源。
註冊 BigQuery ML 模型後,您就能對模型使用下列 Model Registry 功能:
無論是否已向模型登錄服務註冊,使用 BigQuery ML 建立的所有模型仍會顯示在 BigQuery 使用者介面中。
下列範例說明如何建立及註冊 k-means 模型:
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 登錄模型。
下列範例說明如何註冊現有模型:
SQL
使用 ALTER MODEL
陳述式:
ALTER MODEL IF EXISTS mymodel SET OPTIONS (vertex_ai_model_id='my_vertex_ai_model_id');
bq
使用 bq update
指令並加上 --model
旗標:
bq update --model --vertex_ai_model_id 'my_vertex_ai_model_id' myproject:mydataset.mymodel
API
請使用 models.patch
方法。傳入 Model
物件,其中包含 trainingRuns
物件,並填入 vertexAiModelId
欄位:
{ "trainingRuns": [ { "vertexAiModelId": my_vertex_ai_model_id } }
註冊多個版本的 BigQuery ML 模型
您在特定模型 ID 下註冊的第一個 BigQuery ML 模型,會以該模型的第 1 版顯示在 Model Registry 中。建立或變更其他 BigQuery ML 模型時,只要指定相同的 Vertex AI 模型 ID,即可將這些模型註冊為已註冊模型的不同版本。
舉例來說,您可以在 BigQuery ML 中建立 model1
,並在 Model Registry 中將其註冊為 regression_model
。model1
會在 Model Registry 中顯示為 regression_model
的第 1 版。然後在 BigQuery ML 中建立 model2
,並在 Model Registry 中註冊為 regression_model
。model2
在 Model Registry 中會顯示為 regression_model
的第 2 版。
如果您建立或取代 BigQuery ML 模型,並使用已與 Model Registry 中的模型建立關聯的 BigQuery ML 模型名稱,系統會刪除現有的 Model Registry 模型版本,並以新模型取代。以上述範例為基礎,如果您使用 MODEL_REGISTRY
陳述式和 MODEL_REGISTRY
和 VERTEX_AI_MODEL_ID
選項,在 BigQuery ML 中建立或取代 model2
,則模型登錄中的 regression_model
第 2 版會遭到取代,模型登錄會顯示 regression_model
模型第 1 版和第 3 版。CREATE OR REPLACE MODEL
變更已註冊 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 美國多區域模型會同步至 Vertex AI (us-central1),而 BigQuery ML 歐洲多區域模型則會同步至 Vertex AI (europe-west4)。單一區域模型不受影響。
如要瞭解如何更新模型位置,請參閱「選擇位置」。
在 Vertex AI 中部署模型
您可以使用各種方法,將模型部署至 Vertex AI 中的端點。詳情請參閱將模型部署至端點。
從 Model Registry 刪除 BigQuery ML 模型
如要從 Model Registry 刪除 BigQuery ML 模型,請在 BigQuery ML 中刪除該模型。模型會自動從 Model Registry 移除。
您可以透過多種方式刪除 BigQuery ML 模型。詳情請參閱「刪除模型」。
如要刪除已在模型登錄服務中註冊,並部署至端點的 BigQuery ML 模型,請先使用模型登錄服務取消部署模型。接著返回 BigQuery ML,刪除模型。如要進一步瞭解如何取消部署模型,請參閱刪除端點。
限制
你無法註冊遙控器型號。
下列模型可在 Model Registry 中註冊,但無法在 Vertex AI 中部署: