Quando esegui l'addestramento personalizzato, devi specificare quale codice di machine learning (ML) vuoi eseguire 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 utilizzare un container personalizzato o un container predefinito, leggi 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 un
WorkerPoolSpec
. A seconda di come
esegui l'addestramento personalizzato, inserisci questo WorkerPoolSpec
in uno dei seguenti
campi API:
Se stai creando una risorsa
CustomJob
, specificaWorkerPoolSpec
inCustomJob.jobSpec.workerPoolSpecs
.Se utilizzi Google Cloud CLI, puoi utilizzare il flag
--worker-pool-spec
o--config
sul 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 risorsa
HyperparameterTuningJob
, specificaWorkerPoolSpec
inHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Se utilizzi gcloud CLI, puoi utilizzare il flag
--config
sul comandogcloud ai hpt-tuning-jobs create
per specificare le opzioni del pool di worker.Scopri di più sulla creazione di un
HyperparameterTuningJob
.Se crei una risorsa
TrainingPipeline
senza ottimizzazione degli iperparametri, specificaWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Scopri di più sulla creazione di una
TrainingPipeline
personalizzata.Se stai creando un
TrainingPipeline
con l'ottimizzazione degli iperparametri, specificaWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Se esegui l'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
.Facoltativamente, 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 CustomJob
:
Console
Nella console Google Cloud, non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare una TrainingPipeline
che genera 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
: utilizza gli elenchi a discesa Framework modello e Versione framework modello.pythonPackageSpec.packageUris
: utilizza il campo Località pacchetto.pythonPackageSpec.pythonModule
: utilizza il campo del 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ù, leggi 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
ENTRYPOINT
oCMD
nel contenitore, specifica i campicontainerSpec.command
ocontainerSpec.args
. Questi campi influiscono sul modo in cui il container viene eseguito in base alle seguenti regole:Se non specifichi nessuno dei campi: il container viene eseguito in base alle istruzioni
ENTRYPOINT
eCMD
(se presenti). Consulta la documentazione di Docker sull'interazione diCMD
eENTRYPOINT
.Se specifichi solo
containerSpec.command
: il container viene eseguito con il valorecontainerSpec.command
, sostituendo la sua istruzioneENTRYPOINT
. Se il contenitore ha un'istruzioneCMD
, questa 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
in sostituzione dell'istruzioneCMD
.
L'esempio seguente evidenzia dove puoi specificare alcune di queste
impostazioni contenitore quando crei un CustomJob
:
Console
Nella console Google Cloud, non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare una TrainingPipeline
che genera un
CustomJob
. Quando crei un TrainingPipeline
nella console Google Cloud, puoi specificare impostazioni personalizzate del 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 per la configurazione di Java nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura 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 per la configurazione di Node.js nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura 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, vedi Installare l'SDK Vertex AI per Python. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python.
Per saperne di più, leggi la guida alla creazione di una
CustomJob
.
Passaggi successivi
- Scopri come eseguire l'addestramento personalizzato creando un
CustomJob
.