Gestionar modelos de BigQuery ML en Vertex AI

Puedes registrar modelos de BigQuery ML en Vertex AI Model Registry para gestionarlos junto con tus modelos de Vertex AI sin necesidad de exportarlos. Cuando registras modelos en Model Registry, puedes crear versiones, evaluar y desplegar los modelos para hacer predicciones online mediante una sola interfaz y sin necesidad de un contenedor de servicio. Si no conoces Vertex AI y cómo se integra con BigQuery ML, consulta el artículo Vertex AI para usuarios de BigQuery.

Para obtener más información sobre la predicción de Vertex AI, consulta el resumen sobre cómo obtener predicciones en Vertex AI.

Para saber cómo gestionar tus modelos de BigQuery ML desde Vertex AI Model Registry, consulta el artículo Introducción a Vertex AI Model Registry.

Antes de empezar

Enable the Vertex AI API.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Permisos obligatorios

Para obtener los permisos que necesitas para registrar modelos de BigQuery ML en Model Registry, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Vertex AI Administrator (roles/aiplatform.admin) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Registrar modelos

Cuando creas un modelo de BigQuery ML, puedes registrarlo en Model Registry de las siguientes formas:

  • En la Google Cloud consola, selecciona el modelo en el panel Explorador y, a continuación, haz clic en Registrar en la pestaña Registro. Vista previa
  • Usa la instrucción CREATE MODEL. En la instrucción CREATE MODEL, puede usar las siguientes opciones para registrar el modelo en el registro de modelos:

    • MODEL_REGISTRY: registra el modelo en el registro de modelos.
    • VERTEX_AI_MODEL_ID: especifica un ID de modelo que se usará para el modelo en el registro de modelos. El ID del modelo está asociado a tu modelo de BigQuery ML y se puede ver en Model Registry. Cada modelo de BigQuery ML solo se puede registrar con un ID de modelo en Model Registry.
    • VERTEX_AI_MODEL_VERSION_ALIASES: especifica uno o varios alias de versión del modelo, que puedes usar para optimizar el despliegue, gestionar modelos y habilitar Vertex Explainable AI en los modelos.

    Si seleccionas la opción MODEL_REGISTRY al crear un modelo, este se registrará en Model Registry y se mostrará automáticamente allí una vez que se haya completado el entrenamiento en BigQuery ML. Puedes usar la columna Fuente de la página Registro de modelos de la consola deGoogle Cloud para ver de dónde procede un modelo.

Una vez que se ha registrado un modelo de BigQuery ML, puedes usar las siguientes funciones de Model Registry con tu modelo:

Todos los modelos creados con BigQuery ML se siguen mostrando en la interfaz de usuario de BigQuery, independientemente de si están registrados en el registro de modelos.

En el siguiente ejemplo se muestra cómo crear y registrar un modelo k-medias:

CREATE OR REPLACE MODEL `mydataset.my_kmeans_model`
  MODEL_TYPE = 'KMEANS',
  MODEL_REGISTRY = 'VERTEX_AI',
  VERTEX_AI_MODEL_ID = 'customer_clustering';

Registrar un modelo de BigQuery ML en Model Registry

Si no registras un modelo en Vertex AI cuando lo creas, puedes usar SQL, la herramienta de línea de comandos bq o la API de BigQuery para registrarlo más adelante.

En los siguientes ejemplos se muestra cómo registrar un modelo ya creado:

Consola

  1. Ve a la página BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, busque el modelo que quiera registrar.

  3. Haz clic en el nombre del modelo para abrir el panel de detalles del modelo.

  4. En el panel de detalles del modelo, selecciona la pestaña Registro.

  5. Haz clic en Registrarse.

  6. En el panel Registrar modelo en el registro de modelos de Vertex, haga una de las siguientes acciones:

    • Selecciona Registrar como modelo nuevo. En Nombre del modelo, escriba el nombre del modelo.

    • Selecciona Registrar como una versión nueva de otro modelo.

      1. En Nombre del modelo, escribe el nombre del modelo.
      2. Opcional. Si quieres usar un alias de versión, selecciona Alias de versión y, a continuación, escribe un nombre de alias de versión.
  7. Haz clic en Registrarse.

