Nachdem ein Cluster bereitgestellt wurde, können Sie seinen gesamten Lebenszyklus mit den folgenden REST API-Endpunkten verwalten.
List: Zeigt alle aktiven Cluster in Ihrem Projekt an.Get: Ruft detaillierte Informationen zu einem bestimmten Cluster ab.Update: Ändert eine vorhandene Clusterkonfiguration.Delete: Entfernt einen Cluster und seine Ressourcen dauerhaft.
Authentifizierung
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
Cluster auflisten:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
Die Methode „List“ unterstützt die folgenden optionalen Suchparameter zur Steuerung der Paginierung.
pageSize(Ganzzahl, optional): Die maximale Anzahl der Cluster, die in der Antwort zurückgegeben werden sollen. Der Dienst gibt möglicherweise weniger als diesen Wert zurück, auch wenn mehr Elemente vorhanden sind. Wenn nicht angegeben, eine Standardseitengröße verwendet wird.pageToken (string, optional): Ein Token, das von einem vorherigen Listenaufruf empfangen wurde. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
nextPageToken-String.
Cluster abrufen:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Cluster aktualisieren:
UPDATE_PAYLOAD gibt den lokalen Pfad zu einer JSON-Datei an, die den vollständigen
ModelDevelopmentCluster definiert, auf den Sie aktualisieren möchten.
Wenn Sie beispielsweise die Anzahl der Knoten eines Pools eines reinen CPU-Clusters, aktualisieren möchten, verwenden Sie die folgende JSON-Nutzlast:
{ "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, optional): Eine FieldMask die angibt, welche Felder der Ressource „Model Development Cluster“ aktualisiert werden sollen. Nur die in derupdateMaskaufgeführten Felder werden geändert.Die folgenden Felder in der Ressource
ModelDevelopmentClusterkönnen in derupdateMaskangegeben werden: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
Mit dem folgenden Befehl werden sowohl die Knotenpoolkonfiguration als auch die Slurm-Partitionen aktualisiert.
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'
Für wiederholte Felder wie node_pools, prolog_bash_scripts und epilog_bash_scripts unterstützt die API nur einen vollständigen Ersetzungsvorgang. Der Nutzer muss die gesamte erwartete Liste von Elementen in der Anfrage-Nutzlast angeben, um die vorhandene Liste vollständig zu ersetzen.
Bei einer erfolgreichen Anfrage wird ein Vorgang mit langer Ausführungszeit zurückgegeben. Sie können den Status dieses Vorgangs dann mit dem folgenden Befehl überwachen:
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Cluster löschen:
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Dieser Befehl gibt bei Erfolg einen Vorgang mit langer Ausführungszeit zurück, den Sie dann mit dem Befehl operations describe überwachen können.
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
Nächste Schritte
Durch die Verwaltung Ihres Vertex AI-Trainingsclusters können Sie seine Nutzung optimieren, ihn in automatisierte Arbeitsabläufe einbinden und Ihre trainierten Modelle für die Bereitstellung vorbereiten.
- Trainings orchestrieren mit Vertex AI-Pipelines: Automatisieren Sie den gesamten Lebenszyklus Ihrer Trainingsjobs, von der Datenvorbereitung bis zur Modellregistrierung, mit Pipelines, die auf Ihren verwalteten Cluster ausgerichtet sind.
- Trainingsjobs überwachen und Fehler beheben: Verfolgen Sie den Fortschritt und die Ressourcennutzung und ermitteln Sie Probleme mit Ihren verteilten Trainingsjobs, die im Cluster ausgeführt werden.
- Modell für die Inferenz bereitstellen: Nachdem Ihre Modelle trainiert und registriert wurden, stellen Sie sie auf einem Vertex AI-Endpunkt bereit, um Online-Inferenzanfragen im großen Maßstab zu verarbeiten.
- Kosten optimieren: Prüfen Sie regelmäßig die Clusternutzung und löschen Sie den Cluster, wenn er nicht aktiv verwendet wird, um die Abrechnung für reservierte Hardware zu minimieren.