Este guia descreve as vantagens e as limitações da utilização de VMs de início flexível com a inferência do Vertex AI. Este guia também descreve como implementar um modelo que usa VMs de início flexível.
Vista geral
Pode reduzir o custo de execução dos seus trabalhos de inferência usando VMs de início flexível, que são alimentadas pelo Dynamic Workload Scheduler. As VMs de início flexível oferecem descontos significativos e são adequadas para cargas de trabalho de curta duração.
Pode especificar durante quanto tempo precisa de uma VM de início flexível, para qualquer duração até sete dias. Após o tempo pedido expirar, o modelo implementado é automaticamente desimplementado. Também pode anular manualmente a implementação do modelo antes do prazo.
Anulação da implementação automática
Se pedir uma VM de início flexível para uma duração específica, o modelo é anulado automaticamente após esse período. Por exemplo, se pedir uma VM de início flexível durante cinco horas, o modelo é anulado automaticamente cinco horas após o envio. Só lhe é cobrado o tempo de execução da carga de trabalho.
Limitações e requisitos
Considere as seguintes limitações e requisitos quando usar VMs de início flexível:
- Duração máxima: as VMs de início flexível têm uma duração de utilização máxima de sete dias. Qualquer pedido de implementação com uma duração superior será rejeitado.
- Suporte de TPUs: não é possível usar VMs de início flexível com pods de TPUs.
- Quota: certifique-se de que tem uma quota preemptível do Vertex AI suficiente antes de iniciar a tarefa. Para saber mais, consulte o artigo Quotas de taxas.
- Aprovisionamento em fila: a utilização de VMs de início flexível com o aprovisionamento em fila não é suportada.
- Reciclagem de nós: a reciclagem de nós não é suportada.
Faturação
Se a sua carga de trabalho for executada durante menos de sete dias, a utilização de VMs de início flexível pode reduzir os custos.
Quando usa VMs de início flexível, a faturação baseia-se na duração da tarefa e no tipo de máquina que selecionar. Só lhe é cobrado o tempo durante o qual a sua carga de trabalho está em execução ativa. Não paga o tempo em que a tarefa está numa fila nem o tempo após a expiração da duração pedida.
A faturação é distribuída por dois SKUs:
O SKU do Compute Engine, com a etiqueta
vertex-ai-online-prediction
. Consulte os preços do Dynamic Workload Scheduler.O SKU da taxa de gestão do Vertex AI. Veja os preços do Vertex AI.
Obtenha inferências através de VMs de início flexível
Para usar VMs de início flexível quando implementa um modelo para obter inferências, pode usar a API REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: a região onde está a usar o Vertex AI.
- PROJECT_ID: o seu ID do projeto.
- ENDPOINT_ID: o ID do ponto final.
- MODEL_ID: o ID do modelo a implementar.
-
DEPLOYED_MODEL_NAME: um nome para o
DeployedModel
. Também pode usar o nome a apresentar doModel
para oDeployedModel
. -
MACHINE_TYPE: opcional. Os recursos da máquina usados para cada nó desta implementação. A predefinição é
n1-standard-2
. Saiba mais sobre os tipos de máquinas. - ACCELERATOR_TYPE: opcional. O tipo de acelerador a associar à máquina. Saiba mais.
- ACCELERATOR_COUNT: opcional. O número de aceleradores que cada réplica deve usar.
-
MAX_RUNTIME_DURATION: a duração máxima da implementação de início flexível.
O modelo implementado é automaticamente desimplementado após esta duração. Especifique a duração
em segundos, terminando com um
s
. Por exemplo,3600s
durante uma hora. O valor máximo é604800s
(7 dias). - PROJECT_NUMBER: o número do projeto gerado automaticamente para o seu projeto.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corpo JSON do pedido:
{ "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 o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "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" } } }