在 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.

Enable the 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_modelmodel1 在 Model Registry 中显示为 regression_model 的版本 1。然后,如果您在 BigQuery ML 中创建 model2,并在 Model Registry 中将其注册为 regression_modelmodel2 会在 Model Registry 中显示为 regression_model 的版本 2。

如果您创建或替换 BigQuery ML 模型,并使用已与 Model Registry 中的模型关联的 BigQuery ML 模型名称,则现有的 Model Registry 模型版本会被删除并替换为新模型。在前述示例的基础上,如果您使用 CREATE OR REPLACE MODEL 语句以及 MODEL_REGISTRYVERTEX_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 并删除模型。如需详细了解如何取消部署模型,请参阅删除端点

限制