Use VMs de início flexível com inferência

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:

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 do Model para o DeployedModel.
  • 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"
    }
  }
}

O que se segue?