Quando esegui l'addestramento personalizzato, devi specificare quale codice di machine learning (ML) vuoi che venga eseguito da Vertex AI. A questo scopo, configura le impostazioni del container di addestramento per un container personalizzato o per un'applicazione di addestramento Python eseguita su un container predefinito.
Per determinare se vuoi utilizzare un container personalizzato o un container predefinito, consulta Requisiti del codice di addestramento.
Questo documento descrive i campi dell'API Vertex AI che devi specificare in uno dei casi precedenti.
Dove specificare le impostazioni del contenitore
Specifica i dettagli di configurazione all'interno di una
WorkerPoolSpec
. A seconda di come esegui l'addestramento personalizzato, inserisci WorkerPoolSpec
in uno dei seguenti campi dell'API:
Se stai creando una
CustomJob
risorsa, specifica il valoreWorkerPoolSpec
inCustomJob.jobSpec.workerPoolSpecs
.Se utilizzi Google Cloud CLI, puoi utilizzare il flag
--worker-pool-spec
o il flag--config
nel comandogcloud ai custom-jobs create
per specificare le opzioni del pool di worker.Scopri di più sulla creazione di un
CustomJob
.Se stai creando una
HyperparameterTuningJob
risorsa, specifica il valoreWorkerPoolSpec
inHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Se utilizzi gcloud CLI, puoi utilizzare il flag
--config
nel comandogcloud ai hpt-tuning-jobs create
per specificare le opzioni del pool di worker.Scopri di più sulla creazione di una
HyperparameterTuningJob
.Se stai creando una
TrainingPipeline
risorsa senza ottimizzazione degli iperparametri, specifica il valoreWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Scopri di più sulla creazione di una
TrainingPipeline
personalizzata.Se stai creando una
TrainingPipeline
con ottimizzazione degli iperparametri, specificaWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Se esegui addestramento distribuito, puoi utilizzare impostazioni diverse per ogni pool di worker.
Configura le impostazioni del contenitore
A seconda che utilizzi un container predefinito o un container personalizzato, devi specificare campi diversi all'interno di WorkerPoolSpec
. Seleziona la scheda relativa al tuo scenario:
Container predefinito
Seleziona un container predefinito che supporti il framework ML che prevedi di utilizzare per l'addestramento. Specifica uno degli URI dell'immagine container nel campo
pythonPackageSpec.executorImageUri
.Specifica gli URI Cloud Storage della tua applicazione di addestramento Python nel campo
pythonPackageSpec.packageUris
.Specifica il modulo del punto di ingresso dell'applicazione di addestramento nel campo
pythonPackageSpec.pythonModule
.(Facoltativo) Specifica un elenco di argomenti della riga di comando da passare al modulo del punto di ingresso dell'applicazione di addestramento nel campo
pythonPackageSpec.args
.
I seguenti esempi evidenziano dove specifichi queste impostazioni del contenitore quando crei un elemento CustomJob
:
Console
Nella console Google Cloud, non puoi creare un CustomJob
direttamente. Tuttavia,
puoi creare un TrainingPipeline
che crea un
CustomJob
. Quando crei un TrainingPipeline
nella console Google Cloud, puoi specificare le impostazioni predefinite del container in determinati campi nel passaggio Container di addestramento:
pythonPackageSpec.executorImageUri
: usa gli elenchi a discesa Framework del modello e Versione framework del modello.pythonPackageSpec.packageUris
: utilizza il campo Località del pacco.pythonPackageSpec.pythonModule
: utilizza il campo Modulo Python.pythonPackageSpec.args
: utilizza il campo Argomenti.
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
Per saperne di più, consulta la guida alla creazione di una CustomJob
.
Container personalizzato
Specifica l'URI Artifact Registry o Docker Hub del tuo container personalizzato nel campo
containerSpec.imageUri
.Facoltativamente, se vuoi eseguire l'override delle istruzioni per
ENTRYPOINT
oCMD
nel contenitore, specifica i campicontainerSpec.command
ocontainerSpec.args
. Questi campi influiscono sulla modalità di esecuzione del container in base alle seguenti regole:Se non specifichi nessuno dei due campi: il container viene eseguito in base alla relativa istruzione
ENTRYPOINT
e all'istruzioneCMD
(se esistente). Consulta la documentazione di Docker su comeCMD
eENTRYPOINT
interagiscono.Se specifichi solo
containerSpec.command
: il container viene eseguito con il valorecontainerSpec.command
che sostituisce l'istruzioneENTRYPOINT
. Se il container ha un'istruzioneCMD
, viene ignorata.Se specifichi solo
containerSpec.args
: il container viene eseguito in base all'istruzioneENTRYPOINT
, con il valorecontainerSpec.args
che sostituisce l'istruzioneCMD
.Se specifichi entrambi i campi: il container viene eseguito con
containerSpec.command
che sostituisce l'istruzioneENTRYPOINT
econtainerSpec.args
con l'istruzioneCMD
.
L'esempio seguente evidenzia dove puoi specificare alcune di queste impostazioni del contenitore quando crei un elemento CustomJob
:
Console
Nella console Google Cloud, non puoi creare un CustomJob
direttamente. Tuttavia,
puoi creare un TrainingPipeline
che crea un
CustomJob
. Quando crei un TrainingPipeline
nella console Google Cloud, puoi specificare impostazioni personalizzate per il container in determinati campi nel passaggio Container di addestramento:
containerSpec.imageUri
: utilizza il campo Immagine container.containerSpec.command
: questo campo API non è configurabile nella console Google Cloud.containerSpec.args
: utilizza il campo Argomenti.
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
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Per saperne di più, consulta la guida alla creazione di una CustomJob
.
Passaggi successivi
- Scopri come eseguire l'addestramento personalizzato creando una
CustomJob
.