Quando esegui l'addestramento personalizzato, devi specificare il codice di machine learning (ML) che vuoi eseguire con Vertex AI. A tale 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, leggi i 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 in una WorkerPoolSpec
. A seconda di come esegui l'addestramento personalizzato, inserisci questo WorkerPoolSpec
in uno dei seguenti campi API:
Se si sta creando una
CustomJob
risorsa, specificaWorkerPoolSpec
inCustomJob.jobSpec.workerPoolSpecs
.Se utilizzi l'interfaccia a riga di comando di Google Cloud, puoi usare 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
HyperparameterTuningJob
risorsa, specificaWorkerPoolSpec
inHyperparameterTuningJob.trialJobSpec.workerPoolSpecs
.Se utilizzi l'interfaccia a riga di comando gcloud, 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 elemento
HyperparameterTuningJob
.Se stai creando una
TrainingPipeline
risorsa senza ottimizzazione degli iperparametri, specificaWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.workerPoolSpecs
.Scopri di più sulla creazione di un elemento
TrainingPipeline
personalizzato.Se crei un
TrainingPipeline
con ottimizzazione degli iperparametri, specifica il valoreWorkerPoolSpec
inTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
.
Se stai eseguendo addestramento distribuito, puoi utilizzare impostazioni diverse per ogni pool di worker.
Configura le impostazioni dei contenitori
Devi specificare diversi campi all'interno dell'WorkerPoolSpec
, a seconda che utilizzi un contenitore predefinito o personalizzato. Seleziona la scheda relativa al tuo scenario:
Contenitore 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 contatto della tua applicazione di addestramento nel campo
pythonPackageSpec.pythonModule
.Se vuoi, specifica un elenco di argomenti della riga di comando da trasmettere al modulo del punto di ingresso dell'applicazione di addestramento nel campo
pythonPackageSpec.args
.
I seguenti esempi mettono in evidenza dove specifichi queste impostazioni del contenitore quando crei un CustomJob
:
Console
In Google Cloud Console non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare un TrainingPipeline
che crei una
CustomJob
. Quando crei un elemento
TrainingPipeline
in Cloud Console, puoi specificare impostazioni predefinite
per i container in determinati campi del passaggio Contenitore addestramento:
pythonPackageSpec.executorImageUri
: utilizza gli elenchi a discesa Framework modello e Versione framework modello.pythonPackageSpec.packageUris
: utilizza il campo Posizione pacchetto.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 un elemento CustomJob
.
Contenitore personalizzato
Specifica l'URI Artifact Registry, Container Registry o Docker Hub del tuo container personalizzato nel campo
containerSpec.imageUri
.(Facoltativo) Se vuoi eseguire l'override delle istruzioni
ENTRYPOINT
oCMD
nel tuo contenitore, specifica i campicontainerSpec.command
ocontainerSpec.args
. Questi campi influiscono sulla modalità di esecuzione del tuo container in base alle seguenti regole:Se non specifichi nessuno dei due campi: il container viene eseguito in base alle relative istruzioni
ENTRYPOINT
eCMD
(se presenti). Consulta la documentazione di Docker su comeCMD
eENTRYPOINT
interagiscono.Se specifichi solo
containerSpec.command
: il container viene eseguito con il valorecontainerSpec.command
sostituendo la relativa istruzioneENTRYPOINT
. Se il contenitore ha un'istruzioneCMD
, viene ignorato.Se specifichi solo
containerSpec.args
: il container viene eseguito in base alla relativa istruzioneENTRYPOINT
, con il valorecontainerSpec.args
che sostituisce la rispettiva istruzioneCMD
.Se specifichi entrambi i campi: il contenitore verrà eseguito con
containerSpec.command
al posto dell'istruzioneENTRYPOINT
econtainerSpec.args
sostituendo l'istruzioneCMD
.
L'esempio seguente mostra dove puoi specificare alcune di queste
impostazioni del contenitore quando crei un CustomJob
:
Console
In Google Cloud Console non puoi creare direttamente un CustomJob
. Tuttavia,
puoi creare un TrainingPipeline
che crei una
CustomJob
. Quando crei un
TrainingPipeline
in Cloud Console, puoi specificare impostazioni personalizzate
per i container in determinati campi del passaggio Contenitore addestramento:
containerSpec.imageUri
: utilizza il campo Immagine container.containerSpec.command
: questo campo API non è configurabile in Cloud Console.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
Node.js
Per informazioni su come installare e utilizzare la libreria client per Vertex AI, consulta le librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI.js.
Python
Per informazioni su come installare e utilizzare la libreria client per Vertex AI, consulta le librerie client di Vertex AI. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python AI Vertex.
Per saperne di più, consulta la guida alla creazione di un elemento CustomJob
.
Passaggi successivi
- Scopri come eseguire un addestramento personalizzato creando un elemento
CustomJob
.