Quando esegui l'addestramento personalizzato, devi specificare il codice di machine learning (ML) che vuoi che Vertex AI esegua. A tale scopo, configura le impostazioni del container di addestramento per un container personalizzato o un'applicazione di addestramento Python che viene eseguita su un container predefinito.
Per determinare se vuoi utilizzare un contenitore personalizzato o un contenitore predefinito, consulta la sezione 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 dell'API:
Se stai creando una
CustomJob
risorsa, specifica ilWorkerPoolSpec
inCustomJob.jobSpec.workerPoolSpecs
.Se utilizzi Google Cloud CLI, puoi utilizzare il flag
--worker-pool-spec
o il flag--config
nelgcloud ai custom-jobs create
comando per specificare le opzioni del pool di lavoratori.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
nel comandogcloud ai hpt-tuning-jobs create
per specificare le opzioni del pool di worker.Scopri di più sulla creazione di un
HyperparameterTuningJob
.Se stai creando una
TrainingPipeline
risorsa senza l'ottimizzazione degli iperparametri, specifica ilWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Scopri di più sulla creazione di un
TrainingPipeline
personalizzato.Se stai creando un
TrainingPipeline
con ottimizzazione degli iperparametri, specifica ilWorkerPoolSpec
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 tu stia utilizzando un contenitore predefinito o uno 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
pythonPackageSpec.executorImageUri
campo.Specifica gli URI Cloud Storage della tua applicazione di addestramento in Python nel
pythonPackageSpec.packageUris
campo.Specifica il modulo del punto di contatto dell'applicazione di addestramento nel
pythonPackageSpec.pythonModule
campo.Facoltativamente, specifica un elenco di argomenti della riga di comando da passare al modulo del punto di ingresso dell'applicazione di addestramento nel
pythonPackageSpec.args
campo.
Gli esempi riportati di seguito mostrano dove specificare queste impostazioni del contenitore
quando crei un CustomJob
:
Console
Nella console Google Cloud non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare un TrainingPipeline
che crea un
CustomJob
. Quando crei un
TrainingPipeline
nella console Google Cloud, puoi specificare le impostazioni preimpostate
del contenitore in determinati campi del passaggio Contenitore di addestramento:
pythonPackageSpec.executorImageUri
: utilizza gli elenchi a discesa Framework modello e Versione framework modello.pythonPackageSpec.packageUris
: utilizza il campo Posizione 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 maggiori informazioni, consulta la guida alla creazione di un
CustomJob
.
Container personalizzato
Specifica l'URI di Artifact Registry o Docker Hub del contenitore personalizzato nel
containerSpec.imageUri
campo.Se vuoi, puoi eseguire l'override delle istruzioni
ENTRYPOINT
oCMD
nel contenitore specificando i campicontainerSpec.command
ocontainerSpec.args
. Questi campi influiscono sul funzionamento del contenitore in base alle seguenti regole:Se non specifichi nessuno dei due campi: il contenitore viene eseguito in base alle sue istruzioni
ENTRYPOINT
eCMD
(se esistenti). Consulta la documentazione di Docker su come interagisconoCMD
eENTRYPOINT
.Se specifichi solo
containerSpec.command
: il contenitore viene eseguito con il valore dicontainerSpec.command
che sostituisce l'istruzioneENTRYPOINT
. Se il contenitore ha un'istruzioneCMD
, viene ignorato.Se specifichi solo
containerSpec.args
: il contenitore viene eseguito in base all'istruzioneENTRYPOINT
, con il valore dicontainerSpec.args
che sostituisce l'istruzioneCMD
.Se specifichi entrambi i campi: il contenitore viene eseguito con
containerSpec.command
che sostituisce l'istruzioneENTRYPOINT
econtainerSpec.args
che sostituisce l'istruzioneCMD
.
L'esempio seguente mostra dove puoi specificare alcune di queste impostazioni del contenitore quando crei un CustomJob
:
Console
Nella console Google Cloud non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare un TrainingPipeline
che crea un
CustomJob
. Quando crei un
TrainingPipeline
nella console Google Cloud, puoi specificare impostazioni personalizzate del
contenuto in determinati campi del passaggio Container di addestramento:
containerSpec.imageUri
: utilizza il campo Immagine container.containerSpec.command
: questo campo dell'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 Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori 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 maggiori informazioni, consulta la guida alla creazione di un
CustomJob
.
Passaggi successivi
- Scopri come eseguire l'addestramento personalizzato creando un
CustomJob
.