在 Vertex AI 中管理 BigQuery ML 模型
您可以将 BigQuery ML 模型注册到 Vertex AI Model Registry,这样无需导出这些模型便可以将它们与 Vertex AI 模型一起管理。在 Model Registry 中注册模型后,您可以通过单个界面对模型进行版本控制、评估和部署,以进行在线预测,并且不需要服务容器。如果您不熟悉 Vertex AI 以及它如何与 BigQuery ML 集成,请参阅面向 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 Administrator (roles/aiplatform.admin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
注册模型
使用 CREATE MODEL
语句创建 BigQuery ML 模型时,您可以使用以下选项将模型注册到 Model Registry:
MODEL_REGISTRY
:将模型注册到 Model Registry。VERTEX_AI_MODEL_ID
:指定一个模型 ID 以用于 Model Registry 中的模型。该模型 ID 与您的 BigQuery ML 模型相关联,并且可在 Model Registry 中看到。每个 BigQuery ML 模型只能注册到 Model Registry 中的一个模型 ID。VERTEX_AI_MODEL_VERSION_ALIASES
:指定一个或多个模型版本别名,您可以使用这些别名简化部署、管理模型,以及在模型上启用 Vertex Explainable AI。
如果您在创建模型时设置 MODEL_REGISTRY
选项,则该模型会注册到 Model Registry,并在 BigQuery ML 中完成训练后自动显示在 Model Registry 中。您可以使用Google Cloud 控制台的 Model Registry 页面中的来源列来了解模型的来源。
BigQuery ML 模型注册后,您可以将以下 Model Registry 功能与您的模型搭配使用:
无论是否已向 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
使用带有 --model
标志的 bq update
命令:
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 模型会在 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
,model2
会在 Model Registry 中显示为 regression_model
的版本 2。
如果您创建或替换 BigQuery ML 模型,并使用已与 Model Registry 中的模型关联的 BigQuery ML 模型名称,则现有的 Model Registry 模型版本会被删除并替换为新模型。在前述示例的基础上,如果您使用 CREATE OR REPLACE MODEL
语句以及 MODEL_REGISTRY
和 VERTEX_AI_MODEL_ID
选项在 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 美国多区域模型同步到 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 模型。如需了解详情,请参阅删除模型。
如果您要删除已在 Model Registry 中注册并部署到端点的 BigQuery ML 模型,则必须先使用 Model Registry 取消部署该模型。然后,您可以返回 BigQuery ML 并删除模型。如需详细了解如何取消部署模型,请参阅删除端点。
限制
您无法注册远程模型。
以下模型可以在 Model Registry 中注册,但不能在 Vertex AI 中部署: