Quando você cria um recurso persistente, o serviço de treinamento primeiro encontra recursos do pool de recursos do Compute Engine com base nas especificações fornecidas e, em seguida, provisiona um cluster de longa duração para você. Nesta página, mostramos como criar um recurso permanente para executar jobs de treinamento personalizados usando a API Vertex AI ou a CLI do Google Cloud.
Criar um recurso persistente
Selecione uma das guias a seguir para ver instruções sobre como criar um recurso permanente.
gcloud
Um recurso permanente pode ter um ou mais pools de recursos. Para criar vários pools de recursos em um recurso persistente, especifique várias sinalizações --resource-pool-spec
.
Cada pool de recursos pode ter o escalonamento automático ativado ou desativado. Para ativar o escalonamento automático, especifique min_replica_count
e max_replica_count
.
É possível especificar todas as configurações do pool de recursos como parte da linha de comando ou usar a sinalização --config
para especificar o caminho para um arquivo YAML que contenha as configurações.
Antes de usar os dados do comando abaixo, faça estas substituições:
- PROJECT_ID: o ID do projeto do Google Cloud em que você quer criar o recurso permanente.
- LOCATION: a região em que você quer criar o recurso permanente. Para uma lista de regiões compatíveis, consulte Disponibilidade do recurso.
- PERSISTENT_RESOURCE_ID: o ID do recurso permanente.
- DISPLAY_NAME: (opcional) o nome de exibição do recurso permanente.
- MACHINE_TYPE: o tipo de VM a ser usada. Para uma lista de VMs compatíveis, consulte Tipos de máquina.
Esse campo corresponde ao
machineSpec.machineType
na mensagem da APIResourcePool
. - ACCELERATOR_TYPE: o tipo de GPU a ser anexado a cada VM no pool de recursos (opcional). Para uma lista de GPUs compatíveis, consulte GPUs. Esse campo corresponde ao
machineSpec.acceleratorType
na mensagem da APIResourcePool
. - ACCELERATOR_COUNT: o número de GPUs a serem anexadas a cada VM no pool de recursos (opcional). O valor padrão é
1
. Esse campo corresponde ao campomachineSpec.acceleratorCount
na mensagem da APIResourcePool
. - REPLICA_COUNT: o número de réplicas a serem criadas ao criar este pool de recursos. Esse campo corresponde ao
replicaCount
na mensagem da APIResourcePool
. Este campo será obrigatório se você não especificar MIN_REPLICA_COUNT e MAX_REPLICA_COUNT. - MIN_REPLICA_COUNT (opcional): o número mínimo de réplicas que podem ser reduzidos no escalonamento automático para esse pool de recursos. MIN_REPLICA_COUNT e MAX_REPLICA_COUNT são necessários para ativar o escalonamento automático neste pool de recursos.
- MAX_REPLICA_COUNT: (opcional) o número máximo de réplicas que o escalonamento automático pode escalonar verticalmente para esse pool de recursos. MIN_REPLICA_COUNT e MAX_REPLICA_COUNT são necessários para ativar o escalonamento automático neste pool de recursos.
- BOOT_DISK_TYPE: o tipo de disco a ser usado como disco de inicialização de cada VM no pool de recursos (opcional). Esse campo corresponde ao
diskSpec.bootDiskType
na mensagem da APIResourcePool
. Os valores aceitáveis são os seguintes:pd-standard
(padrão)pd-ssd
- BOOT_DISK_SIZE_GB: o tamanho do disco em GiB para o disco de inicialização de cada VM no pool de recursos (opcional). Os valores aceitáveis são de
100
(padrão) a64000
. Esse campo corresponde ao campodiskSpec.bootDiskSizeGb
na mensagem da APIResourcePool
. - CONFIG: caminho para o arquivo de configuração YAML do recurso permanente. Esse arquivo precisa conter uma lista de ResourcePool. Se uma opção for especificada no arquivo de configuração e nos argumentos da linha de comando, os argumentos substituirão o arquivo de configuração. Observe que as chaves com sublinhados são inválidas.
Exemplo de arquivo de configuração YAML:
resourcePoolSpecs: machineSpec: machineType: n1-standard-4 replicaCount: 1
Execute o este comando:
Linux, macOS ou Cloud Shell
gcloud beta ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --display-name=DISPLAY_NAME \ --project=PROJECT_ID \ --region=LOCATION \ --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Windows (PowerShell)
gcloud beta ai persistent-resources create ` --persistent-resource-id=PERSISTENT_RESOURCE_ID ` --display-name=DISPLAY_NAME ` --project=PROJECT_ID ` --region=LOCATION ` --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Windows (cmd.exe)
gcloud beta ai persistent-resources create ^ --persistent-resource-id=PERSISTENT_RESOURCE_ID ^ --display-name=DISPLAY_NAME ^ --project=PROJECT_ID ^ --region=LOCATION ^ --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Você receberá uma resposta semelhante a esta:
Using endpoint [http://us-central1-aiplatform.googleapis.com/] Operation to create PersistentResource [projects/123456789012/locations/us-central1/persistentResources/mypersistentresource/operations/1234567890123456789] is submitted successfully. You may view the status of your PersistentResource create operation with the command $ gcloud beta ai operations describe projects/sample-project/locations/us-central1/operations/1234567890123456789
Comando gcloud
de exemplo:
gcloud beta ai persistent-resources create \ --persistent-resource-id=my-persistent-resource \ --region=us-central1 \ --resource-pool-spec="min-replica-count=4,max-replica-count=12,machine-type=n1-highmem-2,accelerator-type=NVIDIA_TESLA_K80,accelerator-count=1,disk-type=pd-standard,disk-size=200" \ --resource-pool-spec="replica-count=4,machine-type=n1-standard-4"
Configurações gcloud
avançadas
Se você quiser especificar opções de configuração que não estejam disponíveis nos
exemplos anteriores, use a sinalização --config
para especificar o
caminho para um arquivo config.yaml
no ambiente local que contém os campos de
persistentResources
. Exemplo:
gcloud beta ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --project=PROJECT_ID \ --region=LOCATION \ --config=CONFIG
REST
Um recurso permanente pode ter um ou mais pools de recursos (machine_spec
), e cada pool de recursos pode ter o escalonamento automático ativado ou desativado.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Google Cloud em que você quer criar o recurso permanente.
- LOCATION: a região em que você quer criar o recurso permanente. Para uma lista de regiões compatíveis, consulte Disponibilidade do recurso.
- PERSISTENT_RESOURCE_ID: o ID do recurso permanente.
- DISPLAY_NAME: (opcional) o nome de exibição do recurso permanente.
- MACHINE_TYPE: o tipo de VM a ser usada. Para uma lista de VMs compatíveis, consulte Tipos de máquina.
Esse campo corresponde ao
machineSpec.machineType
na mensagem da APIResourcePool
. - ACCELERATOR_TYPE: o tipo de GPU a ser anexado a cada VM no pool de recursos (opcional). Para uma lista de GPUs compatíveis, consulte GPUs. Esse campo corresponde ao
machineSpec.acceleratorType
na mensagem da APIResourcePool
. - ACCELERATOR_COUNT: o número de GPUs a serem anexadas a cada VM no pool de recursos (opcional). O valor padrão é
1
. Esse campo corresponde ao campomachineSpec.acceleratorCount
na mensagem da APIResourcePool
. - REPLICA_COUNT: o número de réplicas a serem criadas ao criar este pool de recursos. Esse campo corresponde ao
replicaCount
na mensagem da APIResourcePool
. Este campo será obrigatório se você não especificar MIN_REPLICA_COUNT e MAX_REPLICA_COUNT. - MIN_REPLICA_COUNT (opcional): o número mínimo de réplicas que podem ser reduzidos no escalonamento automático para esse pool de recursos. MIN_REPLICA_COUNT e MAX_REPLICA_COUNT são necessários para ativar o escalonamento automático neste pool de recursos.
- MAX_REPLICA_COUNT: (opcional) o número máximo de réplicas que o escalonamento automático pode escalonar verticalmente para esse pool de recursos. MIN_REPLICA_COUNT e MAX_REPLICA_COUNT são necessários para ativar o escalonamento automático neste pool de recursos.
- BOOT_DISK_TYPE: o tipo de disco a ser usado como disco de inicialização de cada VM no pool de recursos (opcional). Esse campo corresponde ao
diskSpec.bootDiskType
na mensagem da APIResourcePool
. Os valores aceitáveis são os seguintes:pd-standard
(padrão)pd-ssd
- BOOT_DISK_SIZE_GB: o tamanho do disco em GiB para o disco de inicialização de cada VM no pool de recursos (opcional). Os valores aceitáveis são de
100
(padrão) a64000
. Esse campo corresponde ao campodiskSpec.bootDiskSizeGb
na mensagem da APIResourcePool
.
Método HTTP e URL:
POST http://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/persistentResources?persistent_resource_id=PERSISTENT_RESOURCE_ID
Corpo JSON da solicitação:
{ "display_name": "DISPLAY_NAME", "resource_pools": [ { "machine_spec": { "machine_type": "MACHINE_TYPE", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": ACCELERATOR_COUNT }, "replica_count": REPLICA_COUNT, "autoscaling_spec": { "min_replica_count": MIN_REPLICA_COUNT, "max_replica_count": MAX_REPLICA_COUNT }, "disk_spec": { "boot_disk_type": "BOOT_DISK_TYPE", "boot_disk_size_gb": BOOT_DISK_SIZE_GB } } ] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta: