Vertex AI asigna nodos para manejar predicciones en línea y por lotes.
Cuando implementas un modelo entrenado personalizado o un modelo de AutoML en un recurso Endpoint
para entregar predicciones en línea o cuando solicitas predicciones por lotes, puedes personalizar el tipo de máquina virtual que usará el servicio de predicción para estos nodos. De forma opcional, puedes configurar nodos de predicción para usar GPU.
Los tipos de máquinas se diferencian de varias maneras:
- Cantidad de CPU virtual por nodo
- Cantidad de memoria por nodo
- Precios
Cuando seleccionas un tipo de máquina con más recursos de procesamiento, puedes entregar predicciones con menor latencia o manejar más solicitudes de predicción al mismo tiempo.
Dónde especificar recursos de procesamiento
Predicción en línea
Si deseas usar un modelo entrenado personalizado o un modelo tabular de AutoML para entregar predicciones en línea, debes especificar un tipo de máquina cuando implementes el recurso Model
como un DeployedModel
en un Endpoint
. Para otros tipos de modelos de AutoML, Vertex AI configura los tipos de máquinas de forma automática.
Especifica el tipo de máquina (y, de manera opcional, la configuración de GPU) en el campo dedicatedResources.machineSpec
de tu DeployedModel
.
Aprende a implementar cada tipo de modelo:
- Implementa un modelo tabular de AutoML en la consola de Google Cloud
- Implementa un modelo con entrenamiento personalizado en la consola de Google Cloud
- Implementa un modelo con entrenamiento personalizado con bibliotecas cliente
Predicción por lotes
Si deseas obtener predicciones por lotes de un modelo personalizado de entrenamiento o un modelo tabular de AutoML, debes especificar un tipo de máquina cuando crees un recurso BatchPredictionJob
. Especifica el tipo de máquina (y, de manera opcional, la configuración de 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 entregar predicciones de modelos personalizados de entrenamiento y modelos tabulares de AutoML:
Serie E2
Nombre | CPU virtuales | 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 | CPU virtuales | 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 | CPU virtuales | 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 | 768 |
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 | CPU virtuales | 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 | 768 |
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 | CPU virtuales | 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 | CPU virtuales | 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 | CPU virtuales | 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 | CPU virtuales | Memoria (GB) | GPU (NVIDIA A100) |
---|---|---|---|
a2-highgpu-1g |
12 | 85 | 1 (A100 40GB) |
a2-highgpu-2g |
24 | 170 | 2 (A100 40GB) |
a2-highgpu-4g |
48 | 340 | 4 (A100 40GB) |
a2-highgpu-8g |
96 | 680 | 8 (A100 40GB) |
a2-megagpu-16g |
96 | 1,360 | 16 (A100 40GB) |
a2-ultragpu-1g |
12 | 170 | 1 (A100 80GB) |
a2-ultragpu-2g |
24 | 340 | 2 (A100 80GB) |
a2-ultragpu-4g |
48 | 680 | 4 (A100 80GB) |
a2-ultragpu-8g |
96 | 1,360 | 8 (A100 80GB) |
Serie A3
Nombre | CPU virtuales | Memoria (GB) | GPUs (NVIDIA H100) |
---|---|---|---|
a3-highgpu-8g |
208 | 1872 | 8 (H100 80GB) |
Serie G2
Nombre | CPU virtuales | Memoria (GB) | PUs (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 |
Obtén información sobre los precios para cada tipo de máquina. Consulta la documentación de Compute Engine sobre los tipos de máquinas para obtener más información sobre las especificaciones detalladas de estos tipos de máquinas.
Encuentra el tipo de máquina ideal
Predicción en línea
Para encontrar el tipo de máquina ideal para tu caso de uso, te recomendamos cargar tu modelo en varios tipos de máquinas y medir características como la latencia, el costo, la simultaneidad y la capacidad de procesamiento.
Una forma de hacerlo es ejecutar este notebook en varios tipos de máquinas y comparar los resultados para encontrar el que te resulte más conveniente.
Vertex AI reserva alrededor de 1 CPU virtual en cada réplica para ejecutar procesos del sistema. Esto significa que la ejecución del notebook en un solo tipo de máquina de núcleo sería comparable a usar un tipo de máquina de 2 núcleos para entregar predicciones.
Cuando consideres los costos de predicción, recuerda que, aunque las máquinas más grandes cuestan más, pueden reducir el costo general porque se necesitan menos réplicas para entregar la misma carga de trabajo. Esto es particularmente evidente para las GPU, que suelen costar más por hora, pero ambas pueden proporcionar una latencia más baja y un costo menor en general.
Predicción por lotes
Para obtener más información, consulta Elige el tipo de máquina y el recuento de réplicas.
Aceleradores de GPU opcionales
Algunas configuraciones, como la serie A2 y la serie G2, tienen una cantidad fija de GPU integradas.
Otras configuraciones, como la serie N1, te permiten agregar GPU de manera opcional para acelerar cada nodo de predicción.
Si quieres agregar aceleradores de GPU opcionales, debes tener en cuenta varios requisitos:
- Solo puedes usar las GPU cuando tu recurso
Model
se basa en un modelo guardado de TensorFlow o cuando usas un contenedor personalizado que se diseñó para aprovechar las GPU. No puedes usar las GPU para los modelos XGBoost o scikit-learn. - La disponibilidad de cada tipo de GPU varía según la región que uses para el modelo. Obtén más información sobre qué tipos de GPU están disponibles en qué regiones.
- Solo puedes usar un tipo de GPU para el recurso
DeployedModel
o paraBatchPredictionJob
, y existen limitaciones en la cantidad de GPU que puedes agregar según el tipo de máquina que uses. En la siguiente tabla, se describen estas limitaciones.
En la siguiente tabla, se muestran las GPU disponibles para la predicción en línea y cuántas GPU de cada tipo puedes usar con cada tipo de máquina de Compute Engine:
Números válidos de GPU 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 GPU opcionales generan costos adicionales.
¿Qué sigue?
- Implementa un modelo tabular de AutoML en la consola de Google Cloud
- Implementa un modelo con entrenamiento personalizado en la consola de Google Cloud
- Implementa un modelo con entrenamiento personalizado con bibliotecas cliente
- Obtén predicciones por lotes