在 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 简介

前提条件

如需将 BigQuery ML 模型注册到 Model Registry,您必须满足以下几个前提条件。

启用 Vertex AI API

您必须先在项目中启用 Vertex AI API,然后才能将 BigQuery ML 模型注册到 Model Registry。您可以使用 Google Cloud 控制台中的 API 和服务页面,也可以运行以下 Google Cloud CLI 命令来执行此操作:

gcloud --project PROJECT_ID services enable aiplatform.googleapis.com

授予 IAM 权限

您用于将 BigQuery ML 模型注册到 Model Registry 的服务账号或用户账号必须被授予 Vertex AI Administrator (roles/aiplatform.admin) 角色。如需详细了解 Vertex AI 角色和权限,请参阅使用 IAM 进行访问权限控制

使用以下命令向服务账号授予 Vertex AI Administrator 角色:

gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_EMAIL --role=roles/aiplatform.admin --condition=None

使用以下命令向用户账号授予 Vertex AI Administrator 角色:

gcloud projects add-iam-policy-binding PROJECT_ID --member=user:USER_ACCOUNT --role=roles/aiplatform.admin --condition=None

注册模型

创建 BigQuery ML 模型时,您可以使用 CREATE MODEL 语句中的 MODEL_REGISTRY 选项将模型注册到 Model Registry。CREATE MODEL 语句还包含用于指定模型 ID 的 VERTEX_AI_MODEL_ID 选项,以及用于指定一个或多个模型版本别名的 VERTEX_AI_MODEL_VERSION_ALIASES 选项。您可以使用这些选项来简化部署、管理模型,以及在模型上启用 Vertex Explainable AI Explainable AI

如果您在创建模型时设置 MODEL_REGISTRY 选项,则模型在 BigQuery ML 中完成训练后会自动显示在 Model Registry 中。您可以使用 Google Cloud 控制台 Model Registry 页面中的来源列,查看模型的来源。

BigQuery ML 模型注册后,您可以将 Model Registry 功能与模型搭配使用。您可以将模型部署到端点、比较模型版本、进行预测、监控模型以及查看模型评估结果。此外,如果您想了解哪些特征有助于进行预测,则可以使用 Vertex Explainable AI 获取有关模型的基于特征的说明。

无论是否已向 Model Registry 注册,使用 BigQuery ML 创建的所有模型仍会显示在 BigQuery 界面中。

指定 Vertex AI 模型 ID

为了更轻松地管理模型,请在创建模型时使用 VERTEX_AI_MODEL_ID 选项指定 Vertex AI 模型 ID。模型 ID 与您的 BigQuery ML 模型相关联,并且可在 Model Registry 中看到。

Vertex AI 模型 ID 不接受大写字母。如果您未指定 Vertex AI 模型 ID,则系统会使用 BigQuery ML 模型 ID。在这种情况下,请确保 BigQuery ML 模型 ID 也是小写。如需查看模型 ID 要求的完整列表,请参阅上传参考文档中的规范。

如需更新 Vertex AI 模型 ID,您必须删除该模型,并使用正确的新 Vertex AI 模型 ID 重新创建它。您无法使用 ALTER MODEL 命令更新 Vertex AI 模型 ID。

指定 Vertex AI 模型别名

如需指定模型别名,请在创建模型时指定 VERTEX_AI_MODEL_VERSION_ALIASES 选项。模型别名让您可以通过引用来获取或部署特定的模型版本,而无需知道该特定版本 ID。这种方法类似于 Docker 标记引用或 Git 中的分支引用。

如需详细了解 Model Registry 别名的工作原理,请参阅如何使用模型版本别名

注册多个版本的 BigQuery ML 模型

如果您要在 Model Registry 中创建现有 BigQuery ML 模型的新版本并将其与其他模型进行比较,则在创建该模型时需要指定其他 BigQuery ML 模型 ID,然后将其注册到原始 Model Registry 模型 ID。

如果您创建或替换 BigQuery ML 模型并使用已与 Model Registry 中的模型关联的 BigQuery ML 模型 ID,则现有的 Model Registry 模型版本会被删除并替换为新模型。

将现有 BigQuery ML 模型注册到 Model Registry

BigQuery ML 模型不会自动添加到 Model Registry。您可以使用 ALTER MODEL 语句添加模型 ID 并将模型注册到 Model Registry,还可以更新模型说明和标签等元数据。

如需详细了解如何更新 BigQuery ML 中的模型元数据,请参阅更新模型元数据

如需注册现有模型,请执行以下操作:

SQL

ALTER MODEL [IF EXISTS] <model_name> SET OPTIONS (vertex_ai_model_id="VERTEX_AI_MODEL_ID");

bq

您可以使用 bq 命令行工具更新模型,方法是运行 bq update 命令并为模型指定模型 ID。vertex_model_id 可以是新 ID 或现有的 Model Registry 模型 ID。每个 BigQuery ML 模型只能注册到 Model Registry 中的一个 model_id。

bq update --model --vertex_ai_model_id "VERTEX_AI_MODEL_ID" PROJECT_ID:DATASET.MODEL

API

  1. 转到方法:models.patch
  2. 填写“请求参数”和“请求正文”。
  3. 点击执行按钮。
  {
    "trainingRuns": [
      {
        "vertexAiModelId": "VERTEX_AI_MODEL_ID"
      }
  }
 ```

如果您在注册模型时指定了新的模型 ID,则 BigQuery ML 模型会在 Model Registry 中显示为模型版本 1。如需将模型添加为现有模型的新版本,请指定现有模型的 ID。这样会自动将新模型注册为现有模型的最新版本。

更改已注册 BigQuery ML 模型的 ID

BigQuery ML 模型注册到 Model Registry 后,您便无法更改 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)。对于单区域模型,没有任何变化。

如需了解如何更新模型位置,请参阅选择位置

从 Model Registry 中删除 BigQuery ML 模型

如需从 Model Registry 中删除 BigQuery ML 模型,请在 BigQuery ML 中删除该模型。该模型会自动从 Model Registry 中移除。

您可以通过多种方式删除 BigQuery ML 模型。如需了解详情,请参阅删除模型

如果您要删除已在 Model Registry 中注册并部署到端点的 BigQuery ML 模型,则必须先使用 Model Registry 取消部署该模型。然后,您可以返回 BigQuery ML 并删除模型。如需详细了解如何取消部署模型,请参阅删除端点

后续步骤

借助使用 BigQuery ML 进行在线预测笔记本,使用 BigQuery ML 训练模型,将模型注册到 Model Registry,并将其部署到端点以进行实时预测。