A Vertex AI aloca nós para processar inferências on-line e em lote.
Ao implantar um modelo treinado personalizado ou um modelo do AutoML em um recurso Endpoint
para exibir inferências on-line ou ao
solicitar inferências em lote, é possível
personalizar o tipo de máquina virtual que o serviço de inferência usa
nesses nós. Se preferir, configure os nós de inferência para usar GPUs.
Os tipos de máquina são diferentes no seguinte:
- Número de CPUs virtuais (vCPUs) por nó
- Quantidade de memória por nó
- Preços
Ao selecionar um tipo de máquina com mais recursos de computação, é possível fornecer inferências com latência menor ou processar mais solicitações de inferência ao mesmo tempo.
Gerenciar custo e disponibilidade
Para ajudar a gerenciar custos ou garantir a disponibilidade de recursos de VM, a Vertex AI oferece o seguinte:
Para que os recursos da VM estejam disponíveis quando os jobs de inferência precisarem deles, use as reservas do Compute Engine. As reservas fornecem um nível alto de garantia da capacidade dos recursos do Compute Engine. Para mais informações, consulte Usar reservas com inferência.
Para reduzir o custo da execução dos jobs de inferência, use VMs spot. As VMs spot são instâncias de máquina virtual (VM) que excedem a capacidade do Compute Engine. Elas têm descontos significativos, mas o Compute Engine pode forçar a interrupção ou excluir essas VMs para recuperar a capacidade a qualquer momento. Para mais informações, consulte Usar VMs spot com inferência.
Onde especificar recursos de computação
Inferência on-line
Se você quiser usar um modelo treinado personalizado ou um modelo tabular do AutoML para exibir
inferências on-line, é necessário especificar um tipo de máquina ao implantar o recurso Model
como DeployedModel
em um Endpoint
. Para outros tipos de modelos do
AutoML, a Vertex AI configura os tipos de máquina automaticamente.
Especifique o tipo de máquina (e, opcionalmente, a configuração de GPU) no
campo dedicatedResources.machineSpec
de
DeployedModel
.
Aprenda a implantar cada tipo de modelo:
- Implantar um modelo tabular do AutoML no Google Cloud console
- Implantar um modelo treinado personalizado no console Google Cloud
- Implantar um modelo treinado personalizado usando bibliotecas de cliente
Inferência em lote
Se você quiser receber inferências em lote de um modelo treinado personalizado ou um modelo
tabular do AutoML, especifique um tipo de máquina ao criar um
recurso BatchPredictionJob
. Especifique o
tipo de máquina (e, opcionalmente, a configuração de GPU) no campo dedicatedResources.machineSpec
do seu
BatchPredictionJob
.
Tipos de máquina
A tabela a seguir compara os tipos de máquina disponíveis para veicular inferências de modelos treinados e personalizados do AutoML:
Série E2
Nome | vCPUs | Memória (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 |
Série N1
Nome | vCPUs | Memória (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 |
Série N2
Nome | vCPUs | Memória (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 |
Série N2D
Nome | vCPUs | Memória (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 |
Série C2
Nome | vCPUs | Memória (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 |
Série C2D
Nome | vCPUs | Memória (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 |
Série C3
Nome | vCPUs | Memória (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 |
Série A2
Nome | vCPUs | Memória (GB) | GPUs (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 | 1360 | 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 | 1360 | 8 (A100 80GB) |
Série A3
Nome | vCPUs | Memória (GB) | GPUs (NVIDIA H100 ou H200) |
---|---|---|---|
a3-highgpu-1g |
26 | 234 | 1 (H100 80GB) |
a3-highgpu-2g |
52 | 468 | 2 (H100 80GB) |
a3-highgpu-4g |
104 | 936 | 4 (H100 80GB) |
a3-highgpu-8g |
208 | 1872 | 8 (H100 80GB) |
a3-edgegpu-8g |
208 | 1872 | 8 (H100 80GB) |
a3-ultragpu-8g |
224 | 2952 | 8 (H200 141GB) |
Série G2
Nome | vCPUs | Memória (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 |
Saiba mais sobre os preços de cada tipo de máquina. Leia mais sobre as especificações detalhadas desses tipos de máquina na documentação do Compute Engine sobre tipos de máquinas.
Encontre o tipo de máquina ideal
Inferência on-line
Para encontrar o tipo de máquina ideal para seu caso de uso, recomendamos carregar o modelo em vários tipos de máquinas e medir características como latência, custo, simultaneidade e capacidade de processamento.
Uma maneira de fazer isso é executar este notebook em vários tipos de máquinas e comparar os resultados para encontrar aquele que funciona melhor para você.
A Vertex AI reserva aproximadamente 1 vCPU em cada réplica para executar processos do sistema. Isso significa que a execução do notebook em um único tipo de máquina de núcleo seria comparável ao uso de um tipo de máquina de dois núcleos para exibir inferências.
Ao considerar os custos de inferência, lembre-se de que máquinas maiores custam mais, mas podem reduzir o custo geral, porque menos réplicas são necessárias para atender a mesma carga de trabalho. Isso é particularmente evidente para GPUs, que tendem a custar mais por hora, mas podem fornecer menor latência e menor custo geral.
Inferência em lote
Para mais informações, consulte Escolher o tipo de máquina e a contagem de réplicas.
Aceleradores de GPU opcionais
Algumas configurações, como as séries A2 e G2, têm um número fixo de GPUs integradas.
Outras configurações, como a série N1, permitem adicionar GPUs para acelerar cada nó de inferência.
Para adicionar aceleradores de GPU opcionais, você precisa considerar vários requisitos:
- Você só pode usar GPUs quando seu
Model
recurso é baseado em umaTensorFlow SavedModel ou quando você usar um contêiner personalizado. que foi projetada para aproveitar as GPUs. Não é possível usar GPUs para modelos scikit-learn ou XGBoost. - A disponibilidade de cada tipo de GPU varia de acordo com a região usada para o modelo. Saiba quais tipos de GPUs estão disponíveis em quais regiões.
- Só é possível usar um tipo de GPU no seu recurso
DeployedModel
ouBatchPredictionJob
, e há limitações no número de GPUs a serem adicionadas dependendo do tipo de máquina que você está usando. A tabela a seguir descreve essas limitações.
Confira na tabela a seguir as GPUs opcionais disponíveis para inferência on-line e quantas de cada tipo é possível usar com cada tipo de máquina do Compute Engine:
Números válidos 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 |
As GPUs opcionais geram custos adicionais.
A seguir
- Implantar um modelo tabular do AutoML no Google Cloud console
- Implantar um modelo treinado personalizado no console Google Cloud
- Implantar um modelo treinado personalizado usando bibliotecas de cliente
- Receber inferências em lote