SQL

Usa la instrucción ALTER MODEL:

ALTER MODEL IF EXISTS mymodel SET OPTIONS (vertex_ai_model_id='my_vertex_ai_model_id');

bq

Usa el comando bq update con la marca --model:

  bq update --model --vertex_ai_model_id 'my_vertex_ai_model_id' myproject:mydataset.mymodel

API

Usa el método models.patch. Envía un Model objeto que contenga un trainingRuns objeto con un campo vertexAiModelId rellenado:

{
  "trainingRuns": [
    {
      "vertexAiModelId": my_vertex_ai_model_id
    }
}

Registrar varias versiones de modelos de BigQuery ML

El primer modelo de BigQuery ML que registres con un ID de modelo determinado se mostrará como la versión 1 de ese modelo en Model Registry. Puedes registrar modelos de BigQuery ML adicionales como versiones diferentes del modelo registrado especificando el mismo ID de modelo de Vertex AI al crear o modificar esos modelos de BigQuery ML.

Por ejemplo, puedes crear model1 en BigQuery ML y registrarlo en Model Registry como regression_model. model1 se muestra como la versión 1 de regression_model en el registro de modelos. Si creas model2 en BigQuery ML y lo registras en Model Registry como regression_model, model2 se mostrará como la versión 2 de regression_model en Model Registry.

Si creas o sustituyes un modelo de BigQuery ML y usas un nombre de modelo de BigQuery ML que ya esté asociado a un modelo en Model Registry, la versión del modelo de Model Registry se eliminará y se sustituirá por el nuevo modelo. Siguiendo el ejemplo anterior, si creas o sustituyes model2 en BigQuery ML mediante la instrucción CREATE OR REPLACE MODEL con las opciones MODEL_REGISTRY y VERTEX_AI_MODEL_ID, se sustituirá la versión 2 de regression_model en Model Registry y se mostrarán las versiones 1 y 3 del modelo regression_model.

Cambiar el ID de un modelo de BigQuery ML registrado

Una vez que se registra un modelo de BigQuery ML en Model Registry, no se puede cambiar el valor de VERTEX_AI_MODEL_ID. Para registrar el modelo con un nuevo VERTEX_AI_MODEL_ID, utilice una de las siguientes opciones:

  • Elimina el modelo y vuelve a crearlo. Para ello, especifica un nuevo valor para la opción VERTEX_AI_MODEL_ID. Este enfoque conlleva costes de reentrenamiento.

  • Copia el modelo y, a continuación, usa la instrucción ALTER MODEL para registrar el nuevo modelo con un nuevo valor de VERTEX_AI_MODEL_ID.

Consideraciones de ubicación

Si registras un modelo multirregional de BigQuery ML en Model Registry, el modelo se convierte en un modelo regional en Vertex AI. Un modelo multirregión de EE. UU. de BigQuery ML se sincroniza con Vertex AI (us-central1) y un modelo multirregión de la UE de BigQuery ML se sincroniza con Vertex AI (europe-west4). En el caso de los modelos de una sola región, no hay cambios.

Para obtener información sobre cómo actualizar las ubicaciones de los modelos, consulta Elegir tu ubicación.

Desplegar un modelo en Vertex AI

Puedes usar varios métodos para desplegar un modelo en un endpoint de Vertex AI. Para obtener más información, consulta Implementar un modelo en un endpoint.

Eliminar modelos de BigQuery ML de Model Registry

Para eliminar un modelo de BigQuery ML de Model Registry, elimínelo en BigQuery ML. El modelo se elimina automáticamente del registro de modelos.

Hay varias formas de eliminar un modelo de BigQuery ML. Para obtener más información, consulta Eliminar modelos.

Si quieres eliminar un modelo de BigQuery ML que se ha registrado en Model Registry y se ha implementado en un endpoint, primero debes usar Model Registry para retirar la implementación del modelo. Después, puedes volver a BigQuery ML y eliminar el modelo. Para obtener más información sobre cómo retirar un modelo, consulta Eliminar un endpoint.

Limitaciones