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 endgültig.
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 Abfrageparameter 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 nichts angegeben ist, wird eine Standardseitengröße verwendet.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 enthalten.
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 die vollständige ModelDevelopmentCluster enthält, auf die 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 Clusterressource für die Modellentwicklung aktualisiert werden sollen. Nur die in derupdateMaskaufgeführten Felder werden geändert.Die folgenden Felder in der
ModelDevelopmentCluster-Ressource kö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'
Bei sich wiederholenden Feldern 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 der Elemente 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
So löschen Sie einen Cluster:
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
Bei Erfolg gibt dieser Befehl 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
Wenn Sie Ihren Vertex AI-Trainingscluster verwalten, können Sie seine Nutzung optimieren, ihn in automatisierte Workflows einbinden und Ihre trainierten Modelle für die Bereitstellung vorbereiten.
- Training mit Vertex AI Pipelines orchestrieren: 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 debuggen: Verfolgen Sie den Fortschritt und die Ressourcennutzung und identifizieren 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 bearbeiten.
- 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.