Wenn Sie eine persistente Ressource erstellen, sucht der Trainingsdienst zuerst nach Ressourcen aus dem Compute Engine-Ressourcenpool und stellt für Sie dann einen Cluster mit langer Ausführungszeit bereit. Auf dieser Seite erfahren Sie, wie Sie mit der Google Cloud Console, der Google Cloud CLI und der REST API eine nichtflüchtige Ressource zum Ausführen Ihrer benutzerdefinierten Trainingsjobs erstellen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Vertex AI Administrator (roles/aiplatform.admin
) für Ihr Projekt zuzuweisen, um die Berechtigung zum Erstellen einer nichtflüchtigen Ressource zu erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigung aiplatform.persistentResources.create
, die zum Erstellen einer nichtflüchtigen Ressource erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Nichtflüchtige Ressource erstellen
Wählen Sie einen der folgenden Tabs aus, um zu erfahren, wie Sie eine nichtflüchtige Ressource erstellen.
Konsole
So erstellen Sie eine nichtflüchtige Ressource mit der Google Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Nichtflüchtige Ressourcen auf.
Klicken Sie auf Cluster erstellen.
Konfigurieren Sie den Cluster so:
- Name: Geben Sie einen Namen für den Cluster ein.
- Beschreibung: (Optional) Geben Sie eine Beschreibung des Clusters ein.
- Region: Wählen Sie die Region aus, in der Sie den Cluster erstellen möchten.
Klicken Sie auf Weiter.
Konfigurieren Sie die Compute-Ressourcen für den Cluster so:
- Klicken Sie auf Worker-Pool1.
Wählen Sie den Tab der Maschinenfamilie aus, die Sie verwenden möchten, und konfigurieren Sie den Worker-Pool so:
Für allgemeine Zwecke
VMs für allgemeine Zwecke bieten bei einer Vielzahl von Arbeitslasten das beste Preis-Leistungs-Verhältnis.
- Reihe: Wählen Sie eine Maschinenserie.
- Maschinentyp: Wählen Sie einen Maschinentyp aus.
- Laufwerktyp: Wählen Sie Standardlaufwerk oder SSD-Laufwerk aus.
- Laufwerkgröße: Geben Sie die Größe des gewünschten Laufwerks ein.
- Mindestanzahl an Replikaten: Geben Sie die Mindestanzahl an Replikaten ein, die im Worker-Pool vorhanden sein müssen.
- Maximale Anzahl an Replikaten: (Optional) Geben Sie die maximale Anzahl an Replikaten ein, die im Worker-Pool zulässig sind. Wenn angegeben, skaliert der Worker-Pool die Anzahl der Replikate automatisch bis zur konfigurierten maximalen Replikatanzahl nach Bedarf.
Computing-optimiert
Computing-optimierte VMs bieten die höchste Leistung pro Kern und sind für rechenintensive Arbeitslasten optimiert.
- Reihe: Wählen Sie eine Maschinenserie.
- Maschinentyp: Wählen Sie einen Maschinentyp aus.
- Laufwerktyp: Wählen Sie Standardlaufwerk oder SSD-Laufwerk aus.
- Laufwerkgröße: Geben Sie die Größe des gewünschten Laufwerks ein.
- Mindestanzahl an Replikaten: Geben Sie die Mindestanzahl an Replikaten ein, die im Worker-Pool vorhanden sein müssen.
- Maximale Anzahl an Replikaten: (Optional) Geben Sie die maximale Anzahl an Replikaten ein, die im Worker-Pool zulässig sind. Wenn angegeben, skaliert der Worker-Pool die Anzahl der Replikate automatisch bis zur konfigurierten maximalen Replikatanzahl nach Bedarf.
Speicheroptimiert
Speicheroptimierte VMs – ideal für arbeitsspeicherintensive Arbeitslasten, mit mehr Arbeitsspeicher pro Kern als bei anderen Maschinenfamilien und bis zu 12 TB Arbeitsspeicher.
- Reihe: Wählen Sie eine Maschinenserie.
- Maschinentyp: Wählen Sie einen Maschinentyp aus.
- Laufwerktyp: Wählen Sie Standardlaufwerk oder SSD-Laufwerk aus.
- Laufwerkgröße: Geben Sie die Größe des gewünschten Laufwerks ein.
- Mindestanzahl an Replikaten: Geben Sie die Mindestanzahl an Replikaten ein, die im Worker-Pool vorhanden sein müssen.
- Maximale Anzahl an Replikaten: (Optional) Geben Sie die maximale Anzahl an Replikaten ein, die im Worker-Pool zulässig sind. Wenn angegeben, skaliert der Worker-Pool die Anzahl der Replikate automatisch bis zur konfigurierten maximalen Replikatanzahl nach Bedarf.
GPUs
Diese beschleunigungsoptimierten VMs sind ideal für extrem parallelisierte CUDA-Computing-Arbeitslasten (Compute Unified Device Architecture), z. B. maschinelles Lernen (ML) und Hochleistungs-Computing (HPC). Diese Familie ist die beste Option für Arbeitslasten, die GPUs erfordern.
- GPU-Typ: Wählen Sie den GPU-Typ aus, den Sie verwenden möchten.
- Anzahl der GPUs: Geben Sie die Anzahl der GPUs ein, die Sie verwenden möchten.
- Reihe: Wählen Sie eine Maschinenserie.
- Maschinentyp: Wählen Sie einen Maschinentyp aus.
- Laufwerktyp: Wählen Sie Standardlaufwerk oder SSD-Laufwerk aus.
- Laufwerkgröße: Geben Sie die Größe des gewünschten Laufwerks ein.
- Mindestanzahl an Replikaten: Geben Sie die Mindestanzahl an Replikaten ein, die im Worker-Pool vorhanden sein müssen.
- Maximale Anzahl an Replikaten: (Optional) Geben Sie die maximale Anzahl an Replikaten ein, die im Worker-Pool zulässig sind. Wenn angegeben, skaliert der Worker-Pool die Anzahl der Replikate automatisch bis zur konfigurierten maximalen Replikatanzahl nach Bedarf.
Klicken Sie auf Fertig.
(Optional) Klicken Sie auf Worker-Pool hinzufügen, um weitere Worker-Pools hinzuzufügen.
Klicken Sie auf Erstellen.
gcloud
Eine nichtflüchtige Ressource kann einen oder mehrere Ressourcenpools enthalten. Geben Sie mehrere --resource-pool-spec
-Flags an, um mehrere Ressourcenpools in einer nichtflüchtigen Ressource zu erstellen.
Für jeden Ressourcenpool kann Autoscaling entweder aktiviert oder deaktiviert sein. Geben Sie min_replica_count
und max_replica_count
an, um das Autoscaling zu aktivieren.
Sie können alle Ressourcenpoolkonfigurationen als Teil der Befehlszeile angeben oder das --config
-Flag verwenden, um den Pfad zu einer YAML-Datei anzugeben, die die Konfigurationen enthält.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- PROJECT_ID: Die Projekt-ID des Google Cloud -Projekts, in dem Sie die nichtflüchtige Ressource erstellen möchten.
- LOCATION: Die Region, in der Sie die nichtflüchtige Ressource erstellen möchten. Eine Liste der unterstützten Regionen finden Sie unter Featureverfügbarkeit.
- PERSISTENT_RESOURCE_ID: die ID der nichtflüchtigen Ressource.
- DISPLAY_NAME: (Optional) Der Anzeigename der nichtflüchtigen Ressource.
- MACHINE_TYPE: Der zu verwendende VM-Typ. Eine Liste der unterstützten VMs finden Sie unter Maschinentypen.
Dieses Feld entspricht dem Feld
machineSpec.machineType
in derResourcePool
-API-Nachricht. - ACCELERATOR_TYPE: (Optional) Der GPU-Typ, der an die einzelnen VMs im Ressourcenpool angehängt werden soll. Eine Liste der unterstützten GPUs finden Sie unter GPUs. Dieses Feld entspricht dem Feld
machineSpec.acceleratorType
in derResourcePool
-API-Nachricht. - ACCELERATOR_COUNT: (Optional) Die Anzahl der GPUs, die an jede VM im Ressourcenpool angehängt werden soll. Der Standardwert ist
1
. Dieses Feld entspricht dem FeldmachineSpec.acceleratorCount
in derResourcePool
-API-Nachricht. - REPLICA_COUNT: Die Anzahl der Replikate, die beim Erstellen dieses Ressourcenpools erzeugt werden sollen. Dieses Feld entspricht dem Feld
replicaCount
in derResourcePool
-API-Nachricht. Dieses Feld ist erforderlich, wenn Sie MIN_REPLICA_COUNT und MAX_REPLICA_COUNT nicht angeben. - MIN_REPLICA_COUNT: (Optional) Die Mindestanzahl an Replikaten, auf die Autoscaling für diesen Ressourcenpool herunterskalieren kann. Sowohl MIN_REPLICA_COUNT als auch MAX_REPLICA_COUNT sind erforderlich, um Autoscaling für diesen Ressourcenpool zu aktivieren.
- MAX_REPLICA_COUNT: (Optional) Die Höchstzahl der Replikate, auf die Autoscaling für diesen Ressourcenpool skalieren kann. Sowohl MIN_REPLICA_COUNT als auch MAX_REPLICA_COUNT sind erforderlich, um Autoscaling für diesen Ressourcenpool zu aktivieren.
- BOOT_DISK_TYPE: (Optional) Der Laufwerkstyp, der für die Bootlaufwerke der einzelnen VMs im Ressourcenpool verwendet werden soll. Dieses Feld entspricht dem Feld
diskSpec.bootDiskType
in derResourcePool
-API-Nachricht. Unter anderem sind folgende Werte zulässig:pd-standard
(Standardeinstellung)pd-ssd
- BOOT_DISK_SIZE_GB: (Optional) Die Laufwerkgröße in GiB für die Bootlaufwerke der einzelnen VMs im Ressourcenpool. Die zulässigen Werte sind
100
(Standard) bis64000
. Dieses Feld entspricht dem FelddiskSpec.bootDiskSizeGb
in derResourcePool
-API-Nachricht. - CONFIG: Pfad zur YAML-Konfigurationsdatei für nichtflüchtige Ressourcen. Diese Datei sollte eine ResourcePool-Liste enthalten. Wenn sowohl in der Konfigurationsdatei als auch in den Befehlszeilenargumenten eine Option angegeben ist, überschreiben die Befehlszeilenargumente die Konfigurationsdatei. Bachten Sie: Schlüssel mit Unterstrichen sind ungültig.
Beispiel für eine YAML-Konfigurationsdatei:
resourcePoolSpecs: machineSpec: machineType: n1-standard-4 replicaCount: 1
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --display-name=DISPLAY_NAME \ --project=PROJECT_ID \ --region=LOCATION \ --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Windows (PowerShell)
gcloud ai persistent-resources create ` --persistent-resource-id=PERSISTENT_RESOURCE_ID ` --display-name=DISPLAY_NAME ` --project=PROJECT_ID ` --region=LOCATION ` --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Windows (cmd.exe)
gcloud ai persistent-resources create ^ --persistent-resource-id=PERSISTENT_RESOURCE_ID ^ --display-name=DISPLAY_NAME ^ --project=PROJECT_ID ^ --region=LOCATION ^ --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Sie sollten eine Antwort ähnlich der folgenden erhalten:
Using endpoint [https://us-central1-aiplatform.googleapis.com/] Operation to create PersistentResource [projects/123456789012/locations/us-central1/persistentResources/mypersistentresource/operations/1234567890123456789] is submitted successfully. You may view the status of your PersistentResource create operation with the command $ gcloud ai operations describe projects/sample-project/locations/us-central1/operations/1234567890123456789
Beispiel eines gcloud
-Befehls:
gcloud ai persistent-resources create \ --persistent-resource-id=my-persistent-resource \ --region=us-central1 \ --resource-pool-spec="min-replica-count=4,max-replica-count=12,machine-type=n1-highmem-2,accelerator-type=NVIDIA_TESLA_T4,accelerator-count=1,disk-type=pd-standard,disk-size=200" \ --resource-pool-spec="replica-count=4,machine-type=n1-standard-4"
Erweiterte gcloud
-Konfigurationen
Wenn Sie Konfigurationsoptionen angeben möchten, die in den vorhergehenden Beispielen nicht verfügbar sind, können Sie mit dem Flag --config
den Pfad zu einer config.yaml
-Datei in Ihrer lokalen Umgebung angeben, die die Felder von persistentResources
enthält. Beispiele:
gcloud ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --project=PROJECT_ID \ --region=LOCATION \ --config=CONFIG
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Wenn Sie eine persistente Ressource erstellen möchten, die Sie mit einem Pipeline-Lauf verwenden können, legen Sie den Parameterenable_custom_service_account
beim Erstellen der persistenten Ressource im Objekt ResourceRuntimeSpec
auf True
fest.
from google.cloud.aiplatform.preview import persistent_resource from google.cloud.aiplatform_v1beta1.types.persistent_resource import ResourcePool from google.cloud.aiplatform_v1beta1.types.machine_resources import MachineSpec # Create the persistent resource. This method returns the created resource. my_example_resource = persistent_resource.PersistentResource.create( persistent_resource_id='PERSISTENT_RESOURCE_ID', display_name='DISPLAY_NAME', resource_pools=[ ResourcePool( machine_spec=MachineSpec( machine_type='MACHINE_TYPE' ), replica_count=REPLICA_COUNT ) ], enable_custom_service_account=True, ) # Setting `sync` to `False` makes the method is non-blocking and the resource # object returned syncs when the method completes. SYNC=False if not SYNC: my_example_resource.wait()
Ersetzen Sie Folgendes:
- PERSISTENT_RESOURCE_ID: Eine eindeutige, benutzerdefinierte ID für die nichtflüchtige Ressource. Er muss mit einem Buchstaben beginnen, mit einem Buchstaben oder einer Zahl enden und darf nur Kleinbuchstaben, Ziffern und Bindestriche (-) enthalten.
- DISPLAY_NAME: Optional. Der Anzeigename der persistenten Ressource.
- MACHINE_TYPE: Der zu verwendende VM-Typ. Eine Liste der unterstützten VMs finden Sie unter Maschinentypen.
Dieses Feld entspricht dem Feld
machineSpec.machineType
in der - REPLICA_COUNT: Die Anzahl der Replikate, die beim Erstellen dieses Ressourcenpools erzeugt werden sollen.
REST
Eine nichtflüchtige Ressource kann einen oder mehrere Ressourcenpools (machine_spec
) enthalten. Für die einzelnen Ressourcenpools kann das Autoscaling aktiviert oder deaktiviert sein.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Die Projekt-ID des Google Cloud -Projekts, in dem Sie die nichtflüchtige Ressource erstellen möchten.
- LOCATION: Die Region, in der Sie die nichtflüchtige Ressource erstellen möchten. Eine Liste der unterstützten Regionen finden Sie unter Featureverfügbarkeit.
- PERSISTENT_RESOURCE_ID: die ID der nichtflüchtigen Ressource.
- DISPLAY_NAME: (Optional) Der Anzeigename der nichtflüchtigen Ressource.
- MACHINE_TYPE: Der zu verwendende VM-Typ. Eine Liste der unterstützten VMs finden Sie unter Maschinentypen.
Dieses Feld entspricht dem Feld
machineSpec.machineType
in derResourcePool
-API-Nachricht. - ACCELERATOR_TYPE: (Optional) Der GPU-Typ, der an die einzelnen VMs im Ressourcenpool angehängt werden soll. Eine Liste der unterstützten GPUs finden Sie unter GPUs. Dieses Feld entspricht dem Feld
machineSpec.acceleratorType
in derResourcePool
-API-Nachricht. - ACCELERATOR_COUNT: (Optional) Die Anzahl der GPUs, die an jede VM im Ressourcenpool angehängt werden soll. Der Standardwert ist
1
. Dieses Feld entspricht dem FeldmachineSpec.acceleratorCount
in derResourcePool
-API-Nachricht. - REPLICA_COUNT: Die Anzahl der Replikate, die beim Erstellen dieses Ressourcenpools erzeugt werden sollen. Dieses Feld entspricht dem Feld
replicaCount
in derResourcePool
-API-Nachricht. Dieses Feld ist erforderlich, wenn Sie MIN_REPLICA_COUNT und MAX_REPLICA_COUNT nicht angeben. - MIN_REPLICA_COUNT: (Optional) Die Mindestanzahl an Replikaten, auf die Autoscaling für diesen Ressourcenpool herunterskalieren kann. Sowohl MIN_REPLICA_COUNT als auch MAX_REPLICA_COUNT sind erforderlich, um Autoscaling für diesen Ressourcenpool zu aktivieren.
- MAX_REPLICA_COUNT: (Optional) Die Höchstzahl der Replikate, auf die Autoscaling für diesen Ressourcenpool skalieren kann. Sowohl MIN_REPLICA_COUNT als auch MAX_REPLICA_COUNT sind erforderlich, um Autoscaling für diesen Ressourcenpool zu aktivieren.
- BOOT_DISK_TYPE: (Optional) Der Laufwerkstyp, der für die Bootlaufwerke der einzelnen VMs im Ressourcenpool verwendet werden soll. Dieses Feld entspricht dem Feld
diskSpec.bootDiskType
in derResourcePool
-API-Nachricht. Unter anderem sind folgende Werte zulässig:pd-standard
(Standardeinstellung)pd-ssd
- BOOT_DISK_SIZE_GB: (Optional) Die Laufwerkgröße in GiB für die Bootlaufwerke der einzelnen VMs im Ressourcenpool. Die zulässigen Werte sind
100
(Standard) bis64000
. Dieses Feld entspricht dem FelddiskSpec.bootDiskSizeGb
in derResourcePool
-API-Nachricht.
HTTP-Methode und URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/persistentResources?persistent_resource_id=PERSISTENT_RESOURCE_ID
JSON-Text anfordern:
{ "display_name": "DISPLAY_NAME", "resource_pools": [ { "machine_spec": { "machine_type": "MACHINE_TYPE", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": ACCELERATOR_COUNT }, "replica_count": REPLICA_COUNT, "autoscaling_spec": { "min_replica_count": MIN_REPLICA_COUNT, "max_replica_count": MAX_REPLICA_COUNT }, "disk_spec": { "boot_disk_type": "BOOT_DISK_TYPE", "boot_disk_size_gb": BOOT_DISK_SIZE_GB } } ] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/123456789012/locations/us-central1/persistentResources/mypersistentresource/operations/1234567890123456789", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreatePersistentResourceOperationMetadata", "genericMetadata": { "createTime": "2023-02-08T21:17:15.009668Z", "updateTime": "2023-02-08T21:17:15.009668Z" } } }
Ressourcenmangel
Es kann bei knappen Ressourcen wie A100-GPUs zu Engpässen kommen, was zu einem Fehler bei der dauerhaften Ressourcenerstellung führen kann, wenn in der von Ihnen angegebenen Region keine Ressource verfügbar ist. In diesem Fall können Sie versuchen, die Anzahl der Replikate zu reduzieren, zu einem anderen Beschleunigertyp wechseln, es außerhalb der Spitzenzeiten noch einmal versuchen oder eine andere Region ausprobieren.
Nächste Schritte
- Trainingsjobs für eine nichtflüchtige Ressource ausführen.
- Mehr über nichtflüchtige Ressourcen erfahren.
- Informationen zu einer nichtflüchtigen Ressource abrufen.
- Nichtflüchtige Ressource neu starten.
- Nichtflüchtige Ressource löschen.