Criar uma instância de VM de TPU do Cloud TPU usando o Compute Engine

Este documento mostra como criar uma única VM de TPU com o comando gcloud compute instances create do Compute Engine. Também é possível criar uma instância de VM de TPU especificando um modelo de instância. Para mais informações, consulte Criar uma VM a partir de um modelo de instância.

Pré-requisitos

Atenda aos seguintes pré-requisitos:

  1. Crie um Google Cloud projeto para suas TPUs, conforme descrito em Configurar um Google Cloud projeto para TPUs.

  2. Determine os requisitos de TPU, conforme descrito em Planejar seus recursos do Cloud TPU.

Criar uma instância de VM de TPU

Os parâmetros usados para criar uma instância de VM de TPU dependem da opção de consumo que você está usando: sob demanda, spot, vinculada à reserva ou de início flexível. Para mais informações, consulte Planejar seus recursos de TPU .

Criar uma instância de VM de TPU sob demanda

Para criar uma instância de VM de TPU sob demanda, use o gcloud compute instances create comando:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Substitua os seguintes marcadores de posição:

  • PROJECT_ID: ID do Google Cloud projeto.
  • TPU_NAME: um nome para sua VM de TPU.
  • MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo, ct6e-standard-8t).
  • IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a --image flag. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse é ubuntu-os-accelerator-images.
  • ZONE: a zona da VM de TPU (por exemplo, us-central1-b).

Criar uma instância de VM spot de TPU

Para criar uma instância de VM spot de TPU, use o gcloud compute instances create comando com a --provisioning-model=SPOT flag:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=SPOT \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Substitua os seguintes marcadores de posição:

  • PROJECT_ID: ID do Google Cloud projeto.
  • TPU_NAME: um nome para sua VM de TPU.
  • MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo, ct6e-standard-8t).
  • IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a --image flag. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse é ubuntu-os-accelerator-images.
  • ZONE: a zona da VM de TPU (por exemplo, us-central1-b).

Criar uma instância de VM de TPU usando uma reserva

Para criar uma instância de VM de TPU usando a opção de consumo vinculada à reserva, use o gcloud compute instances create comando com as flags --reservation-affinity=specific e --reservation:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=reservation-bound \
  --reservation-affinity=specific \
  --reservation=RESERVATION_NAME \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_NAME"
      ]
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Substitua os seguintes marcadores de posição:

  • PROJECT_ID: ID do Google Cloud projeto.
  • TPU_NAME: um nome para sua VM de TPU.
  • MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo, ct6e-standard-8t).
  • IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a --image flag. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse é ubuntu-os-accelerator-images.
  • ZONE: a zona da VM de TPU (por exemplo, us-central1-b).
  • RESERVATION_NAME: o nome da sua reserva.

Criar uma VM flex-start de TPU

Para criar uma instância de VM de TPU de início flexível, use o gcloud compute instances create comando com a --provisioning-model=FLEX_START flag:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=FLEX_START \
  --max-run-duration=MAX_RUN_DURATION \
  --request-valid-for-duration=VALID_DURATION \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "params": {
      "requestValidForDuration": {
        "seconds": VALID_DURATION
      }
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START",
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": MAX_RUN_DURATION
      }
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Substitua os seguintes marcadores de posição:

  • PROJECT_ID: ID do Google Cloud projeto.
  • TPU_NAME: um nome para sua VM de TPU.
  • MACHINE_TYPE: o tipo de máquina da VM de TPU (por exemplo, ct6e-standard-8t).
  • IMAGE_FAMILY: a família de imagens do SO para a VM de TPU. Se você quiser instalar uma versão específica do SO, use a --image flag. Para mais informações sobre imagens do SO, consulte Imagens do SO.
  • IMAGE_PROJECT: o projeto que contém a imagem do SO. Para imagens de TPU, esse é ubuntu-os-accelerator-images.
  • ZONE: a zona da VM de TPU (por exemplo, us-central1-b).
  • MAX_RUN_DURATION: a duração máxima de execução da VM de TPU (por exemplo, 6h). Para REST, especifique isso como um número de segundos (por exemplo, 21600 para 6 horas).
  • VALID_DURATION: a duração máxima em que a solicitação é válida. Para REST, especifique isso como um número de segundos (por exemplo, 3600 para 1 hora). A solicitação é válida.

Para mais informações sobre como criar instâncias do Compute Engine, consulte Criar e iniciar uma instância do Compute Engine.

A seguir