Utilizzare un IP privato per l'addestramento personalizzato

L'utilizzo dell'IP privato per connettersi ai job di addestramento offre maggiore sicurezza di rete e minore latenza di rete rispetto all'utilizzo dell'IP pubblico. Per utilizzare l'IP privato, utilizzi Virtual Private Cloud (VPC) per eseguire il peering della tua rete con qualsiasi tipo di job di addestramento personalizzato di Vertex AI. In questo modo, il codice di addestramento può accedere agli indirizzi IP privati all'interno delle retiGoogle Cloud o on-premise.

Questa guida mostra come eseguire job di addestramento personalizzati nella tua rete dopo aver già configurato il peering di rete VPC per eseguire il peering della tua rete con una risorsa Vertex AI CustomJob, HyperparameterTuningJob o personalizzata TrainingPipeline.

Panoramica

Prima di inviare un job di addestramento personalizzato utilizzando l'IP privato, devi configurare l'accesso privato ai servizi per creare connessioni di peering tra la tua rete e Vertex AI. Se hai già configurato questa opzione, puoi utilizzare le connessioni di peering esistenti.

Questa guida tratta le seguenti attività:

  • Informazioni sugli intervalli IP da prenotare per l'addestramento personalizzato.
  • Verifica lo stato delle connessioni di peering esistenti.
  • Esegui l'addestramento personalizzato di Vertex AI sulla tua rete.
  • Verifica che l'addestramento attivo sia in corso su una rete prima di addestrare un'altra rete.
  • Verifica che il codice di addestramento possa accedere agli IP privati nella tua rete.

Prenotare intervalli IP per l'addestramento personalizzato

Quando prenoti un intervallo IP per i produttori di servizi, l'intervallo può essere utilizzato da Vertex AI e altri servizi. Questa tabella mostra il numero massimo di job di addestramento paralleli che puoi eseguire con intervalli riservati da /16 a /18, supponendo che l'intervallo venga utilizzato quasi esclusivamente da Vertex AI. Se ti connetti ad altri produttori di servizi utilizzando lo stesso intervallo, alloca un intervallo più ampio per ospitarli, in modo da evitare l'esaurimento degli IP.

Configurazione macchina per il job di addestramento Intervallo riservato Numero massimo di job paralleli
Fino a 8 nodi.
Ad esempio: 1 replica primaria nel primo pool di worker, 6 repliche nel secondo pool di worker e 1 worker nel terzo pool di worker (che funge da server parametri)
/16 63
/17 31
/18 15
Fino a 16 nodi.
Ad esempio: 1 replica primaria nel primo worker pool, 14 repliche nel secondo worker pool e 1 worker nel terzo worker pool (che funge da server parametri)
/16 31
/17 15
/18 7
Fino a 32 nodi.
Ad esempio: 1 replica primaria nel primo worker pool, 30 repliche nel secondo worker pool e 1 worker nel terzo worker pool (che funge da server parametri)
/16 15
/17 7
/18 3

Scopri di più sulla configurazione dei pool di worker per l'addestramento distribuito.

Controllare lo stato delle connessioni di peering esistenti

Se hai connessioni di peering esistenti che utilizzi con Vertex AI, puoi elencarle per verificarne lo stato:

gcloud compute networks peerings list --network NETWORK_NAME

Dovresti vedere che lo stato delle connessioni di peering è ACTIVE. Scopri di più sulle connessioni di peering attive.

Eseguire l'addestramento personalizzato

Quando esegui l'addestramento personalizzato, devi specificare il nome della rete a cui vuoi che Vertex AI abbia accesso.

A seconda di come esegui l'addestramento personalizzato, specifica la rete in uno dei seguenti campi API:

Se non specifichi un nome di rete, Vertex AI esegue l'addestramento personalizzato senza una connessione di peering e senza accesso agli IP privati nel tuo progetto.

Esempio: creare un CustomJob con gcloud CLI

Il seguente esempio mostra come specificare una rete quando utilizzi gcloud CLI per eseguire un CustomJob che utilizza un container precompilato. Se esegui l'addestramento personalizzato in modo diverso, aggiungi il campo network come descritto per il tipo di job di addestramento personalizzato che utilizzi.

  1. Crea un file config.yaml per specificare la rete. Se utilizzi VPC condiviso, utilizza il numero del 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
    
  2. Crea un'applicazione di addestramento da eseguire su Vertex AI.

  3. Crea il CustomJob, passando il file config.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 scoprire come sostituire i segnaposto in questo comando, consulta Creazione di job di addestramento personalizzati.

Esegui job su reti diverse

Non puoi eseguire l'addestramento personalizzato su una nuova rete mentre stai ancora eseguendo l'addestramento personalizzato su un'altra rete. Prima di passare a un'altra rete, devi attendere il completamento di tutte le risorse CustomJob, HyperparameterTuningJob e TrainingPipeline personalizzate inviate oppure devi annullarle.

Testa l'accesso al job di addestramento

Questa sezione spiega come verificare che una risorsa di addestramento personalizzata possa accedere agli IP privati nella tua rete.

  1. Crea un'istanza Compute Engine nella rete VPC.
  2. Controlla le regole firewall per assicurarti che non limitino l'accesso dalla rete Vertex AI. In questo caso, aggiungi una regola per assicurarti che la rete Vertex AI possa accedere all'intervallo IP che hai riservato per Vertex AI (e altri produttori di servizi).
  3. Configura un server locale sull'istanza VM per creare un endpoint a cui possa accedere un CustomJob Vertex AI.
  4. Crea un'applicazione di addestramento Python da eseguire su Vertex AI. Anziché il codice di addestramento del modello, crea un codice che acceda all'endpoint che hai configurato nel passaggio precedente.
  5. Segui l'esempio precedente per creare un CustomJob.

Problemi comuni

Questa sezione elenca alcuni problemi comuni relativi alla configurazione del peering di rete VPC con Vertex AI.

  • Quando configuri Vertex AI per utilizzare la tua rete, specifica il nome completo della rete:

    "projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"

  • Assicurati di non eseguire l'addestramento personalizzato su una rete prima di eseguirlo su un'altra rete.

  • Assicurati di aver allocato un intervallo IP sufficiente per tutti i produttori di servizi a cui si connette la tua rete, inclusa Vertex AI.

Per ulteriori informazioni sulla risoluzione dei problemi, consulta la guida alla risoluzione dei problemi di peering di rete VPC.

Passaggi successivi