Vertex AI asigna nodos para gestionar las inferencias online y por lotes.
Cuando despliegas un modelo entrenado personalizado o un modelo de AutoML en un Endpoint
recurso para ofrecer inferencias online o cuando solicitas inferencias por lotes, puedes personalizar el tipo de máquina virtual que utiliza el servicio de inferencia para estos nodos. También puedes configurar los nodos de inferencia para que usen GPUs.
Los tipos de máquina se diferencian en varios aspectos:
- Número de CPUs virtuales (vCPUs) por nodo
- Cantidad de memoria por nodo
- Precios
Si seleccionas un tipo de máquina con más recursos de computación, puedes ofrecer inferencias con una latencia más baja o gestionar más solicitudes de inferencia al mismo tiempo.
Gestionar costes y disponibilidad
Para ayudar a gestionar los costes o asegurar la disponibilidad de los recursos de las VMs, Vertex AI ofrece lo siguiente:
Para asegurarte de que los recursos de VM estén disponibles cuando los necesiten tus tareas de inferencia, puedes usar reservas de Compute Engine. Las reservas ofrecen un alto nivel de garantía a la hora de obtener capacidad para los recursos de Compute Engine. Para obtener más información, consulta Usar reservas con inferencia.
Para reducir el coste de ejecutar tus trabajos de inferencia, puedes usar VMs de acceso puntual. Las VMs de aprovisionamiento esporádico son instancias de máquina virtual (VM) que corresponden a la capacidad excedente de Compute Engine. Las Spot VMs tienen descuentos significativos, pero Compute Engine puede detener o eliminar de forma preventiva las Spot VMs para recuperar la capacidad en cualquier momento. Para obtener más información, consulta el artículo sobre cómo usar VMs de acceso puntual con inferencias.
Dónde especificar los recursos de computación
Inferencia online
Si quieres usar un modelo entrenado de forma personalizada o un modelo tabular de AutoML para ofrecer inferencias online, debes especificar un tipo de máquina al desplegar el recurso Model
como DeployedModel
en un Endpoint
. En el caso de otros tipos de modelos de AutoML, Vertex AI configura los tipos de máquina automáticamente.
Especifica el tipo de máquina (y, opcionalmente, la configuración de la GPU) en el campo dedicatedResources.machineSpec
de tu DeployedModel
.
Consulte cómo desplegar cada tipo de modelo:
- Desplegar un modelo tabular de AutoML en la Google Cloud consola
- Desplegar un modelo con entrenamiento personalizado en la Google Cloud consola
- Desplegar un modelo entrenado de forma personalizada con bibliotecas de cliente
Inferencia por lotes
Si quieres obtener inferencias por lotes de un modelo entrenado personalizado o de un modelo tabular de AutoML, debes especificar un tipo de máquina al crear un recurso BatchPredictionJob
. Especifica el tipo de máquina (y, opcionalmente, la configuración de la GPU) en el campo dedicatedResources.machineSpec
de tu BatchPredictionJob
.
Tipos de máquina
En la siguiente tabla se comparan los tipos de máquinas disponibles para ofrecer inferencias de modelos tabulares de AutoML y modelos entrenados personalizados:
Serie E2
Nombre | vCPUs | Memoria (GB) |
---|---|---|
e2-standard-2 |
2 | 8 |
e2-standard-4 |
4 | 16 |
e2-standard-8 |
8 | 32 |
e2-standard-16 |
16 | 64 |
e2-standard-32 |
32 | 128 |
e2-highmem-2 |
2 | 16 |
e2-highmem-4 |
4 | 32 |
e2-highmem-8 |
8 | 64 |
e2-highmem-16 |
16 | 128 |
e2-highcpu-2 |
2 | 2 |
e2-highcpu-4 |
4 | 4 |
e2-highcpu-8 |
8 | 8 |
e2-highcpu-16 |
16 | 16 |
e2-highcpu-32 |
32 | 32 |
Serie N1
Nombre | vCPUs | Memoria (GB) |
---|---|---|
n1-standard-2 |
2 | 7,5 |
n1-standard-4 |
4 | 15 |
n1-standard-8 |
8 | 30 |
n1-standard-16 |
16 | 60 |
n1-standard-32 |
32 | 120 |
n1-highmem-2 |
2 | 13 |
n1-highmem-4 |
4 | 26 |
n1-highmem-8 |
8 | 52 |
n1-highmem-16 |
16 | 104 |
n1-highmem-32 |
32 | 208 |
n1-highcpu-4 |
4 | 3.6 |
n1-highcpu-8 |
8 | 7.2 |
n1-highcpu-16 |
16 | 14,4 |
n1-highcpu-32 |
32 | 28,8 |
Serie N2
Nombre | vCPUs | Memoria (GB) |
---|---|---|
n2-standard-2 |
2 | 8 |
n2-standard-4 |
4 | 16 |
n2-standard-8 |
8 | 32 |
n2-standard-16 |
16 | 64 |
n2-standard-32 |
32 | 128 |
n2-standard-48 |
48 | 192 |
n2-standard-64 |
64 | 256 |
n2-standard-80 |
80 | 320 |
n2-standard-96 |
96 | 384 |
n2-standard-128 |
128 | 512 |
n2-highmem-2 |
2 | 16 |
n2-highmem-4 |
4 | 32 |
n2-highmem-8 |
8 | 64 |
n2-highmem-16 |
16 | 128 |
n2-highmem-32 |
32 | 256 |
n2-highmem-48 |
48 | 384 |
n2-highmem-64 |
64 | 512 |
n2-highmem-80 |
80 | 640 |
n2-highmem-96 |
96 | 17. |
n2-highmem-128 |
128 | 864 |
n2-highcpu-2 |
2 | 2 |
n2-highcpu-4 |
4 | 4 |
n2-highcpu-8 |
8 | 8 |
n2-highcpu-16 |
16 | 16 |
n2-highcpu-32 |
32 | 32 |
n2-highcpu-48 |
48 | 48 |
n2-highcpu-64 |
64 | 64 |
n2-highcpu-80 |
80 | 80 |
n2-highcpu-96 |
96 | 96 |
Serie N2D
Nombre | vCPUs | Memoria (GB) |
---|---|---|
n2d-standard-2 |
2 | 8 |
n2d-standard-4 |
4 | 16 |
n2d-standard-8 |
8 | 32 |
n2d-standard-16 |
16 | 64 |
n2d-standard-32 |
32 | 128 |
n2d-standard-48 |
48 | 192 |
n2d-standard-64 |
64 | 256 |
n2d-standard-80 |
80 | 320 |
n2d-standard-96 |
96 | 384 |
n2d-standard-128 |
128 | 512 |
n2d-standard-224 |
224 | 896 |
n2d-highmem-2 |
2 | 16 |
n2d-highmem-4 |
4 | 32 |
n2d-highmem-8 |
8 | 64 |
n2d-highmem-16 |
16 | 128 |
n2d-highmem-32 |
32 | 256 |
n2d-highmem-48 |
48 | 384 |
n2d-highmem-64 |
64 | 512 |
n2d-highmem-80 |
80 | 640 |
n2d-highmem-96 |
96 | 17. |
n2d-highcpu-2 |
2 | 2 |
n2d-highcpu-4 |
4 | 4 |
n2d-highcpu-8 |
8 | 8 |
n2d-highcpu-16 |
16 | 16 |
n2d-highcpu-32 |
32 | 32 |
n2d-highcpu-48 |
48 | 48 |
n2d-highcpu-64 |
64 | 64 |
n2d-highcpu-80 |
80 | 80 |
n2d-highcpu-96 |
96 | 96 |
n2d-highcpu-128 |
128 | 128 |
n2d-highcpu-224 |
224 | 224 |
Serie C2
Nombre | vCPUs | Memoria (GB) |
---|---|---|
c2-standard-4 |
4 | 16 |
c2-standard-8 |
8 | 32 |
c2-standard-16 |
16 | 64 |
c2-standard-30 |
30 | 120 |
c2-standard-60 |
60 | 240 |
Serie C2D
Nombre | vCPUs | Memoria (GB) |
---|---|---|
c2d-standard-2 |
2 | 8 |
c2d-standard-4 |
4 | 16 |
c2d-standard-8 |
8 | 32 |
c2d-standard-16 |
16 | 64 |
c2d-standard-32 |
32 | 128 |
c2d-standard-56 |
56 | 224 |
c2d-standard-112 |
112 | 448 |
c2d-highcpu-2 |
2 | 4 |
c2d-highcpu-4 |
4 | 8 |
c2d-highcpu-8 |
8 | 16 |
c2d-highcpu-16 |
16 | 32 |
c2d-highcpu-32 |
32 | 64 |
c2d-highcpu-56 |
56 | 112 |
c2d-highcpu-112 |
112 | 224 |
c2d-highmem-2 |
2 | 16 |
c2d-highmem-4 |
4 | 32 |
c2d-highmem-8 |
8 | 64 |
c2d-highmem-16 |
16 | 128 |
c2d-highmem-32 |
32 | 256 |
c2d-highmem-56 |
56 | 448 |
c2d-highmem-112 |
112 | 896 |
Serie C3
Nombre | vCPUs | Memoria (GB) |
---|---|---|
c3-highcpu-4 |
4 | 8 |
c3-highcpu-8 |
8 | 16 |
c3-highcpu-22 |
22 | 44 |
c3-highcpu-44 |
44 | 88 |
c3-highcpu-88 |
88 | 176 |
c3-highcpu-176 |
176 | 352 |
Serie A2
Nombre | vCPUs | Memoria (GB) | GPUs (NVIDIA A100) |
---|---|---|---|
a2-highgpu-1g |
12 | 85 | 1 (A100 40 GB) |
a2-highgpu-2g |
24 | 170 | 2 (A100 40 GB) |
a2-highgpu-4g |
48 | 340 | 4 (A100 40 GB) |
a2-highgpu-8g |
96 | 680 | 8 (A100 40 GB) |
a2-megagpu-16g |
96 | 1360 | 16 (A100 40 GB) |
a2-ultragpu-1g |
12 | 170 | 1 (A100 80 GB) |
a2-ultragpu-2g |
24 | 340 | 2 (A100 80 GB) |
a2-ultragpu-4g |
48 | 680 | 4 (A100 80 GB) |
a2-ultragpu-8g |
96 | 1360 | 8 (A100 80 GB) |
Serie A3
Nombre | vCPUs | Memoria (GB) | GPUs (NVIDIA H100 o H200) |
---|---|---|---|
a3-highgpu-1g |
26 | 234 | 1 (H100 80 GB) |
a3-highgpu-2g |
52 | 468 | 2 (H100 80 GB) |
a3-highgpu-4g |
104 | 936 | 4 (H100 80 GB) |
a3-highgpu-8g |
208 | 1872 | 8 (H100 80 GB) |
a3-edgegpu-8g |
208 | 1872 | 8 (H100 80 GB) |
a3-ultragpu-8g |
224 | 2952 | 8 (H200 141 GB) |
A4X Series
Nombre | vCPUs | Memoria (GB) | GPUs (NVIDIA GB200) |
---|---|---|---|
a4x-highgpu-4g |
140 | 884 | 4 |
Serie G2
Nombre | vCPUs | Memoria (GB) | GPUs (NVIDIA L4) |
---|---|---|---|
g2-standard-4 |
4 | 16 | 1 |
g2-standard-8 |
8 | 32 | 1 |
g2-standard-12 |
12 | 48 | 1 |
g2-standard-16 |
16 | 64 | 1 |
g2-standard-24 |
24 | 96 | 2 |
g2-standard-32 |
32 | 128 | 1 |
g2-standard-48 |
48 | 192 | 4 |
g2-standard-96 |
96 | 384 | 8 |
Consulta los precios de cada tipo de máquina. Para obtener más información sobre las especificaciones detalladas de estos tipos de máquinas, consulta la documentación de Compute Engine sobre tipos de máquinas.
Encontrar el tipo de máquina ideal
Inferencia online
Para encontrar el tipo de máquina ideal para tu caso de uso, te recomendamos que cargues tu modelo en varios tipos de máquina y midas características como la latencia, el coste, la simultaneidad y el rendimiento.
Una forma de hacerlo es ejecutar este cuaderno en varios tipos de máquinas y comparar los resultados para encontrar el que mejor se adapte a tus necesidades.
Vertex AI reserva aproximadamente 1 vCPU en cada réplica para ejecutar procesos del sistema. Esto significa que ejecutar el cuaderno en un tipo de máquina de un solo núcleo sería comparable a usar un tipo de máquina de dos núcleos para servir inferencias.
Al tener en cuenta los costes de inferencia, recuerda que, aunque las máquinas más grandes cuestan más, pueden reducir el coste total porque se necesitan menos réplicas para servir la misma carga de trabajo. Esto es especialmente evidente en las GPUs, que suelen costar más por hora, pero pueden ofrecer una latencia más baja y costar menos en general.
Inferencia por lotes
Para obtener más información, consulta Elegir el tipo de máquina y el número de réplicas.
Aceleradores de GPU opcionales
Algunas configuraciones, como las series A2 y G2, tienen un número fijo de GPUs integradas.
La serie A4X (a4x-highgpu-4g
)
requiere un número mínimo de réplicas de 18. Esta máquina se compra por rack y tiene un mínimo de 18 VMs.
Otras configuraciones, como la serie N1, te permiten añadir GPUs de forma opcional para acelerar cada nodo de inferencia.
En este tipo de modelo, las GPUs no ofrecen una mejora del rendimiento significativa. No se pueden especificar GPUs durante la implementación de modelos de AutoML en la Google Cloud consola.Para añadir aceleradores de GPU opcionales, debes tener en cuenta varios requisitos:
- Solo puedes usar GPUs cuando tu recurso
Model
se basa en un SavedModel de TensorFlow o cuando usas un contenedor personalizado que se ha diseñado para aprovechar las GPUs. No puedes usar GPUs para modelos de scikit-learn ni XGBoost. - La disponibilidad de cada tipo de GPU varía en función de la región que uses para tu modelo. Consulta qué tipos de GPUs están disponibles en cada región.
- Solo puedes usar un tipo de GPU para tu recurso
DeployedModel
oBatchPredictionJob
, y hay limitaciones en el número de GPUs que puedes añadir en función del tipo de máquina que utilices. En la siguiente tabla se describen estas limitaciones.
En la siguiente tabla se muestran las GPUs opcionales que están disponibles para la inferencia online y cuántas GPUs de cada tipo puedes usar con cada tipo de máquina de Compute Engine:
Número válido de GPUs para cada tipo de máquina | |||||
---|---|---|---|---|---|
Tipo de máquina | NVIDIA Tesla P100 | NVIDIA Tesla V100 | NVIDIA Tesla P4 | NVIDIA Tesla T4 | |
n1-standard-2 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-4 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-8 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-16 |
1, 2, 4 | 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-standard-32 |
2, 4 | 4, 8 | 2, 4 | 2, 4 | |
n1-highmem-2 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-4 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-8 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-16 |
1, 2, 4 | 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highmem-32 |
2, 4 | 4, 8 | 2, 4 | 2, 4 | |
n1-highcpu-2 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-4 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-8 |
1, 2, 4 | 1, 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-16 |
1, 2, 4 | 2, 4, 8 | 1, 2, 4 | 1, 2, 4 | |
n1-highcpu-32 |
2, 4 | 4, 8 | 2, 4 | 2, 4 |
Las GPUs opcionales conllevan costes adicionales.
Siguientes pasos
- Desplegar un modelo tabular de AutoML en la Google Cloud consola
- Desplegar un modelo con entrenamiento personalizado en la Google Cloud consola
- Desplegar un modelo entrenado de forma personalizada con bibliotecas de cliente
- Obtener inferencias por lotes