Depois de implementar um cluster, pode gerir o respetivo ciclo de vida completo através dos seguintes pontos finais da API REST.
List: vê todos os clusters ativos no seu projeto.Get: obtém informações detalhadas de um cluster específico.Update: modifica uma configuração de cluster existente.Delete: remove permanentemente um cluster e os respetivos recursos.
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 list suporta os seguintes parâmetros de consulta opcionais para controlar a paginação.
pageSize(número inteiro, opcional): o número máximo de clusters a devolver na resposta. O serviço pode devolver menos do que este valor, mesmo que existam mais artigos. Se não for especificado, é usado um tamanho da página predefinido.pageToken (string, optional): um token recebido de uma chamada de lista anterior. Indique este token para obter a página seguinte de resultados.
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
nextPageToken.
Obter um cluster:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Atualize um cluster:
UPDATE_PAYLOAD especifica o caminho local para um ficheiro JSON que define o ModelDevelopmentCluster completo para o qual quer fazer a atualização.
Por exemplo, para atualizar a contagem de nós de um conjunto de um cluster apenas com 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): um FieldMask que especifica os campos do recurso do cluster de desenvolvimento de modelos a atualizar. Apenas os campos indicados emupdateMasksão alterados.Os seguintes campos 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 node pool 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 só suporta uma operação de substituição completa. O utilizador tem de fornecer a lista completa esperada de itens no payload do pedido para substituir completamente a lista existente.
Um pedido bem-sucedido devolve uma operação de longa duração (LRO). Em seguida, pode monitorizar o estado desta operação através do seguinte comando:
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Elimine um cluster:
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Este comando devolve uma operação de longa duração em caso de êxito, que pode monitorizar através do comando operations describe.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
O que se segue?
A gestão do cluster de preparação do Vertex AI permite-lhe otimizar a respetiva utilização, integrá-lo em fluxos de trabalho automatizados e preparar os seus modelos preparados para implementação.
- Orquestre a sua preparação com os Vertex AI Pipelines: automatize todo o ciclo de vida das suas tarefas de preparação, desde a preparação de dados ao registo de modelos, usando pipelines que segmentam o seu cluster gerido.
- Monitorize e depure as suas tarefas de preparação: acompanhe o progresso e a utilização de recursos, e identifique problemas com as suas tarefas de preparação distribuída em execução no cluster.
- Implemente o seu modelo para inferência: depois de os modelos serem preparados e registados, implemente-os num ponto final do Vertex AI para apresentar pedidos de inferência online em grande escala.
- Otimize os custos: reveja regularmente a utilização do cluster e elimine-o quando não estiver a ser usado ativamente para minimizar a faturação do hardware reservado.