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

Este guia descreve os benefícios e as limitações do uso de VMs de início flexível com a inferência da Gemini Enterprise Agent Platform. Este guia também descreve como implantar um modelo que usa VMs de início flexível.

Visão geral

É possível reduzir o custo da execução dos jobs de inferência usando VMs de início flexível, que são alimentadas pelo Programador dinâmico de cargas de trabalho. As VMs de início flexível oferecem descontos significativos e são adequadas para cargas de trabalho de curta duração.

É possível especificar por quanto tempo você precisa de uma VM flex-start, por qualquer duração de até sete dias. Depois que o tempo solicitado expira, o modelo implantado é desimplantado automaticamente. Também é possível desimplantar o modelo manualmente antes do tempo expirar.

Desimplantação automática

Se você solicitar uma VM flex-start por um período específico, o modelo será desimplantado automaticamente após esse período. Por exemplo, se você solicitar uma VM flex-start por cinco horas, o modelo será cancelado a implantação automaticamente cinco horas após o envio. Você só paga pelo tempo de execução da carga de trabalho.

Limitações e requisitos

Considere as seguintes limitações e requisitos ao usar VMs de início flexível:

  • Duração máxima: as VMs de início flexível têm uma duração máxima de uso de sete dias. Qualquer solicitação de implantação por um período maior será rejeitada.
  • Suporte a TPU: não é possível usar VMs de início flexível com pods de TPU.
  • Quota: verifique se você tem cota preemptiva suficiente da Agent Platform antes de iniciar o job. Para saber mais, consulte Cotas de taxa.
  • Provisionamento em fila: não é possível usar VMs flex-start com provisionamento em fila.
  • Reciclagem de nós: a reciclagem de nós não é compatível.

Faturamento

Se a carga de trabalho for executada por menos de sete dias, o uso de VMs de início flexível poderá reduzir os custos.

Ao usar VMs de início flexível, você recebe uma cobrança com base na duração do job e no tipo de máquina selecionado. Você só paga pelo tempo em que a carga de trabalho está em execução. Você não paga pelo tempo em que o job está em uma fila ou por qualquer tempo após a expiração da duração solicitada.

O faturamento é distribuído em duas SKUs:

Receber inferências usando VMs de início flexível

Para usar VMs de início flexível ao implantar um modelo para receber inferências, use a API REST.

Antes de usar os dados da solicitação abaixo, faça estas substituições:

  • LOCATION_ID: a região em que você está usando a Agent Platform.
  • PROJECT_ID: o ID do projeto. .
  • ENDPOINT_ID: o ID do endpoint.
  • MODEL_ID: o ID do modelo a ser implantado.
  • DEPLOYED_MODEL_NAME: um nome para DeployedModel. Também é possível usar o nome de exibição do Model para o DeployedModel.
  • MACHINE_TYPE: opcional. Os recursos de máquina usados para cada nó desta implantação. A configuração padrão é n1-standard-2. Saiba mais sobre tipos de máquinas.
  • ACCELERATOR_TYPE: opcional. O tipo de acelerador a ser anexado à máquina. Saiba mais.
  • ACCELERATOR_COUNT: opcional. O número de aceleradores a serem usados por cada réplica.
  • MAX_RUNTIME_DURATION: a duração máxima da implantação de início flexível. O modelo implantado é desimplantado automaticamente após essa duração. Especifique a duração em segundos, terminando com um s. Por exemplo, 3600s para uma hora. O valor máximo é 604800s (7 dias).
  • PROJECT_NUMBER: o número do projeto gerado automaticamente .

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel

Corpo JSON da solicitação:

{
  "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 a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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"
    }
  }
}

A seguir