Une fois le cluster déployé, vous pouvez gérer son cycle de vie complet à l'aide des points de terminaison de l'API REST suivants.
List: affiche tous les clusters actifs de votre projet.Get: récupère des informations détaillées sur un cluster spécifique.Update: modifie une configuration de cluster existante.Delete: supprime définitivement un cluster et ses ressources.
Authentification
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Répertoriez les clusters :
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
La méthode list accepte les paramètres de requête facultatifs suivants pour contrôler la pagination.
pageSize(entier, facultatif) : nombre maximal de clusters à renvoyer dans la réponse. Le service peut renvoyer un nombre inférieur à cette valeur, même si d'autres éléments existent. Si aucune valeur n'est spécifiée, une taille de page par défaut sera utilisée.pageToken (string, optional): jeton reçu lors d'un appel de liste précédent. Fournissez ce jeton pour récupérer la page de résultats suivante.
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
nextPageToken.
Obtenez un cluster :
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Mettez à jour un cluster :
UPDATE_PAYLOAD spécifie le chemin d'accès local à un fichier JSON qui définit l'intégralité de ModelDevelopmentCluster que vous souhaitez mettre à jour.
Par exemple, pour mettre à jour le nombre de nœuds d'un pool d'un cluster avec processeur uniquement, utilisez la charge utile JSON suivante :
{ "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(chaîne, facultatif) : FieldMask qui spécifie les champs de la ressource de cluster de développement de modèles à mettre à jour. Seuls les champs listés dansupdateMasksont modifiés.Les champs suivants de la ressource
ModelDevelopmentClusterpeuvent être spécifiés dansupdateMask: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
La commande ci-dessous met à jour à la fois la configuration du pool de nœuds et les partitions 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'
Pour les champs répétés, tels que node_pools, prolog_bash_scripts et epilog_bash_scripts, l'API n'accepte que les opérations de remplacement complet. L'utilisateur doit fournir la liste complète des éléments attendus dans la charge utile de la requête pour remplacer complètement la liste existante.
Si la requête réussit, elle renvoie une opération de longue durée (LRO). Vous pouvez ensuite surveiller l'état de cette opération à l'aide de la commande suivante :
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Supprimez un cluster :
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
En cas de réussite, cette commande renvoie une opération de longue durée que vous pouvez ensuite surveiller à l'aide de la commande operations describe.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Étapes suivantes
La gestion de votre cluster d'entraînement Vertex AI vous permet d'optimiser son utilisation, de l'intégrer à des workflows automatisés et de préparer vos modèles entraînés pour le déploiement.
- Orchestrez votre entraînement avec Vertex AI Pipelines : automatisez l'intégralité du cycle de vie de vos jobs d'entraînement, de la préparation des données à l'enregistrement des modèles, à l'aide de pipelines ciblant votre cluster géré.
- Surveillez et déboguez vos jobs d'entraînement : suivez la progression et l'utilisation des ressources, et identifiez les problèmes liés à vos jobs d'entraînement distribués exécutés sur le cluster.
- Déployez votre modèle pour l'inférence : une fois vos modèles entraînés et enregistrés, déployez-les sur un point de terminaison Vertex AI pour répondre aux demandes d'inférence en ligne à grande échelle.
- Optimisez les coûts : examinez régulièrement l'utilisation de votre cluster et supprimez-le lorsqu'il n'est pas utilisé activement pour minimiser la facturation du matériel réservé.