En esta guía, se describen los beneficios y las limitaciones del uso de VM de inicio flexible con la inferencia de Vertex AI. En esta guía, también se describe cómo implementar un modelo que usa VMs de inicio flexible.
Descripción general
Puedes reducir el costo de ejecutar tus trabajos de inferencia con las VMs de inicio flexible, que cuentan con la tecnología del Programador dinámico de cargas de trabajo. Las VMs de inicio flexible ofrecen descuentos significativos y son adecuadas para cargas de trabajo de corta duración.
Puedes especificar cuánto tiempo necesitas una VM de inicio flexible, por cualquier duración de hasta siete días. Una vez que vence el tiempo solicitado, tu modelo implementado se anula automáticamente. También puedes anular la implementación del modelo manualmente antes de que venza el plazo.
Anulación automática de la implementación
Si solicitas una VM con inicio flexible para una duración específica, tu modelo se anulará automáticamente después de ese período. Por ejemplo, si solicitas una VM de inicio flexible por cinco horas, el modelo se anula automáticamente cinco horas después del envío. Solo se te cobra por el tiempo que se ejecuta tu carga de trabajo.
Limitaciones y requisitos
Ten en cuenta las siguientes limitaciones y requisitos cuando uses VMs de inicio flexible:
- Duración máxima: Las VMs de inicio flexible tienen una duración máxima de uso de siete días. Se rechazará cualquier solicitud de implementación por un período más largo.
- Compatibilidad con TPU: No se admite el uso de VMs de flex-start con Pods de TPU.
- Cuota: Asegúrate de tener suficiente cuota preemptible de Vertex AI antes de iniciar el trabajo. Para obtener más información, consulta Cuota.
- Aprovisionamiento en cola: No se admite el uso de VMs de inicio flexible con aprovisionamiento en cola.
- Reciclaje de nodos: No se admite el reciclaje de nodos.
Facturación
Si tu carga de trabajo se ejecuta durante menos de siete días, usar VMs con inicio flexible puede reducir tus costos.
Cuando usas VMs con inicio flexible, se te factura según la duración del trabajo y el tipo de máquina que selecciones. Solo se te cobra por el tiempo que tu carga de trabajo se ejecuta de forma activa. No pagarás por el tiempo que el trabajo esté en una fila ni por el tiempo posterior al vencimiento de la duración solicitada.
La facturación se distribuye en dos SKU:
SKU de Compute Engine, con la etiqueta
vertex-ai-online-prediction
. Consulta los precios del programador dinámico de cargas de trabajo.Es el SKU de la comisión de administración de Vertex AI. Consulta los precios de Vertex AI.
Obtén inferencias con VMs de inicio flexible
Para usar VMs de inicio flexible cuando implementas un modelo para obtener inferencias, puedes usar la API de REST.
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.
- 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 máquina que se usan para cada nodo de esta implementación. Su configuración predeterminada es
n1-standard-2
. Obtén más información sobre los tipos de máquinas. - ACCELERATOR_TYPE: Opcional Es el tipo de acelerador que se conectará a la máquina. Obtén más información.
- ACCELERATOR_COUNT: Opcional Es la cantidad de aceleradores que usa cada réplica.
-
MAX_RUNTIME_DURATION: Es la duración máxima de la implementación flexible.
El modelo implementado se desimplementa automáticamente después de este período. Especifica la duración en segundos, que termina con un
s
. Por ejemplo,3600s
para una hora. El valor máximo es604800s
(7 días). - PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
HTTP method and URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Cuerpo JSON de la solicitud:
{ "deployedModel": { "model": "projects/PROJECT/locations/LOCATION/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "enableContainerLogging": true, "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": ACCELERATOR_COUNT }, "flexStart": { "maxRuntimeDuration": "MAX_RUNTIME_DURATION" }, "minReplicaCount": 2, "maxReplicaCount": 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.v1beta1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }