Una vez que se ha desplegado un clúster, puedes gestionar todo su ciclo de vida con los siguientes endpoints de la API REST.
List: muestra todos los clústeres activos de tu proyecto.Get: obtiene información detallada sobre un clúster específico.Update: modifica una configuración de clúster.Delete: elimina permanentemente un clúster y sus recursos.
Autenticación
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Mostrar clústeres:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
El método list admite los siguientes parámetros de consulta opcionales para controlar la paginación.
pageSize(entero, opcional): número máximo de clústeres que se devolverán en la respuesta. El servicio puede devolver menos elementos que este valor, aunque haya más. Si no se especifica, se usará un tamaño de página predeterminado.pageToken (string, optional): token recibido de una llamada de lista anterior. Proporciona este token para obtener la siguiente página de resultados.
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
nextPageToken.
Obtener un clúster:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Actualizar un clúster:
UPDATE_PAYLOAD especifica la ruta local a un archivo JSON que define la versión completa ModelDevelopmentCluster a la que quieres actualizar.
Por ejemplo, para actualizar el número de nodos de un grupo de un clúster solo de CPU, usa la siguiente carga útil 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(cadena, opcional): una FieldMask que especifica qué campos del recurso de clúster de desarrollo de modelos se van a actualizar. Solo se modifican los campos que se indican enupdateMask.Los siguientes campos del recurso
ModelDevelopmentClusterse pueden especificar enupdateMask: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
El comando de abajo actualiza tanto la configuración del grupo de nodos como las particiones de 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'
En el caso de los campos repetidos, como node_pools, prolog_bash_scripts y epilog_bash_scripts, la API solo admite una operación de sustitución completa. El usuario debe proporcionar la lista completa de elementos esperada en la carga útil de la solicitud para sustituir la lista actual por completo.
Una solicitud correcta devuelve una operación de larga duración (LRO). A continuación, puedes monitorizar el estado de esta operación con el siguiente comando:
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Eliminar un clúster:
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Si se ejecuta correctamente, este comando devuelve una operación de larga duración que puedes monitorizar con el comando operations describe.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Siguientes pasos
Gestionar tu clúster de entrenamiento de Vertex AI te permite optimizar su uso, integrarlo en flujos de trabajo automatizados y preparar tus modelos entrenados para el despliegue.
- Orquesta tu entrenamiento con Vertex AI Pipelines: automatiza todo el ciclo de vida de tus trabajos de entrenamiento, desde la preparación de los datos hasta el registro del modelo, mediante las canalizaciones que se dirigen a tu clúster gestionado.
- Monitoriza y depura tus tareas de entrenamiento: haz un seguimiento del progreso y del uso de recursos, e identifica problemas en las tareas de entrenamiento distribuido que se ejecutan en el clúster.
- Despliega tu modelo para la inferencia: una vez que tus modelos se hayan entrenado y registrado, despliégalos en un endpoint de Vertex AI para atender solicitudes de inferencia online a gran escala.
- Optimizar los costes: revisa periódicamente la utilización de tu clúster y elimínalo cuando no lo estés usando para minimizar la facturación del hardware reservado.