Les tâches d'entraînement personnalisées (ressources CustomJob
dans l'API Vertex AI) constituent le moyen de base pour exécuter votre code d'entraînement de machine learning (ML) personnalisé dans Vertex AI.
Avant d'envoyer une tâche
Avant de créer une tâche CustomJob
dans Vertex AI, vous devez créer une application d'entraînement Python ou une image de conteneur personnalisée pour définir le code d'entraînement et les dépendances que vous souhaitez exécuter sur Vertex AI.
Nous vous recommandons d'utiliser la fonctionnalité d'empaquetage automatique de Google Cloud CLI, décrite dans une section ultérieure de ce guide, pour créer une image de conteneur Docker à partir du code sur votre ordinateur local, transférer cette image de conteneur vers Artifact Registry et créer un objet CustomJob
, le tout à l'aide d'une seule commande.
Sinon, vous devez créer manuellement une application d'entraînement Python ou une image de conteneur personnalisée.
Si vous ne savez pas quelle option choisir, reportez-vous aux exigences concernant le code d'entraînement pour en savoir plus.
Contenu d'une tâche personnalisée
Lorsque vous créez une tâche personnalisée, vous spécifiez les paramètres dont Vertex AI a besoin pour exécuter votre code d'entraînement, y compris :
- Un pool de nœuds de calcul pour l'entraînement à nœud unique (
WorkerPoolSpec
) ou plusieurs pools de nœuds de calcul pour l'entraînement distribué. - Des paramètres facultatifs pour configurer la planification des tâches (
Scheduling
), définir certaines variables d'environnement pour votre code d'entraînement, utiliser un compte de service et utiliser l'appairage de réseaux VPC<
Au sein des pools de nœuds de calcul, vous pouvez spécifier les paramètres suivants :
- Types de machines et accélérateurs
- Configuration du type de code d'entraînement exécuté par le pool de nœuds de calcul : une application d'entraînement Python (
PythonPackageSpec
) ou un conteneur personnalisé (ContainerSpec
).
Vous pouvez également configurer des tâches personnalisées pour qu'elles s'exécutent sur une ressource persistante au lieu de créer de nouvelles ressources de calcul lors du démarrage de la tâche. Pour en savoir plus sur les ressources persistantes, consultez la section Présentation des ressources persistantes.
Configurer l'entraînement distribué
Vous pouvez configurer une tâche CustomJob
pour l'entraînement distribué en spécifiant plusieurs pools de nœuds de calcul.
La plupart des exemples de cette page présentent des tâches d'entraînement à instance dupliquée unique avec un pool de nœuds de calcul. Pour les modifier pour un entraînement distribué, procédez comme suit :
- Utilisez votre premier pool de nœuds de calcul pour configurer votre instance dupliquée principale, puis définissez le nombre d'instances dupliquées sur 1.
- Ajoutez ensuite d'autres pools de nœuds de calcul pour configurer des instances dupliquées de nœuds de calcul, des instances dupliquées de serveurs de paramètres ou des instances dupliquées d'évaluateurs, si votre framework de machine learning est compatible avec ces tâches de cluster supplémentaires pour l'entraînement distribué.
Découvrez comment utiliser l'entraînement distribué.
Créer un objet CustomJob
Pour créer un objet CustomJob
, suivez les instructions de l'un des onglets suivants, selon l'outil que vous souhaitez utiliser. Si vous utilisez la CLI gcloud, vous pouvez utiliser une seule commande pour empaqueter automatiquement le code d'entraînement de votre ordinateur local dans une image de conteneur Docker, transférer l'image de conteneur dans Artifact Registry, puis créer une CustomJob
. D'autres options supposent que vous ayez déjà créé une application d'entraînement Python ou une image de conteneur personnalisée.
gcloud
Les exemples suivants utilisent la commande gcloud ai custom-jobs create
.
Si votre code d'entraînement se trouve sur votre ordinateur local, nous vous recommandons de suivre la section Avec empaquetage automatique. Si vous avez déjà créé une application d'entraînement Python ou une image de conteneur personnalisée, passez à la section Sans empaquetage automatique.
Avec empaquetage automatique
Si vous disposez d'un code d'entraînement sur votre ordinateur local, vous pouvez utiliser une seule commande pour effectuer les opérations suivantes :
- Créer une image Docker personnalisée basée sur votre code
- Transférer l'image vers Artifact Registry
- Démarrer une opération
CustomJob
basée sur l'image
Le résultat est semblable à la création d'un CustomJob
à l'aide de tout autre conteneur personnalisé. Vous pouvez utiliser cette version de la commande si cela convient à votre workflow.
Avant de commencer
Étant donné que cette version de la commande crée et transfère une image Docker, vous devez effectuer la configuration suivante sur votre ordinateur local :
Si vous utilisez Linux, configurez Docker pour pouvoir l'exécuter sans
sudo
.Enable the Artifact Registry API.
Configurez l'authentification pour Docker afin de pouvoir stocker des images Docker dans Artifact Registry :
gcloud auth configure-docker
Créez et transférez l'image Docker, puis créez une tâche CustomJob
.
La commande suivante permet de créer une image Docker basée sur une image de conteneur d'entraînement prédéfinie et votre code Python local, de transférer l'image vers Artifact Registry et de créer un fichier CustomJob
.
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=EXECUTOR_IMAGE_URI,local-package-path=WORKING_DIRECTORY,script=SCRIPT_PATH
Remplacez les éléments suivants :
LOCATION : région où le conteneur ou le package Python sera exécuté.
JOB_NAME : valeur obligatoire. nom à afficher pour
CustomJob
.MACHINE_TYPE : type de la machine. Consultez la section Types de machines disponibles pour l'entraînement.
REPLICA_COUNT : nombre d'instances dupliquées de nœuds de calcul à utiliser. Dans la plupart des cas, définissez cette valeur sur
1
pour votre premier pool de nœuds de calcul.EXECUTOR_IMAGE_URI : URI de l'image de conteneur qui exécute le code fourni. Pour en savoir plus, consultez la liste des conteneurs prédéfinis disponibles pour l'entraînement.
Cette image sert d'image de base pour la nouvelle image Docker que vous créez à l'aide de cette commande.
WORKING_DIRECTORY : répertoire de votre système de fichiers local contenant le script de point d'entrée qui exécute le code d'entraînement (consultez l'élément de liste suivant).
Vous pouvez utiliser le répertoire parent du script ou un répertoire de niveau supérieur. Si vous souhaitez spécifier un nom de module Python complet, vous pouvez utiliser un répertoire de niveau supérieur (voir l'élément de liste suivant). Vous pouvez également utiliser un répertoire de niveau supérieur s'il contient un fichier
requirements.txt
ousetup.py
. Pour en savoir plus, consultez la section Installer des dépendances.Toutefois, même si vous spécifiez un répertoire de niveau supérieur, cette commande ne copie que le répertoire parent de votre script de point d'entrée dans l'image Docker.
SCRIPT_PATH : chemin d'accès, par rapport à WORKING_DIRECTORY sur votre système de fichiers local, vers le script qui est le point d'entrée de votre code d'entraînement. Il peut s'agir d'un script Python (se terminant par
.py
) ou d'un script Bash.Par exemple, si vous souhaitez exécuter
/hello-world/trainer/task.py
et que WORKING_DIRECTORY est défini sur/hello-world
, utiliseztrainer/task.py
pour cette valeur.Utilisez
python-module
à la place descript
.Vous pouvez éventuellement remplacer
script=SCRIPT_PATH
parpython-module=PYTHON_MODULE
pour spécifier dans WORKING_DIRECTORY le nom d'un module Python à exécuter en tant que point d'entrée pour l'entraînement. Par exemple, au lieu descript=trainer/task.py
, vous pouvez spécifierpython-module=trainer.task
.Dans ce cas, le conteneur Docker obtenu charge votre code en tant que module plutôt que sous forme de script. Vous souhaiterez probablement utiliser cette option si votre script de point d'entrée importe d'autres modules Python dans WORKING_DIRECTORY.
Installer des dépendances
Lorsque vous utilisez l'empaquetage automatique, vous pouvez installer des dépendances Python dans votre conteneur de la même manière que lorsque vous utilisez la commande local-run
de la CLI gcloud. Pour en savoir plus sur les différentes manières d'installer des dépendances Python, consultez la section Installer des dépendances du guide sur la commande local-run
.
La syntaxe de spécification des dépendances diffère légèrement lorsque vous utilisez l'empaquetage automatique par rapport à la commande local-run
. Au lieu d'utiliser des options de ligne de commande pour spécifier des dépendances, vous devez utiliser des options dans la valeur de l'option --worker-pool-spec
. De plus, les valeurs au sein de ces options doivent être séparées par un point-virgule plutôt que par une virgule. Plus précisément, utilisez la syntaxe suivante :
Au lieu de l'option
--local-package-path
de la commandelocal-run
, utilisez l'optionlocal-package-path
dans la valeur de l'option--worker-pool-spec
. Si le répertoire de travail que vous spécifiez avec cette option contient un fichierrequirements.txt
ousetup.py
, l'empaquetage automatique installe les dépendances en fonction de ce fichier.L'exemple précédent illustre cette syntaxe.
(Facultatif) Au lieu de l'option
--requirements
, utilisez l'optionrequirements
dans la valeur de l'option--worker-pool-spec
. Au lieu de séparer les dépendances PyPI avec des virgules, utilisez des points-virgules.(Facultatif) Au lieu de l'option
--extra-packages
, utilisez l'optionextra-packages
dans la valeur de l'option--worker-pool-spec
. Au lieu de séparer les dépendances locales avec des virgules, utilisez des points-virgules.(Facultatif) Au lieu de l'option
--extra-dirs
, utilisez l'optionextra-dirs
dans la valeur de l'option--worker-pool-spec
. Au lieu de séparer les chemins d'accès aux répertoires avec des virgules, utilisez des points-virgules.
L'exemple suivant montre comment installer des dépendances à l'aide de toutes les techniques facultatives (vous pouvez spécifier n'importe quel sous-ensemble d'entre elles). Pour illustrer la syntaxe du point-virgule, l'exemple spécifie deux valeurs pour chaque option. Pour réduire la longueur de l'exemple, les autres options de --worker-pool-spec
sont remplacées par [...]
.
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=[...],requirements=PYPI_DEP_1;PYPI_DEP_2,extra-packages=LOCAL_DEP_1;LOCAL_DEP_2,extra-dirs=EXTRA_DIR_1;EXTRA_DIR_2
Pour en savoir plus sur les valeurs appropriées de ces espaces réservés, consultez la section "Installer des dépendances" du guide sur la commande local-run
.
Sans empaquetage automatique
Si vous n'utilisez pas l'empaquetage automatique, vous pouvez créer une tâche CustomJob
avec une commande semblable à l'une des suivantes. Selon que vous avez créé une application d'entraînement Python ou une image de conteneur personnalisée, choisissez l'un des onglets suivants :
Application d'entraînement Python
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--python-package-uris=PYTHON_PACKAGE_URIS \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
Remplacez les éléments suivants :
- LOCATION : région où le conteneur ou le package Python sera exécuté.
-
JOB_NAME : valeur obligatoire. nom à afficher pour
CustomJob
. - PYTHON_PACKAGE_URIS : liste d'URI Cloud Storage séparés par une virgule spécifiant les fichiers de package Python correspondant au programme d'entraînement et ses packages dépendants. Le nombre maximal d'URI de package est de 100.
- MACHINE_TYPE : type de la machine. Consultez la section Types de machines disponibles pour l'entraînement.
-
REPLICA_COUNT : nombre d'instances dupliquées de nœuds de calcul à utiliser. Dans la plupart des cas, définissez cette valeur sur
1
pour votre premier pool de nœuds de calcul. - EXECUTOR_IMAGE_URI : URI de l'image de conteneur qui exécute le code fourni. Pour en savoir plus, consultez la liste des conteneurs prédéfinis disponibles pour l'entraînement.
- PYTHON_MODULE : nom du module Python à exécuter après l'installation des packages.
Image de conteneur personnalisée
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Remplacez les éléments suivants :
- LOCATION : région où le conteneur ou le package Python sera exécuté.
-
JOB_NAME : valeur obligatoire. nom à afficher pour
CustomJob
. - MACHINE_TYPE : type de la machine. Consultez la section Types de machines disponibles pour l'entraînement.
-
REPLICA_COUNT : nombre d'instances dupliquées de nœuds de calcul à utiliser. Dans la plupart des cas, définissez cette valeur sur
1
pour votre premier pool de nœuds de calcul. - CUSTOM_CONTAINER_IMAGE_URI : URI d'une image de conteneur dans Artifact Registry, Container Registry ou Docker Hub à exécuter sur chaque instance répliquée de nœud de calcul.
Entraînement distribué
Pour effectuer un entraînement distribué, spécifiez l'option --worker-pool-spec
plusieurs fois, une fois pour chaque pool de nœuds de calcul.
Si vous utilisez l'empaquetage automatique, vous ne devez spécifier que local-package-path
, script
et les autres options liées à l'empaquetage automatique dans le premier pool de nœuds de calcul.
Omettez les champs liés à votre code d'entraînement dans les pools de nœuds de calcul suivants, qui utiliseront tous le même conteneur d'entraînement créé par l'empaquetage automatique.
Par exemple, la commande suivante adapte un exemple d'empaquetage précédent pour utiliser un deuxième pool de nœuds de calcul :
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=EXECUTOR_IMAGE_URI,local-package-path=WORKING_DIRECTORY,script=SCRIPT_PATH \
--worker-pool-spec=machine-type=SECOND_POOL_MACHINE_TYPE,replica-count=SECOND_POOL_REPLICA_COUNT
Si vous n'utilisez pas l'empaquetage automatique, spécifiez chaque pool de nœuds de calcul de manière complète et indépendante. N'omettez aucun champ.
Les commandes suivantes adaptent les exemples précédents à l'utilisation d'un deuxième pool de nœuds de calcul :
Application d'entraînement Python
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--python-package-uris=PYTHON_PACKAGE_URIS \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE \
--worker-pool-spec=machine-type=SECOND_POOL_MACHINE_TYPE,replica-count=SECOND_POOL_REPLICA_COUNT,executor-image-uri=SECOND_POOL_EXECUTOR_IMAGE_URI,python-module=SECOND_POOL_PYTHON_MODULE
Image de conteneur personnalisée
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI \
--worker-pool-spec=machine-type=SECOND_POOL_MACHINE_TYPE,replica-count=SECOND_POOL_REPLICA_COUNT,container-image-uri=SECOND_POOL_CUSTOM_CONTAINER_IMAGE_URI
Configuration avancée
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
CustomJobSpec
. Exemple :
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--config=config.yaml
Consultez un exemple de fichier config.yaml
.
Console
Dans la console Google Cloud, vous ne pouvez pas créer directement une ressource CustomJob
.
Toutefois, vous pouvez créer une ressource TrainingPipeline
qui crée un CustomJob
.
Les instructions suivantes décrivent comment créer un TrainingPipeline
qui crée une CustomJob
et qui ne fait rien d'autre. Si vous souhaitez utiliser des fonctionnalités TrainingPipeline
supplémentaires, telles que l'entraînement avec un ensemble de données géré ou la création d'une ressource Model
à la fin de l'entraînement, consultez la section Créer des pipelines d'entraînement
Dans la console Google Cloud, accédez à la section Vertex AI, accédez à la page Entraînement des pipelines.
Cliquez sur
Créer pour ouvrir le volet Entraîner le nouveau modèle.À l'étape Méthode d'entraînement, spécifiez les paramètres suivants :
Dans la liste déroulante Ensemble de données, sélectionnez Aucun ensemble de données géré.
Sélectionnez Entraînement personnalisé (avancé).
Cliquez sur Continuer.
À l'étape Informations sur le modèle, sélectionnez Entraîner un nouveau modèle ou Entraîner la nouvelle version. Si vous sélectionnez "Entraîner un nouveau modèle", saisissez le nom de votre choix, MODEL_NAME. Cliquez sur Continuer.
À l'étape Entraînement du conteneur, spécifiez les paramètres suivants :
Indiquez si vous souhaitez utiliser un conteneur prédéfini ou un conteneur personnalisé pour l'entraînement.
Selon votre choix, effectuez l'une des opérations suivantes :
Si vous souhaitez utiliser un conteneur prédéfini pour l'entraînement, fournissez à Vertex AI les informations nécessaires à l'utilisation du package d'entraînement que vous avez importé dans Cloud Storage :
Utilisez les listes déroulantes Framework de modèle et Version du framework de modèle pour spécifier le conteneur prédéfini que vous souhaitez utiliser.
Dans le champ Emplacement du package, spécifiez l'URI Cloud Storage de l'application d'entraînement Python que vous avez créée et importée. Ce fichier se termine généralement par
.tar.gz
.Dans le champ Module Python, saisissez le nom de module du point d'entrée de votre application d'entraînement.
Si vous souhaitez utiliser un conteneur personnalisé pour l'entraînement, spécifiez dans le champ Image du conteneur l'URI Artifact Registry ou Docker Hub de votre image de conteneur.
Dans le champ Répertoire de sortie du modèle, spécifiez l'URI Cloud Storage d'un répertoire d'un bucket auquel vous avez accès. Le répertoire n'a pas besoin d'exister pour le moment.
Cette valeur est transmise à Vertex AI dans le champ d'API
baseOutputDirectory
, qui définit plusieurs variables d'environnement auxquelles votre application d'entraînement peut accéder lorsqu'elle s'exécute.Facultatif : dans le champ Arguments, vous pouvez spécifier des arguments que Vertex AI doit utiliser lorsqu'il commence à exécuter votre code d'entraînement. La longueur maximale de l'ensemble des arguments combinés est de 100 000 caractères. Le comportement de ces arguments varie en fonction du type de conteneur que vous utilisez :
Si vous utilisez un conteneur prédéfini, Vertex AI transmet les arguments à votre module Python en tant qu'options de ligne de commande.
Si vous utilisez un conteneur personnalisé, Vertex AI remplace l'instruction
CMD
de votre conteneur par les arguments.
Cliquez sur Continuer.
À l'étape Réglage des hyperparamètres, assurez-vous que la case Activer le réglage d'hyperparamètres n'est pas cochée. Cliquez sur Continuer.
À l'étape Calcul et tarification, spécifiez les paramètres suivants :
Dans la liste déroulante Région, sélectionnez une région compatible avec l'entraînement personnalisé.
Dans la section Pool de nœuds de calcul 0, spécifiez les ressources de calcul à utiliser pour l'entraînement.
Si vous spécifiez des accélérateurs, assurez-vous que le type d'accélérateur que vous choisissez est disponible dans la région sélectionnée.
Si vous souhaitez effectuer un entraînement distribué, cliquez sur Ajouter d'autres pools de nœuds de calcul et spécifiez un ensemble supplémentaire de ressources de calcul pour chaque pool de nœuds de calcul supplémentaire souhaité.
Cliquez sur Continuer.
À l'étape Prédiction de conteneur, sélectionnez Aucun conteneur de prédiction.
Cliquez sur Démarrer l'entraînement pour démarrer le pipeline d'entraînement personnalisé.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région où le conteneur ou le package Python sera exécuté.
- PROJECT_ID : l'ID de votre projet.
-
JOB_NAME : valeur obligatoire. nom à afficher pour
CustomJob
. - Définissez la tâche d'entraînement personnalisée :
- MACHINE_TYPE : type de la machine. Consultez la section Types de machines disponibles pour l'entraînement.
- ACCELERATOR_TYPE : (Facultatif) Type d'accélérateur à associer à la tâche.
- ACCELERATOR_COUNT : (Facultatif) Nombre d'accélérateurs à associer à la tâche.
- DISK_TYPE : (Facultatif) Type de disque de démarrage à utiliser pour la tâche (
pd-standard
par défaut) oupd-ssd
. En savoir plus sur les types de disques - DISK_SIZE : (Facultatif) Taille en Go du disque de démarrage à utiliser pour la tâche. La valeur par défaut est 100.
-
REPLICA_COUNT : nombre d'instances dupliquées de nœuds de calcul à utiliser. Dans la plupart des cas, définissez cette valeur sur
1
pour votre premier pool de nœuds de calcul. - Si votre application d'entraînement s'exécute dans un conteneur personnalisé, spécifiez les éléments suivants :
- CUSTOM_CONTAINER_IMAGE_URI : URI d'une image de conteneur dans Artifact Registry, Container Registry ou Docker Hub à exécuter sur chaque instance répliquée de nœud de calcul. /li>
- CUSTOM_CONTAINER_COMMAND : (Facultatif) Commande à appeler au démarrage du conteneur. Cette commande ignore le point d'entrée par défaut du conteneur.
- CUSTOM_CONTAINER_ARGS : (Facultatif) Arguments à transmettre lors du démarrage du conteneur.
- Si votre application d'entraînement est un package Python qui s'exécute dans un conteneur prédéfini, spécifiez les éléments suivants :
- EXECUTOR_IMAGE_URI : URI de l'image de conteneur qui exécute le code fourni. Pour en savoir plus, consultez la liste des conteneurs prédéfinis disponibles pour l'entraînement.
- PYTHON_PACKAGE_URIS : liste d'URI Cloud Storage séparés par une virgule spécifiant les fichiers de package Python correspondant au programme d'entraînement et ses packages dépendants. Le nombre maximal d'URI de package est de 100.
- PYTHON_MODULE : nom du module Python à exécuter après l'installation des packages.
- PYTHON_PACKAGE_ARGS : (Facultatif) Arguments de ligne de commande à transmettre au module Python.
- Découvrez les options de planification des tâches.
- TIMEOUT : (Facultatif) Durée d'exécution maximale pour la tâche.
- Spécifiez les éléments LABEL_NAME et LABEL_VALUE pour tous les libellés que vous souhaitez appliquer à cette tâche personnalisée.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs
Corps JSON de la requête :
{ "displayName": "JOB_NAME", "jobSpec": { "workerPoolSpecs": [ { "machineSpec": { "machineType": MACHINE_TYPE, "acceleratorType": ACCELERATOR_TYPE, "acceleratorCount": ACCELERATOR_COUNT }, "replicaCount": REPLICA_COUNT, "diskSpec": { "bootDiskType": DISK_TYPE, "bootDiskSizeGb": DISK_SIZE }, // Union field task can be only one of the following: "containerSpec": { "imageUri": CUSTOM_CONTAINER_IMAGE_URI, "command": [ CUSTOM_CONTAINER_COMMAND ], "args": [ CUSTOM_CONTAINER_ARGS ] }, "pythonPackageSpec": { "executorImageUri": EXECUTOR_IMAGE_URI, "packageUris": [ PYTHON_PACKAGE_URIS ], "pythonModule": PYTHON_MODULE, "args": [ PYTHON_PACKAGE_ARGS ] } // End of list of possible types for union field task. } // Specify one workerPoolSpec for single replica training, or multiple workerPoolSpecs // for distributed training. ], "scheduling": { "timeout": TIMEOUT } }, "labels": { LABEL_NAME_1": LABEL_VALUE_1, LABEL_NAME_2": LABEL_VALUE_2 } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content
La réponse contient des informations sur les spécifications, ainsi que sur TRAININGPIPELINE_ID.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Étape suivante
- Découvrez comment identifier les goulots d'étranglement de performance d'entraînement afin d'entraîner les modèles plus rapidement et à moindre coût à l'aide de Cloud Profiler.
- Consultez la page Créer des pipelines d'entraînement pour apprendre à créer des pipelines d'entraînement afin d'exécuter des applications d'entraînement personnalisées sur Vertex AI.
- Découvrez comment planifier des jobs d'entraînement personnalisés en fonction de la disponibilité des ressources.