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 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.
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 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
Suchparameter
  • updateMask (String, optional): Eine FieldMask die angibt, welche Felder der Ressource „Model Development Cluster“ aktualisiert werden sollen. Nur die in der updateMask aufgeführten Felder werden geändert.

    Die folgenden Felder in der Ressource ModelDevelopmentCluster 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

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.

Verhalten nach der Aktualisierung 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
Sobald der Aktualisierungsvorgang abgeschlossen ist, werden die meisten Änderungen sofort (oder innerhalb der 15-sekündigen Slurm-Synchronisierungszeit) wirksam und erfordern keine weiteren Maßnahmen. Nur Änderungen an der zugrunde liegenden Cluster-Recheninfrastruktur, einschließlich Änderungen an Speicherquellen und Startskripts, erfordern, dass die Ressourcen neu erstellt werden.

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.