Lorsque vous créez une ressource persistante, le service d'entraînement recherche d'abord les ressources du pool de ressources Compute Engine en fonction des spécifications que vous avez fournies, puis provisionne un cluster de longue durée. Cette page explique comment créer une ressource persistante pour exécuter vos tâches d'entraînement personnalisé à l'aide de l'API Vertex AI ou de Google Cloud CLI.
Créer une ressource persistante
Sélectionnez l'un des onglets suivants pour obtenir des instructions sur la création d'une ressource persistante.
gcloud
Une ressource persistante peut avoir un ou plusieurs pools de ressources. Pour créer plusieurs pools de ressources dans une ressource persistante, spécifiez plusieurs options --resource-pool-spec
.
L'autoscaling peut être activé ou désactivé pour chaque pool de ressources. Pour activer l'autoscaling, spécifiez min_replica_count
et max_replica_count
.
Vous pouvez spécifier toutes les configurations de pool de ressources dans la ligne de commande ou utiliser l'option --config
pour spécifier le chemin d'accès à un fichier YAML contenant les configurations.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet Google Cloud dans lequel vous souhaitez créer la ressource persistante.
- LOCATION : région dans laquelle vous souhaitez créer la ressource persistante. Pour obtenir la liste des régions disponibles, consultez la section Disponibilité des fonctionnalités.
- PERSISTENT_RESOURCE_ID : ID de la ressource persistante.
- DISPLAY_NAME : (facultatif) nom à afficher de la ressource persistante.
- MACHINE_TYPE : type de VM à utiliser. Pour obtenir la liste des VM compatibles, consultez la section Types de machines.
Ce champ correspond au champ
machineSpec.machineType
du message de l'APIResourcePool
. - ACCELERATOR_TYPE : (facultatif) type de GPU à associer à chaque VM du pool de ressources. Pour obtenir la liste des GPU compatibles, consultez la section GPU. Ce champ correspond au champ
machineSpec.acceleratorType
du message de l'APIResourcePool
. - ACCELERATOR_COUNT : (facultatif) nombre de GPU à associer à chaque VM du pool de ressources. La valeur par défaut est
1
. Ce champ correspond au champmachineSpec.acceleratorCount
du message de l'APIResourcePool
. - REPLICA_COUNT : nombre d'instances répliquées à créer lors de la création de ce pool de ressources. Ce champ correspond au champ
replicaCount
du message de l'APIResourcePool
. Ce champ est obligatoire si vous ne spécifiez pas MIN_REPLICA_COUNT et MAX_REPLICA_COUNT. - MIN_REPLICA_COUNT : (facultatif) nombre minimal d'instances répliquées jusqu'auquel l'autoscaling peut descendre pour ce pool de ressources. MIN_REPLICA_COUNT et MAX_REPLICA_COUNT sont tous deux requis pour activer l'autoscaling sur ce pool de ressources.
- MAX_REPLICA_COUNT : (facultatif) nombre maximal d'instances répliquées jusqu'auquel l'autoscaling peut monter pour ce pool de ressources. MIN_REPLICA_COUNT et MAX_REPLICA_COUNT sont tous deux requis pour activer l'autoscaling sur ce pool de ressources.
- BOOT_DISK_TYPE : (facultatif) type de disque à utiliser comme disque de démarrage de chaque VM du pool de ressources. Ce champ correspond au champ
diskSpec.bootDiskType
du message de l'APIResourcePool
. Les valeurs acceptées sont les suivantes :pd-standard
(par défaut)pd-ssd
- BOOT_DISK_SIZE_GB : (facultatif) taille du disque en Gio pour le disque de démarrage de chaque VM du pool de ressources. Les valeurs acceptées sont comprises entre
100
(par défaut) et64000
. Ce champ correspond au champdiskSpec.bootDiskSizeGb
du message de l'APIResourcePool
. - CONFIG : chemin d'accès au fichier de configuration YAML de la ressource persistante. Ce fichier doit contenir une liste de ResourcePool. Si une option est spécifiée à la fois dans le fichier de configuration et dans les arguments de ligne de commande, les arguments de ligne de commande prévalent sur le fichier de configuration. Notez que les clés avec des traits de soulignement ne sont pas valides.
Exemple de fichier de configuration YAML :
resourcePoolSpecs: machineSpec: machineType: n1-standard-4 replicaCount: 1
Exécutez la commande suivante :
Linux, macOS ou 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"
Vous devriez obtenir un résultat semblable à celui-ci :
Using endpoint [http://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
Exemple de commande gcloud
:
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"
Configurations gcloud
avancées
Si vous souhaitez spécifier des options de configuration qui ne sont pas disponibles dans les exemples précédents, vous pouvez utiliser l'indicateur --config
pour spécifier le chemin d'accès à un fichier config.yaml
de votre environnement local contenant les champs
persistentResources
. Exemple :
gcloud beta ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --project=PROJECT_ID \ --region=LOCATION \ --config=CONFIG
REST
Une ressource persistante peut avoir un ou plusieurs pools de ressources (machine_spec
), et l'autoscaling peut être activé ou désactivé pour chaque pool de ressources.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet Google Cloud dans lequel vous souhaitez créer la ressource persistante.
- LOCATION : région dans laquelle vous souhaitez créer la ressource persistante. Pour obtenir la liste des régions disponibles, consultez la section Disponibilité des fonctionnalités.
- PERSISTENT_RESOURCE_ID : ID de la ressource persistante.
- DISPLAY_NAME : (facultatif) nom à afficher de la ressource persistante.
- MACHINE_TYPE : type de VM à utiliser. Pour obtenir la liste des VM compatibles, consultez la section Types de machines.
Ce champ correspond au champ
machineSpec.machineType
du message de l'APIResourcePool
. - ACCELERATOR_TYPE : (facultatif) type de GPU à associer à chaque VM du pool de ressources. Pour obtenir la liste des GPU compatibles, consultez la section GPU. Ce champ correspond au champ
machineSpec.acceleratorType
du message de l'APIResourcePool
. - ACCELERATOR_COUNT : (facultatif) nombre de GPU à associer à chaque VM du pool de ressources. La valeur par défaut est
1
. Ce champ correspond au champmachineSpec.acceleratorCount
du message de l'APIResourcePool
. - REPLICA_COUNT : nombre d'instances répliquées à créer lors de la création de ce pool de ressources. Ce champ correspond au champ
replicaCount
du message de l'APIResourcePool
. Ce champ est obligatoire si vous ne spécifiez pas MIN_REPLICA_COUNT et MAX_REPLICA_COUNT. - MIN_REPLICA_COUNT : (facultatif) nombre minimal d'instances répliquées jusqu'auquel l'autoscaling peut descendre pour ce pool de ressources. MIN_REPLICA_COUNT et MAX_REPLICA_COUNT sont tous deux requis pour activer l'autoscaling sur ce pool de ressources.
- MAX_REPLICA_COUNT : (facultatif) nombre maximal d'instances répliquées jusqu'auquel l'autoscaling peut monter pour ce pool de ressources. MIN_REPLICA_COUNT et MAX_REPLICA_COUNT sont tous deux requis pour activer l'autoscaling sur ce pool de ressources.
- BOOT_DISK_TYPE : (facultatif) type de disque à utiliser comme disque de démarrage de chaque VM du pool de ressources. Ce champ correspond au champ
diskSpec.bootDiskType
du message de l'APIResourcePool
. Les valeurs acceptées sont les suivantes :pd-standard
(par défaut)pd-ssd
- BOOT_DISK_SIZE_GB : (facultatif) taille du disque en Gio pour le disque de démarrage de chaque VM du pool de ressources. Les valeurs acceptées sont comprises entre
100
(par défaut) et64000
. Ce champ correspond au champdiskSpec.bootDiskSizeGb
du message de l'APIResourcePool
.
Méthode HTTP et URL :
POST http://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/persistentResources?persistent_resource_id=PERSISTENT_RESOURCE_ID
Corps JSON de la requête :
{ "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_