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 über die Vertex AI API oder der Google Cloud CLI eine nichtflüchtige Ressource zum Ausführen Ihrer benutzerdefinierten Trainingsjobs erstellen.
Nichtflüchtige Ressource erstellen
Wählen Sie einen der folgenden Tabs aus, um zu erfahren, wie Sie eine nichtflüchtige Ressource erstellen.
gcloud
Eine nichtflüchtige Ressource kann einen oder mehrere Ressourcenpools haben. Wenn Sie mehrere Ressourcenpools in einer nichtflüchtigen Ressource erstellen möchten, geben Sie mehrere --resource-pool-spec
-Flags an.
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 das 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 das 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 eine Option sowohl in der Konfigurationsdatei als auch in den Befehlszeilenargumenten 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 beta 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 beta 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 beta 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 beta ai operations describe projects/sample-project/locations/us-central1/operations/1234567890123456789
Beispiel eines gcloud
-Befehls:
gcloud beta 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_K80,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. Beispiel:
gcloud beta ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --project=PROJECT_ID \ --region=LOCATION \ --config=CONFIG
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 das 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 das 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/v1beta1/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.v1beta1.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 oder es außerhalb der Spitzenzeiten noch einmal versuchen.
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 löschen.