Lorsque vous procédez à un entraînement personnalisé, vous devez spécifier le code de machine learning (ML) que vous souhaitez que l'IA Vertex exécute. Pour ce faire, configurez les paramètres de conteneur d'entraînement pour un conteneur personnalisé ou pour une application d'entraînement Python s'exécutant sur un conteneur prédéfini.
Pour déterminer si vous souhaitez utiliser un conteneur personnalisé ou un conteneur prédéfini, consultez la section Exigences concernant le code d'entraînement.
Ce document décrit les champs de l'API d'IA Vertex que vous devez spécifier dans l'un des cas précédents.
Où spécifier les paramètres de conteneur
Spécifiez les détails de la configuration dans un objet WorkerPoolSpec
. Selon votre type d'entraînement personnalisé, placez cet objet WorkerPoolSpec
dans l'un des champs d'API suivants :
Si vous créez une ressource
CustomJob
, spécifiezWorkerPoolSpec
dansCustomJob.jobSpec.workerPoolSpecs
.Si vous utilisez Google Cloud CLI, vous pouvez utiliser l'option
--worker-pool-spec
ou l'option--config
dans la commandegcloud ai custom-jobs create
pour spécifier les options du pool de nœuds de calcul.Découvrez comment créer un
CustomJob
.Si vous créez une ressource
HyperparameterTuningJob
, spécifiezWorkerPoolSpec
dansHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Si vous utilisez gcloud CLI, vous pouvez utiliser l'option
--config
de la commandegcloud ai hpt-tuning-jobs create
pour spécifier les options de pool de nœuds de calcul.Découvrez comment créer un
HyperparameterTuningJob
.Si vous créez une ressource
TrainingPipeline
sans réglage d'hyperparamètres, spécifiezWorkerPoolSpec
dansTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Découvrez comment créer un
TrainingPipeline
personnalisé.Si vous créez un
TrainingPipeline
avec le réglage d'hyperparamètres, spécifiezWorkerPoolSpec
dansTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Si vous réalisez un entraînement distribué, vous pouvez utiliser des paramètres différents pour chaque pool de nœuds de calcul.
Configurer les paramètres du conteneur
Selon que vous utilisez un conteneur prédéfini ou un conteneur personnalisé, vous devez spécifier des champs différents dans WorkerPoolSpec
. Sélectionnez l'onglet correspondant à votre scénario :
Conteneur prédéfini
Sélectionnez un conteneur prédéfini compatible avec le framework de ML que vous prévoyez d'utiliser pour l'entraînement. Spécifiez l'un des URI de l'image du conteneur dans le champ
pythonPackageSpec.executorImageUri
.Spécifiez les URI Cloud Storage de votre application d'entraînement Python dans le champ
pythonPackageSpec.packageUris
.Spécifiez le module de point d'entrée de votre application d'entraînement dans le champ
pythonPackageSpec.pythonModule
.Vous pouvez également spécifier une liste d'arguments de ligne de commande à transmettre au module de point d'entrée de votre application d'entraînement dans le champ
pythonPackageSpec.args
.
Les exemples suivants indiquent où spécifier ces paramètres de conteneur lorsque vous créez un CustomJob
:
Console
Dans la console Google Cloud, vous ne pouvez pas créer directement un CustomJob
. Toutefois, vous pouvez créer un TrainingPipeline
qui crée un objet CustomJob
. Lorsque vous créez un TrainingPipeline
dans la console Google Cloud, vous pouvez spécifier des paramètres de conteneur prédéfinis dans certains champs de l'étape Entraînement du conteneur :
pythonPackageSpec.executorImageUri
: utilisez les listes déroulantes Framework de modèle et Version du framework de modèle.pythonPackageSpec.packageUris
: utilisez le champ Emplacement du package.pythonPackageSpec.pythonModule
: utilisez le champ Module Python.pythonPackageSpec.args
: utilisez le champ Arguments.
gcloud
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=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
Pour plus de contexte, lisez le guide de création d'un CustomJob
.
Conteneur personnalisé
Spécifiez l'URI Artifact Registry ou Docker Hub de votre conteneur personnalisé dans le champ
containerSpec.imageUri
.Si vous souhaitez remplacer les instructions
ENTRYPOINT
ouCMD
dans votre conteneur, spécifiez les champscontainerSpec.command
oucontainerSpec.args
. Ces champs affectent l'exécution du conteneur conformément aux règles suivantes :Si vous ne spécifiez aucun champ : votre conteneur s'exécute conformément à son instruction
ENTRYPOINT
et à son instructionCMD
(si elle existe). Reportez-vous à la documentation Docker sur l'interaction entreCMD
etENTRYPOINT
.Si vous ne spécifiez que
containerSpec.command
: votre conteneur s'exécute avec la valeur decontainerSpec.command
à la place de son instructionENTRYPOINT
. Si le conteneur comprend une instructionCMD
, elle est ignorée.Si vous ne spécifiez que
containerSpec.args
: votre conteneur s'exécute conformément à son instructionENTRYPOINT
, avec la valeur decontainerSpec.args
à la place de son instructionCMD
.Si vous spécifiez les deux champs : votre conteneur s'exécute avec
containerSpec.command
à la place de son instructionENTRYPOINT
etcontainerSpec.args
à la place de son instructionCMD
.
L'exemple suivant montre où spécifier certains de ces paramètres de conteneur lorsque vous créez un CustomJob
:
Console
Dans la console Google Cloud, vous ne pouvez pas créer directement un CustomJob
. Toutefois, vous pouvez créer un TrainingPipeline
qui crée un objet CustomJob
. Lorsque vous créez un TrainingPipeline
dans la console Google Cloud, vous pouvez spécifier des paramètres de conteneur personnalisés dans certains champs de l'étape Entraîner le conteneur :
containerSpec.imageUri
: utilisez le champ Image de conteneur.containerSpec.command
: ce champ API n'est pas configurable dans la console Google Cloud.containerSpec.args
: utilisez le champ Arguments.
gcloud
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
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.
Pour plus de contexte, lisez le guide de création d'un CustomJob
.
Étape suivante
- Découvrez comment effectuer un entraînement personnalisé en créant un
CustomJob
.