Quando esegui l'addestramento serverless di Vertex AI, devi specificare il codice di machine learning (ML) che vuoi che Vertex AI esegua. Per farlo, configura le impostazioni del container di addestramento per un container personalizzato o per un'applicazione di addestramento Python che viene eseguita su un container predefinito.
Per determinare se vuoi utilizzare un container personalizzato o un container predefinito container, leggi Requisiti del codice di addestramento.
Questo documento descrive i campi dell'API Vertex AI che devi specificare in entrambi i casi precedenti.
Dove specificare le impostazioni del container
Specifica i dettagli di configurazione all'interno di un
WorkerPoolSpec. A seconda di come esegui l'addestramento serverless, inserisci questo WorkerPoolSpec in uno dei seguenti campi API:
Se stai creando una risorsa
CustomJob, specificaWorkerPoolSpecinCustomJob.jobSpec.workerPoolSpecs.Se utilizzi Google Cloud CLI, puoi utilizzare il
--worker-pool-specflag o il--configflag nelgcloud ai custom-jobs createcomando per specificare le opzioni del pool di worker.Scopri di più sulla creazione di un
CustomJob.Se stai creando una risorsa
HyperparameterTuningJob, specificaWorkerPoolSpecinHyperparameterTuningJob.trialJobSpec.workerPoolSpecs.Se utilizzi Google Cloud CLI, puoi utilizzare il
--configflag nelgcloud ai hpt-tuning-jobs createcomando per specificare le opzioni del pool di worker.Scopri di più su come creare un
HyperparameterTuningJob.Se stai creando una risorsa
TrainingPipelinesenza ottimizzazione degli iperparametri, specificaWorkerPoolSpecinTrainingPipeline.trainingTaskInputs.workerPoolSpecs.Scopri di più su come creare un
TrainingPipelinepersonalizzato.Se stai creando un
TrainingPipelinecon l'ottimizzazione degli iperparametri, specificaWorkerPoolSpecinTrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs.
Se esegui l'addestramento distribuito, puoi utilizzare impostazioni diverse per ogni pool di worker.
Configurare le impostazioni del container
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 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 dell'applicazione di addestramento Python nel campo
pythonPackageSpec.packageUris.Specifica il modulo del punto di ingresso dell'applicazione di addestramento nel
pythonPackageSpec.pythonModulecampo.(Facoltativo) Specifica un elenco di argomenti della riga di comando da passare al tuo modulo del punto di ingresso dell'applicazione di addestramento nel campo
pythonPackageSpec.args.
Gli esempi seguenti mostrano dove specificare queste impostazioni del container quando crei un CustomJob:
Console
Nella Google Cloud console, non puoi creare direttamente un CustomJob. Tuttavia,
puoi creare un TrainingPipeline che crea un
CustomJob. Quando crei un
TrainingPipeline nella Google Cloud console, puoi specificare le impostazioni del
container predefinito 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 Percorso 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 maggiori informazioni, consulta la guida alla creazione di un
CustomJob.
Container personalizzato
Specifica l'URI di Artifact Registry o Docker Hub del tuo container personalizzato nel
containerSpec.imageUricampo.(Facoltativo) Se vuoi sostituire le
ENTRYPOINToCMDistruzioni nel container, specifica i campicontainerSpec.commandocontainerSpec.args. Questi campi influiscono sul modo in cui il container viene eseguito in base alle seguenti regole:Se non specifichi nessuno dei due campi:il container viene eseguito in base all'istruzione
ENTRYPOINTe all'istruzioneCMD(se esiste). Consulta la documentazione di Docker su comeCMDeENTRYPOINTinteragiscono.Se specifichi solo
containerSpec.command: il container viene eseguito con il valore dicontainerSpec.commandche 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 valore dicontainerSpec.argsche sostituisce l'istruzioneCMD.Se specifichi entrambi i campi:il container viene eseguito con
containerSpec.commandche sostituisce l'istruzioneENTRYPOINTecontainerSpec.argsche sostituisce l'istruzioneCMD.
L'esempio seguente mostra dove puoi specificare alcune di queste impostazioni del container quando crei un CustomJob:
Console
Nella Google Cloud console, non puoi creare direttamente un CustomJob. Tuttavia,
puoi creare un TrainingPipeline che crea un
CustomJob. Quando crei un
TrainingPipeline nella Google Cloud console, puoi specificare le impostazioni del
container personalizzato in determinati campi nel passaggio Container di addestramento:
containerSpec.imageUri: utilizza il campo Immagine container.containerSpec.command: questo campo API non è configurabile nella Google 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
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell' API Java di Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per eseguire l'autenticazione in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per maggiori informazioni, consulta la Python documentazione di riferimento dell'API.
Per maggiori informazioni, consulta la guida alla creazione di un
CustomJob.
Passaggi successivi
- Scopri come eseguire l'addestramento serverless creando un
CustomJob.