Depois que um cluster é implantado, é possível gerenciar todo o ciclo de vida dele usando os endpoints da API REST a seguir.
List: mostra todos os clusters ativos no seu projeto.Get: recupera informações detalhadas de um cluster específico.Update: modifica uma configuração de cluster atual.Delete: remove permanentemente um cluster e os recursos dele.
Autenticação
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Listar clusters:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
O método de lista oferece suporte aos seguintes parâmetros de consulta opcionais para controlar a paginação.
pageSize(inteiro, opcional): o número máximo de clusters a serem retornados na resposta. O serviço pode retornar menos que esse valor, mesmo que haja mais itens. Se não for especificado, um tamanho de página padrão será usado.pageToken (string, optional): um token recebido de uma chamada de lista anterior. Forneça esse token para recuperar a próxima página de resultados.
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
nextPageToken.
Acessar um cluster:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Atualizar um cluster:
UPDATE_PAYLOAD especifica o caminho local para um arquivo JSON que define o
ModelDevelopmentCluster completo que você quer atualizar.
Por exemplo, para atualizar a contagem de nós de um pool de um cluster somente de CPU, use o seguinte payload JSON:
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "cpu", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": UPDATED_MIN_NODE_COUNT, "max_node_count": UPDATED_MAX_NODE_COUNT }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } }, { "id": "login", "machine_spec": { "machine_type": "n2-standard-8", }, "scaling_spec": { "min_node_count": 1, "max_node_count": 1 }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } }, ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "partitions": [ { "id": "cpu", "node_pool_ids": [ "cpu" ] } ], "login_node_pool_id": "login" } } }
gcurl -X PATCH -d @UPDATE_PAYLOAD https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
-
updateMask(string, opcional): uma FieldMask que especifica quais campos do recurso do cluster de desenvolvimento de modelos serão atualizados. Somente os campos listados noupdateMasksão alterados.Os campos a seguir no recurso
ModelDevelopmentClusterpodem ser especificados noupdateMask:node_poolsorchestrator_spec.slurm_spec.partitionsorchestrator_spec.slurm_spec.login_node_pool_idorchestrator_spec.slurm_spec.prolog_bash_scriptsorchestrator_spec.slurm_spec.epilog_bash_scripts
O comando abaixo atualiza a configuração do pool de nós e as partições do Slurm.
gcurl -X PATCH -d @update-payload.json 'https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID?updateMask=orchestrator_spec.slurm_spec.partitions,node_pools'
Para campos repetidos, como node_pools, prolog_bash_scripts e epilog_bash_scripts, a API oferece suporte apenas a uma operação de substituição completa. O usuário precisa fornecer toda a lista esperada de itens no payload da solicitação para substituir completamente a lista atual.
Uma solicitação bem-sucedida retorna uma operação de longa duração (LRO, na sigla em inglês). Em seguida, é possível monitorar o status dessa operação usando o seguinte comando:
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Excluir um cluster:
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Esse comando retorna uma operação de longa duração bem-sucedida, que pode ser monitorada usando o comando operations describe.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
A seguir
O gerenciamento do cluster de treinamento da Vertex AI permite otimizar o uso dele, integrá-lo a fluxos de trabalho automatizados e preparar os modelos treinados para implantação.
- Orquestre o treinamento com os pipelines da Gemini Enterprise Agent Platform: automatize todo o ciclo de vida dos jobs de treinamento, desde a preparação de dados até o registro de modelos, usando pipelines que segmentam o cluster gerenciado.
- Monitore e depure os jobs de treinamento: acompanhe o progresso e o uso de recursos e identifique problemas com os jobs de treinamento distribuídos em execução no cluster.
- Implante o modelo para inferência: depois que os modelos forem treinados e registrados, implante-os em um endpoint da Vertex AI para veicular solicitações de inferência on-line em escala.
- Otimize os custos: analise regularmente a utilização do cluster e exclua-o quando não estiver em uso para minimizar o faturamento do hardware reservado.