Quando esegui l'addestramento personalizzato, devi specificare il codice di machine learning (ML) che vuoi che Vertex AI esegua. A questo scopo, configura il container di addestramento per un container personalizzato o un'applicazione di addestramento Python che viene eseguita su un container.
Per determinare se vuoi utilizzare un contenitore personalizzato o uno predefinito, consulta la sezione Requisiti del codice di addestramento.
Questo documento descrive i campi dell'API Vertex AI che devi specificare nei casi precedenti.
Dove specificare le impostazioni del contenitore
Specifica i dettagli di configurazione in 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
--worker-pool-spec
o--config
sulla bandieragcloud ai custom-jobs create
comando per specificare il worker piscine.Scopri di più sulla creazione di un
CustomJob
.Se crei un
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ù su la creazione di uno
HyperparameterTuningJob
.Se crei un
TrainingPipeline
di archiviazione senza dell'ottimizzazione degli iperparametri,WorkerPoolSpec
aTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Scopri di più sulla creazione di un modello
TrainingPipeline
.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 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 supporta il framework ML che prevedi di usare per l'addestramento. Specifica uno dei seguenti valori: gli URI dell'immagine container in
pythonPackageSpec.executorImageUri
.Specifica gli URI Cloud Storage del tuo addestramento Python dell'applicazione
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 tuo il modulo del punto di accesso dell'applicazione di addestramento nel
pythonPackageSpec.args
.
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 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 maggiori informazioni, leggi 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 di questi campi: il container viene eseguito in base alle sue istruzione
ENTRYPOINT
e istruzioneCMD
(se esistente). Consulta la documentazione di Docker su comeCMD
eENTRYPOINT
interagire.Se specifichi solo
containerSpec.command
: il container viene eseguito con il valore dicontainerSpec.command
sostituisce il relativoENTRYPOINT
istruzioni. Se il contenitore ha un'istruzioneCMD
, questa viene ignorata.Se specifichi solo
containerSpec.args
: il container viene eseguito in base alla sua istruzioneENTRYPOINT
, con il valorecontainerSpec.args
sostituisce la relativa 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 evidenzia dove puoi specificare alcuni di questi
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 del container in alcuni campi nel passaggio Container di addestramento:
containerSpec.imageUri
: utilizza il campo Immagine container.containerSpec.command
: questo campo API non è configurabile nella sezione 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 nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.
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 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 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, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta 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
.