En esta guía, se describe cómo importar modelos a Model Registry. Después de importar el modelo, se puede ver en Model Registry. Desde Model Registry, puedes implementar el modelo importado en un extremo y ejecutar predicciones.
Roles obligatorios
A fin de obtener los permisos que necesitas para importar modelos, pídele a tu administrador que te otorgue el rol de IAM Usuario de Vertex AI (roles/aiplatform.user
) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Contenedores compilados previamente o personalizados
Cuando importas un modelo, lo asocias con un contenedor para que Vertex AI ejecute solicitudes de predicción. Puedes usar contenedores prediseñados proporcionados por Vertex AI o usar tus propios contenedores personalizados que compilas y envías a Artifact Registry.
Puedes usar un contenedor previamente compilado si tu modelo cumple con los siguientes requisitos:
- Se entrenó en Python 3.7 o versiones posteriores
- Se entrenó con TensorFlow, PyTorch, scikit-learn o XGBoost
- Se exporta para cumplir con los requisitos específicos del framework para uno de los contenedores de predicción compilados previamente
Si importas un modelo tabular de AutoML que exportaste antes, debes usar un contenedor personalizado específico que proporciona Vertex AI.
De lo contrario, crea un nuevo contenedor personalizado o usa un contenedor personalizado existente que tengas en Artifact Registry.
Sube artefactos de modelos en Cloud Storage
Debes almacenar los artefactos de tu modelo en un bucket de Cloud Storage, en el que la región del depósito coincida con el extremo regional que estás usando.
Si tu bucket de Cloud Storage está en un proyecto de Google Cloud diferente, debes otorgar acceso a Vertex AI para leer los artefactos de tu modelo.
Si usas un contenedor previamente compilado, asegúrate de que los artefactos de tu modelo tengan nombres de archivo que coincidan de manera exacta con los siguientes ejemplos:
- Modelo guardado de TensorFlow:
saved_model.pb
- PyTorch:
model.mar
- scikit-learn:
model.joblib
omodel.pkl
- XGBoost:
model.bst
,model.joblib
omodel.pkl
Obtén más información a fin de exportar artefactos del modelo para la predicción.
Importa un modelo con la consola de Google Cloud
Para importar un modelo con la consola de Google Cloud, haz lo siguiente:
En la consola de Google Cloud, ve a la página Modelos de Vertex AI.
Haz clic en Importar.
Selecciona Importar como modelo nuevo para importar un modelo nuevo.
Selecciona Importar como versión nueva para importar un modelo como una versión de un modelo existente. Para obtener más información sobre el control de versiones de modelos, consulta Control de versiones de modelos.
Nombre y región: ingresa un nombre para el modelo. Selecciona la región que coincida con la región de tu bucket y el extremo regional de Vertex AI que uses. Haga clic en Continuar.
Si expandes Opciones avanzadas, tienes la opción de agregar una clave de encriptación administrada por el cliente.
Según el tipo de contenedor que uses, selecciona la pestaña correspondiente que se encuentra a continuación.
Contenedor previamente compilado
Selecciona Importar artefactos del modelo en un contenedor precompilado nuevo.
Selecciona el framework del modelo y la versión del framework del modelo que usaste para entrenar tu modelo.
Si deseas usar GPU para entregar predicciones, establece el tipo de acelerador en GPU.
Selecciona el tipo de GPU más adelante, cuando implementes el modelo en un extremo.
Especifica la ruta de Cloud Storage al directorio que contiene los artefactos de tu modelo.
Por ejemplo,
gs://BUCKET_NAME/models/
.Deja en blanco el esquema de predicción.
Para importar el modelo sin la configuración de Vertex Explainable AI, haz clic en Importar.
Una vez que se complete la importación, tu modelo aparecerá en la página Modelos.
De lo contrario, sigue configurando tu modelo. Para ello, ingresa tu configuración de explicación en la pestaña Explicabilidad. Obtén más información sobre la configuración de explicabilidad.
Contenedor personalizado
Selecciona Importar un contenedor personalizado existente.
Configura el URI de la imagen del contenedor.
Si deseas proporcionar artefactos de modelo además de una imagen de contenedor, especifica la ruta de Cloud Storage al directorio que contiene los artefactos de tu modelo.
Por ejemplo,
gs://BUCKET_NAME/models/
.Especifica los valores de cualquiera de los otros campos.
Obtén más información sobre estos campos opcionales.
Para importar el modelo sin la configuración de Vertex Explainable AI, haz clic en Importar.
Una vez que se complete la importación, tu modelo aparecerá en la página Modelos.
De lo contrario, sigue configurando tu modelo. Para ello, ingresa tu configuración de explicación en la pestaña Explicabilidad. Obtén más información sobre la configuración de explicabilidad.
Contenedor tabular de AutoML
Selecciona Importar un contenedor personalizado existente.
En el campo Imagen de contenedor, ingresa
MULTI_REGION-docker.pkg.dev/vertex-ai/automl-tabular/prediction-server-v1:latest
.Reemplaza
MULTI_REGION
porus
,europe
oasia
para seleccionar el repositorio de Docker desde el que deseas extraer la imagen de Docker. Cada repositorio proporciona la misma imagen de Docker, pero elegir la multirregión de Artifact Registry más cercana a la máquina en la que ejecutas Docker puede reducir la latencia.En el campo Ubicación del paquete, especifica la ruta de acceso de Cloud Storage al directorio que contiene los artefactos del modelo.
La ruta de acceso es similar a la del siguiente ejemplo:
gs://BUCKET_NAME/models-MODEL_ID/tf-saved-model/TIMESTAMP/
Deja todos los otros campos en blanco.
Haz clic en Importar.
Una vez que se complete la importación, tu modelo aparecerá en la página Modelos. Puedes usar este modelo como otros modelos tabulares de AutoML, pero los modelos tabulares de AutoML importados no admiten Vertex Explainable AI.
Importa un modelo de manera programática
En los siguientes ejemplos, se muestra cómo importar un modelo mediante varias herramientas:
gcloud
En el siguiente ejemplo, se usa el comando gcloud ai models upload
:
gcloud ai models upload \
--region=LOCATION \
--display-name=MODEL_NAME \
--container-image-uri=IMAGE_URI \
--artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Reemplaza lo siguiente:
- LOCATION_ID: la región en la que usas Vertex AI.
-
MODEL_NAME: Un nombre visible para
Model
. -
IMAGE_URI: el URI de la imagen de contenedor que se usará para entregar predicciones. Por ejemplo,
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest
Usa un contenedor previamente compilado o un contenedor personalizado. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: El URI de Cloud Storage (que comienza con
gs://
) de un directorio en Cloud Storage que contiene los artefactos del modelo.
En el ejemplo anterior, se muestran todas las marcas necesarias para importar la mayoría de los modelos. Si no usas un contenedor previamente compilado para la predicción, es probable que debas especificar algunas marcas opcionales adicionales a fin de que Vertex AI pueda usar tu imagen de contenedor. Estas marcas, que comienzan con --container-
, corresponden a los campos de containerSpec
del Model
.
REST
Usa la siguiente muestra de código para subir un modelo con el método upload
del recurso model
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION_ID: la región en la que usas Vertex AI.
- PROJECT_ID: El ID del proyecto.
-
MODEL_NAME: Un nombre visible para
Model
. - MODEL_DESCRIPTION: Opcional Es una descripción del modelo.
-
IMAGE_URI: el URI de la imagen de contenedor que se usará para entregar predicciones. Por ejemplo,
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest
Usa un contenedor previamente compilado o un contenedor personalizado. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY: El URI de Cloud Storage (que comienza con
gs://
) de un directorio en Cloud Storage que contiene los artefactos del modelo. Esta variable y el campoartifactUri
son opcionales si usas un contenedor personalizado. labels
: Opcional Cualquier conjunto de pares clave-valor para organizar tus modelos. Por ejemplo:- "env": "prod"
- "tier": "backend"
- Especifica LABEL_NAME y LABEL_VALUE para las etiquetas que deseas aplicar a esta canalización de entrenamiento.
Método HTTP y URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload
Cuerpo JSON de la solicitud:
{ "model": { "displayName": "MODEL_NAME", "predictSchemata": {}, "containerSpec": { "imageUri": "IMAGE_URI" }, "artifactUri": "PATH_TO_MODEL_ARTIFACT_DIRECTORY", "labels": { "LABEL_NAME_1": "LABEL_VALUE_1", "LABEL_NAME_2": "LABEL_VALUE_2" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload" | Select-Object -Expand Content
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Para importar un modelo con la configuración de Vertex Explainable AI habilitada, consulta los ejemplos de importación de Vertex Explainable AI.
Obtén el estado de la operación
Algunas solicitudes inician operaciones de larga duración que requieren tiempo para completarse. Estas solicitudes devuelven un nombre de operación que puedes usar para ver el estado de la operación o cancelarla. Vertex AI proporciona métodos auxiliares para hacer llamadas en operaciones de larga duración. Para obtener más información, consulta Trabaja con operaciones de larga duración.
Limitaciones
- El tamaño máximo admitido del modelo es de 10 GiB.
¿Qué sigue?
- Implementa tu modelo en un extremo, de manera programática o mediante la consola de Google Cloud.