L'uso dell'IP privato per la connessione ai job di addestramento offre sicurezza della rete e latenza di rete inferiore rispetto all'uso dell'IP pubblico. Per usare le informazioni private devi utilizzare un Virtual Private Cloud (VPC) per eseguire il peering con qualsiasi tipo di Job di addestramento personalizzato Vertex AI. Ciò consente al codice di addestramento di accedere agli indirizzi IP privati all'interno Google Cloud o reti on-premise.
Questa guida mostra come eseguire job di addestramento personalizzato nella tua rete dopo aver
hai già configurato il peering di rete VPC per eseguire il peering della tua rete
con Vertex AI CustomJob
, HyperparameterTuningJob
o
TrainingPipeline
risorsa.
Panoramica
Prima di inviare un job di addestramento personalizzato utilizzando l'IP privato, devi configurare l'accesso privato ai servizi per creare connessioni in peering tra la tua rete e Vertex AI. Se l'hai già configurata, puoi usare le connessioni in peering esistenti.
Questa guida tratta le seguenti attività:
- Capire quali intervalli IP prenotare per l'addestramento personalizzato.
- Verifica lo stato delle connessioni in peering esistenti.
- Eseguire l'addestramento personalizzato di Vertex AI sulla tua rete.
- Verifica se l'addestramento attivo viene eseguito su una rete prima di in un'altra rete.
- Verifica che il tuo codice di addestramento possa accedere agli IP privati nella tua rete.
Prenota intervalli IP per l'addestramento personalizzato
Quando prenoti un intervallo IP per i producer di servizi, l'intervallo può essere utilizzato Vertex AI e altri servizi. Questa tabella mostra il numero massimo di job di addestramento parallelo che puoi eseguire con intervalli riservati da /16 a /19, supponendo che l'intervallo sia utilizzato quasi esclusivamente da Vertex AI. Se connettiti con altri producer di servizi usando lo stesso intervallo, alloca in un intervallo di tempo più ampio per ospitarle, in modo da evitare l'esaurimento degli IP.
Configurazione della macchina per il job di addestramento | Intervallo riservato | Numero massimo di job paralleli | |
---|---|---|---|
Fino a 8 nodi. Ad esempio: 1 replica principale nel primo pool di worker, 6 repliche nel secondo pool di worker e 1 worker nel terzo pool di worker (per agire come parametro (server) |
/16 | 63 | |
/17 | 31 | ||
/18 | 15 | ||
/19 | 7 | ||
Fino a 16 nodi. Ad esempio: 1 replica principale nel primo pool di worker, 14 repliche nel secondo pool di worker e 1 worker nel terzo pool di worker (per agire come parametro (server) |
/16 | 31 | |
/17 | 15 | ||
/18 | 7 | ||
/19 | 3 | ||
Fino a 32 nodi. Ad esempio: 1 replica principale nel primo pool di worker, 30 repliche nel secondo pool di worker e 1 worker nel terzo pool di worker (per agire come parametro (server) |
/16 | 15 | |
/17 | 7 | ||
/18 | 3 | ||
/19 | 1 |
Scopri di più sulla configurazione di pool di worker per addestramento.
Controllare lo stato delle connessioni in peering esistenti
Se hai già delle connessioni in peering che utilizzi con Vertex AI, puoi elencarli per controllarne lo stato:
gcloud compute networks peerings list --network NETWORK_NAME
Dovresti vedere che lo stato delle connessioni in peering è ACTIVE
.
Scopri di più sulle connessioni in peering attive.
Esegui addestramento personalizzato
Quando esegui l'addestramento personalizzato, devi specificare il nome del a cui vuoi che Vertex AI abbia accesso.
A seconda di come viene eseguito l'addestramento personalizzato, specifica la rete in una delle seguenti campi dell'API:
Se crei un
CustomJob
,specificaCustomJob.jobSpec.network
.Se utilizzi Google Cloud CLI, puoi utilizzare il flag
--config
ilgcloud ai custom-jobs create
per specificarenetwork
.Scopri di più sulla creazione di un
CustomJob
.Se crei un
HyperparameterTuningJob
, specifica il campoHyperparameterTuningJob.trialJobSpec.network
.Se utilizzi gcloud CLI, puoi utilizzare
--config
flag ingcloud ai hpt-tuning-jobs create
per specificarenetwork
.Scopri di più su la creazione di un
HyperparameterTuningJob
.Se crei un
TrainingPipeline
senza dell'ottimizzazione degli iperparametri,TrainingPipeline.trainingTaskInputs.network
.Scopri di più sulla creazione di un modello
TrainingPipeline
.Se stai creando un
TrainingPipeline
con l'ottimizzazione degli iperparametri, specificare il campoTrainingPipeline.trainingTaskInputs.trialJobSpec.network
.
Se non specifichi un nome di rete, Vertex AI esegue addestramento personalizzato senza connessione in peering e senza accesso a IP privati nel tuo progetto.
Esempio: creazione di un CustomJob
con gcloud CLI
L'esempio seguente mostra come specificare una rete quando utilizzi il protocollo
gcloud CLI per eseguire un CustomJob
che utilizza un container predefinito. Se
stai eseguendo l'addestramento personalizzato in un altro modo, aggiungi il campo network
come descritto per il tipo di job di addestramento personalizzato che stai utilizzando.
Crea un file
config.yaml
per specificare la rete. Se utilizzi VPC condiviso, utilizza il numero di progetto host VPC.Assicurati che il nome della rete sia formattato correttamente:
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") cat <<EOF > config.yaml network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME EOF
Crea un'applicazione di addestramento su Vertex AI.
Crea la
CustomJob
, passando nel tuo fileconfig.yaml
: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 \ --config=config.yaml
Per informazioni su come sostituire i segnaposto in questo comando, consulta Creazione di segnaposto di addestramento.
Esecuzione di job su reti diverse
Non puoi eseguire l'addestramento personalizzato su una nuova rete mentre sei ancora
l'addestramento personalizzato su un'altra rete. Prima di passare a un'altra
rete, devi attendere tutti i messaggi CustomJob
, HyperparameterTuningJob
,
e personalizzate TrainingPipeline
per completarle oppure devi annullarle.
Testa l'accesso al job di addestramento
Questa sezione spiega come verificare che una risorsa di addestramento personalizzato possa accedere IP privati nella tua rete.
- Crea un'istanza Compute Engine nella tua rete VPC.
- Controlla le regole del firewall per assicurarti che non limita il traffico in entrata dalla rete Vertex AI. In questo caso, aggiungi per assicurarti che la rete Vertex AI possa accedere all'intervallo IP riservato a Vertex AI (e ad altri producer di servizi).
- Configura un server locale sull'istanza VM per creare un endpoint per un
Vertex AI
CustomJob
per accedere. - Creare un'applicazione di addestramento Python da eseguire su Vertex AI. Anziché utilizzare il codice di addestramento del modello, crea un codice che acceda all'endpoint configurato nel passaggio precedente.
- Segui l'esempio precedente per creare una
CustomJob
.
Problemi comuni
Questa sezione elenca alcuni problemi comuni per la configurazione del peering di rete VPC con Vertex AI.
Quando configuri Vertex AI per l'utilizzo della tua rete, specifica nome completo della rete:
"projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"
Assicurati di non eseguire l'addestramento personalizzato su una rete prima l'addestramento personalizzato su una rete diversa.
Assicurati di aver allocato un intervallo IP sufficiente per tutti i servizi dei produttori a cui si connette la tua rete, tra cui Vertex AI.
Per ulteriori informazioni sulla risoluzione dei problemi, consulta Guida alla risoluzione dei problemi relativi al peering di rete VPC.
Passaggi successivi
- Scopri di più sul peering di rete VPC.
- Consulta architetture di riferimento e best practice per la progettazione di VPC.