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 la CLI gcloud, 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 Google Cloud Console, 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, Container 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 Google Cloud Console, 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
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez la page Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI en langage Node.js.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez la page Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI en langage 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
.