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.
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ónCREATE 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:
- Desplegar el modelo en un endpoint
- Comparar versiones de modelos
- Obtener predicciones
- Monitorizar el modelo
- Ver evaluaciones de modelos
- Obtener explicaciones basadas en características del 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
Ve a la página BigQuery.
En el panel Explorador, busque el modelo que quiera registrar.
Haz clic en el nombre del modelo para abrir el panel de detalles del modelo.
En el panel de detalles del modelo, selecciona la pestaña Registro.
Haz clic en Registrarse.
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.
- En Nombre del modelo, escribe el nombre del modelo.
- 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.
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 deVERTEX_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
No puedes registrar modelos remotos.
Los siguientes modelos se pueden registrar en el registro de modelos, pero no se pueden desplegar en Vertex AI: