Cluster verwalten

Wenn Sie sich für Trainingscluster der Gemini Enterprise Agent Platform interessieren, wenden Sie sich an Ihren Vertriebsmitarbeiter, um Zugriff zu erhalten.

Nach der Bereitstellung eines Clusters 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 für einen 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 fünf 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 Cluster-Array mit bis zu fünf Clusterressourcen und möglicherweise auch einen 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 die vollständige ModelDevelopmentCluster enthält, auf die Sie aktualisieren möchten.

Wenn Sie beispielsweise die Anzahl der Knoten eines Pools eines Clusters nur mit CPUs 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 wiederholten 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 von Elementen im Anfrage-Payload 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 Updatevorgang erfolgreich abgeschlossen wurde, werden die meisten Änderungen sofort (oder innerhalb der 15 Sekunden dauernden Slurm-Synchronisierungszeit) übernommen und erfordern keine weiteren Maßnahmen. Nur Änderungen an der zugrunde liegenden Compute-Infrastruktur des Clusters, einschließlich Änderungen an Speicherquellen und Startskripts, 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 Gemini Enterprise Agent Platform-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.