En esta página, se describe cómo usar la API de Vertex AI para implementar un modelo en un extremo.
Introducción
Debes implementar un modelo en un extremo antes de que se pueda usar para entregar predicciones en línea. La implementación de un modelo asocia los recursos físicos con el modelo para que pueda entregar predicciones en línea con baja latencia. Un modelo sin implementar puede entregar predicciones por lotes, que no tienen los mismos requisitos de baja latencia.
Puedes implementar más de un modelo en un extremo y puedes implementar un modelo en más de un extremo. Si deseas obtener más información sobre las opciones y los casos de uso para implementar modelos, consulta Acerca de la implementación de modelos.
No puedes implementar un modelo de video en un extremo. Los modelos de video no entregan predicciones en línea.
Para obtener ayuda con la implementación de un modelo mediante la consola de Google Cloud, consulta Implementa un modelo mediante la consola de Google Cloud.
Implementar un modelo
Cuando implementas un modelo con la API de Vertex AI, realiza los siguientes pasos:
- Crea un extremo si es necesario.
- Obtén el ID de extremo.
- Implementa el modelo en el extremo.
Crear un extremo
Si implementas un modelo en un extremo existente, puedes omitir este paso.
gcloud
En el siguiente ejemplo, se usa el comando gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
Reemplaza lo siguiente:
- LOCATION: la región en la que usas Vertex AI.
- ENDPOINT_NAME: el nombre visible del extremo.
La herramienta de la CLI de Google Cloud puede tardar unos segundos en crear el extremo.
LÍNEA DE REST Y CMD
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Tu región.
- PROJECT: ID del proyecto
- ENDPOINT_NAME: el nombre visible del extremo.
- PROJECT_NUMBER: es el número de tu proyecto.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints
Cuerpo JSON de la solicitud:
{ "display_name": "ENDPOINT_NAME" }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
.
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Node.js
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Recupera el ID de extremo
Necesitas el ID de extremo para implementar el modelo.
gcloud
En el siguiente ejemplo, se usa el comando gcloud ai endpoints list
:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
Reemplaza lo siguiente:
- LOCATION: la región en la que usas Vertex AI.
- ENDPOINT_NAME: el nombre visible del extremo.
Toma nota del número que aparece en la columna ENDPOINT_ID
. Usa este ID en el paso siguiente.
LÍNEA DE REST Y CMD
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Tu región.
- PROJECT: ID del proyecto
- ENDPOINT_NAME: el nombre visible del extremo.
- PROJECT_NUMBER: es el número de tu proyecto.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints?filter=display_name=ENDPOINT_NAME
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/us-central1/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
Implementa el modelo
Selecciona el tipo de modelo a continuación:
Entrenamiento personalizado
Selecciona la pestaña correspondiente a tu idioma o entorno:
gcloud
En los siguientes ejemplos se usa el comando gcloud ai endpoints deploy-model
.
En el siguiente ejemplo, se implementa un Model
en un Endpoint
sin usar GPU para acelerar la entrega de predicciones y sin dividir el tráfico entre varios recursos DeployedModel
:
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- ENDPOINT_ID: Es el ID del extremo.
- LOCATION: la región en la que usas Vertex AI.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. -
MACHINE_TYPE: Opcional Los recursos de la máquina que se usarán para cada nodo de esta implementación. La configuración predeterminada es
n1-standard-2
. Obtén más información sobre los tipos de máquinas. -
MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número.
El valor debe ser mayor o igual a 1. Si se omite la marca
--min-replica-count
, el valor predeterminado es 1. -
MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
Si omites la marca
--max-replica-count
, la cantidad máxima de nodos se establece en el valor de--min-replica-count
.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Divide el tráfico
La marca --traffic-split=0=100
en los ejemplos anteriores envía el 100% del tráfico de predicción que Endpoint
recibe al nuevo DeployedModel
, que se representa mediante el ID temporal 0
. Si tu Endpoint
ya tiene otros recursos DeployedModel
, puedes dividir el tráfico entre el DeployedModel
nuevo y los anteriores.
Por ejemplo, para enviar el 20% del tráfico al DeployedModel
nuevo y el 80% a uno anterior, ejecuta el siguiente comando.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- OLD_DEPLOYED_MODEL_ID: Es el ID del
DeployedModel
existente.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Especifica las GPU
De forma opcional, puedes usar GPU en cada nodo de tu DeployedModel
para acelerar las predicciones de entrega. Sin embargo, las GPU solo son útiles para ciertos tipos de modelo de aprendizaje automático.
Obtén información sobre cuándo usar GPU y qué configuraciones de GPU funcionan con cada tipo de máquina.
Usa la marca --accelerator
para especificar qué tipo de GPU usar y cuántas GPU deseas que use cada réplica. Por ejemplo, para usar 2 GPU NVIDIA Tesla T4 en cada nodo, ejecuta el siguiente comando:
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --accelerator=count=2,type=nvidia-tesla-t4 \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --accelerator=count=2,type=nvidia-tesla-t4 ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --accelerator=count=2,type=nvidia-tesla-t4 ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Si usas GPU, tu DeployedModel
no se escala automáticamente según el tráfico de predicción. En su lugar, siempre se ejecuta en la cantidad de nodos especificados con la marca --min-replica-count
.
LÍNEA DE REST Y CMD
Implementar el modelo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: la región en la que usas Vertex AI.
- PROJECT: ID del proyecto
- ENDPOINT_ID: Es el ID del extremo.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. -
MACHINE_TYPE: Opcional Los recursos de la máquina que se usarán para cada nodo de esta implementación. La configuración predeterminada es
n1-standard-2
. Obtén más información sobre los tipos de máquinas. - ACCELERATOR_TYPE: El tipo de acelerador que se adjuntará a la máquina. Es opcional si no se especifica ACCELERATOR_COUNT o es cero. No recomendado para modelos de AutoML ni modelos personalizados con entrenamiento personalizado que usan imágenes que no son de GPU. Más información.
- ACCELERATOR_COUNT: La cantidad de aceleradores que usa cada réplica. Opcional. Debe ser cero o no especificado para los modelos de AutoML o los modelos de entrenamiento personalizado que usan imágenes que no son de GPU.
- MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número. El valor debe ser mayor o igual a 1.
- MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
- TRAFFIC_SPLIT_THIS_MODEL: El porcentaje del tráfico de predicción a este extremo para enrutar al modelo que se implementa con esta operación. La configuración predeterminada es 100. Todos los porcentajes de tráfico deben sumar hasta 100. Obtén más información sobre las divisiones del tráfico.
- DEPLOYED_MODEL_ID_N: Opcional Si se implementan otros modelos en este extremo, debes actualizar sus porcentajes de división del tráfico para que todos los porcentajes sumen hasta 100.
- TRAFFIC_SPLIT_MODEL_N: El valor de porcentaje de división del tráfico para la clave del ID del modelo implementado
- PROJECT_NUMBER: es el número de tu proyecto.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Cuerpo JSON de la solicitud:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Obtén más información a fin de cambiar la configuración predeterminada para el registro de predicción.
AutoML Image
Selecciona la pestaña correspondiente a tu idioma o entorno:
gcloud
En los siguientes ejemplos se usa el comando gcloud ai endpoints deploy-model
.
En el siguiente ejemplo, se implementa un Model
en un Endpoint
sin dividir el tráfico entre varios recursos DeployedModel
:
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- ENDPOINT_ID: Es el ID del extremo.
- LOCATION: la región en la que usas Vertex AI.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. - MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número.
-
MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
Si omites la marca
--max-replica-count
, la cantidad máxima de nodos se establece en el valor de--min-replica-count
.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Divide el tráfico
La marca --traffic-split=0=100
en los ejemplos anteriores envía el 100% del tráfico de predicción que Endpoint
recibe al nuevo DeployedModel
, que se representa mediante el ID temporal 0
. Si tu Endpoint
ya tiene otros recursos DeployedModel
, puedes dividir el tráfico entre el DeployedModel
nuevo y los anteriores.
Por ejemplo, para enviar el 20% del tráfico al DeployedModel
nuevo y el 80% a uno anterior, ejecuta el siguiente comando.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- OLD_DEPLOYED_MODEL_ID: Es el ID del
DeployedModel
existente.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
LÍNEA DE REST Y CMD
Implementar el modelo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: la región en la que usas Vertex AI.
- PROJECT: ID del proyecto
- ENDPOINT_ID: Es el ID del extremo.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. - MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número.
- MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
- TRAFFIC_SPLIT_THIS_MODEL: El porcentaje del tráfico de predicción a este extremo para enrutar al modelo que se implementa con esta operación. La configuración predeterminada es 100. Todos los porcentajes de tráfico deben sumar hasta 100. Obtén más información sobre las divisiones del tráfico.
- DEPLOYED_MODEL_ID_N: Opcional Si se implementan otros modelos en este extremo, debes actualizar sus porcentajes de división del tráfico para que todos los porcentajes sumen hasta 100.
- TRAFFIC_SPLIT_MODEL_N: El valor de porcentaje de división del tráfico para la clave del ID del modelo implementado
- PROJECT_NUMBER: es el número de tu proyecto.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Cuerpo JSON de la solicitud:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Node.js
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Obtén más información a fin de cambiar la configuración predeterminada para el registro de predicción.
Tabular de AutoML
Selecciona la pestaña correspondiente a tu idioma o entorno:
gcloud
En los siguientes ejemplos se usa el comando gcloud ai endpoints deploy-model
.
En el siguiente ejemplo, se implementa un Model
en un Endpoint
sin usar GPU para acelerar la entrega de predicciones y sin dividir el tráfico entre varios recursos DeployedModel
:
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- ENDPOINT_ID: Es el ID del extremo.
- LOCATION: la región en la que usas Vertex AI.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. -
MACHINE_TYPE: Opcional Los recursos de la máquina que se usarán para cada nodo de esta implementación. La configuración predeterminada es
n1-standard-2
. Obtén más información sobre los tipos de máquinas. -
MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número.
El valor debe ser mayor o igual a 1. Si se omite la marca
--min-replica-count
, el valor predeterminado es 1. -
MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
Si omites la marca
--max-replica-count
, la cantidad máxima de nodos se establece en el valor de--min-replica-count
.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Divide el tráfico
La marca --traffic-split=0=100
en los ejemplos anteriores envía el 100% del tráfico de predicción que Endpoint
recibe al nuevo DeployedModel
, que se representa mediante el ID temporal 0
. Si tu Endpoint
ya tiene otros recursos DeployedModel
, puedes dividir el tráfico entre el DeployedModel
nuevo y los anteriores.
Por ejemplo, para enviar el 20% del tráfico al DeployedModel
nuevo y el 80% a uno anterior, ejecuta el siguiente comando.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- OLD_DEPLOYED_MODEL_ID: Es el ID del
DeployedModel
existente.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
LÍNEA DE REST Y CMD
Implementar el modelo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: la región en la que usas Vertex AI.
- PROJECT: ID del proyecto
- ENDPOINT_ID: Es el ID del extremo.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. -
MACHINE_TYPE: Opcional Los recursos de la máquina que se usarán para cada nodo de esta implementación. La configuración predeterminada es
n1-standard-2
. Obtén más información sobre los tipos de máquinas. - ACCELERATOR_TYPE: El tipo de acelerador que se adjuntará a la máquina. Es opcional si no se especifica ACCELERATOR_COUNT o es cero. No recomendado para modelos de AutoML ni modelos personalizados con entrenamiento personalizado que usan imágenes que no son de GPU. Más información.
- ACCELERATOR_COUNT: La cantidad de aceleradores que usa cada réplica. Opcional. Debe ser cero o no especificado para los modelos de AutoML o los modelos de entrenamiento personalizado que usan imágenes que no son de GPU.
- MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número. El valor debe ser mayor o igual a 1.
- MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
- TRAFFIC_SPLIT_THIS_MODEL: El porcentaje del tráfico de predicción a este extremo para enrutar al modelo que se implementa con esta operación. La configuración predeterminada es 100. Todos los porcentajes de tráfico deben sumar hasta 100. Obtén más información sobre las divisiones del tráfico.
- DEPLOYED_MODEL_ID_N: Opcional Si se implementan otros modelos en este extremo, debes actualizar sus porcentajes de división del tráfico para que todos los porcentajes sumen hasta 100.
- TRAFFIC_SPLIT_MODEL_N: El valor de porcentaje de división del tráfico para la clave del ID del modelo implementado
- PROJECT_NUMBER: es el número de tu proyecto.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Cuerpo JSON de la solicitud:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Obtén más información a fin de cambiar la configuración predeterminada para el registro de predicción.
AutoML Text
Selecciona la pestaña correspondiente a tu idioma o entorno:
gcloud
En los siguientes ejemplos se usa el comando gcloud ai endpoints deploy-model
.
En el siguiente ejemplo, se implementa un Model
en un Endpoint
sin dividir el tráfico entre varios recursos DeployedModel
:
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- ENDPOINT_ID: Es el ID del extremo.
- LOCATION: la región en la que usas Vertex AI.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. - MIN_REPLICA_COUNT: La cantidad mínima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, hasta la cantidad máxima de nodos, pero nunca será inferior a este número.
-
MAX_REPLICA_COUNT: La cantidad máxima de nodos para esta implementación. El recuento de nodos se puede aumentar o disminuir según sea necesario por la carga de predicción, pero nunca excederá el máximo.
Si omites la marca
--max-replica-count
, la cantidad máxima de nodos se establece en el valor de--min-replica-count
.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --traffic-split=0=100
Divide el tráfico
La marca --traffic-split=0=100
en los ejemplos anteriores envía el 100% del tráfico de predicción que Endpoint
recibe al nuevo DeployedModel
, que se representa mediante el ID temporal 0
. Si tu Endpoint
ya tiene otros recursos DeployedModel
, puedes dividir el tráfico entre el DeployedModel
nuevo y los anteriores.
Por ejemplo, para enviar el 20% del tráfico al DeployedModel
nuevo y el 80% a uno anterior, ejecuta el siguiente comando.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- OLD_DEPLOYED_MODEL_ID: Es el ID del
DeployedModel
existente.
Ejecuta el comando gcloud ai endpoints deploy-model:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
LÍNEA DE REST Y CMD
Implementar el modelo.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: la región en la que usas Vertex AI.
- PROJECT: ID del proyecto
- ENDPOINT_ID: Es el ID del extremo.
- MODEL_ID: El ID del modelo que se implementará.
-
DEPLOYED_MODEL_NAME: Un nombre para
DeployedModel
También puedes usar el nombre comercial deModel
paraDeployedModel
. - TRAFFIC_SPLIT_THIS_MODEL: El porcentaje del tráfico de predicción a este extremo para enrutar al modelo que se implementa con esta operación. La configuración predeterminada es 100. Todos los porcentajes de tráfico deben sumar hasta 100. Obtén más información sobre las divisiones del tráfico.
- DEPLOYED_MODEL_ID_N: Opcional Si se implementan otros modelos en este extremo, debes actualizar sus porcentajes de división del tráfico para que todos los porcentajes sumen hasta 100.
- TRAFFIC_SPLIT_MODEL_N: El valor de porcentaje de división del tráfico para la clave del ID del modelo implementado
- PROJECT_NUMBER: es el número de tu proyecto.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Cuerpo JSON de la solicitud:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Node.js
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Vertex AI, consulta las bibliotecas cliente de Vertex AI. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Obtén el estado de la operación
Algunas solicitudes inician operaciones de larga duración que requieren tiempo para completarse. Estas solicitudes muestran 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 realizar llamadas en operaciones de larga duración. Para obtener más información, consulta Trabaja con operaciones de larga duración.
¿Qué sigue?
- Solicita predicciones en línea de tu modelo de AutoML mediante la API.
No es compatible con los videos. Solicita predicciones en línea de tu modelo de entrenamiento personalizado.