Cluster verwalten

Wenn Sie sich für Vertex AI-Trainingscluster interessieren, wenden Sie sich an Ihren Vertriebsmitarbeiter, um Zugriff zu erhalten.

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.
Im folgenden Beispiel wird die erste Ergebnisseite mit maximal 5 Clustern pro Seite angefordert.

    gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
    

Eine erfolgreiche Antwort enthält ein „clusters“-Array mit bis zu fünf Clusterressourcen und kann auch einen 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
Abfrageparameter
  • updateMask (String, optional): Eine FieldMask, die angibt, welche Felder der Clusterressource für die Modellentwicklung aktualisiert werden sollen. Nur die in der updateMask aufgeführten Felder werden geändert.

    Die folgenden Felder in der ModelDevelopmentCluster-Ressource können in der updateMask angegeben werden:

    • node_pools
    • orchestrator_spec.slurm_spec.partitions
    • orchestrator_spec.slurm_spec.login_node_pool_id
    • orchestrator_spec.slurm_spec.prolog_bash_scripts
    • orchestrator_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'
Wichtiger Hinweis zu wiederholten Feldern

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.

Verhalten nach dem Update und Clusterstatus

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
Nachdem der Aktualisierungsvorgang abgeschlossen ist, werden die meisten Änderungen sofort (oder innerhalb der 15 Sekunden dauernden Slurm-Synchronisierungszeit) wirksam und es sind keine weiteren Aktionen erforderlich. Nur Änderungen an der zugrunde liegenden Recheninfrastruktur des Clusters, einschließlich Änderungen an Speicherquellen und Startskripten, erfordern, dass die Ressourcen neu erstellt werden.

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.