Utilizza un IP privato per l'addestramento personalizzato

L'utilizzo dell'IP privato per la connessione ai job di addestramento offre maggiore sicurezza di rete e minore latenza di rete rispetto all'utilizzo di un IP pubblico. Per utilizzare l'IP privato, puoi usare Virtual Private Cloud (VPC) per il peering della tua rete con qualsiasi tipo di job di addestramento personalizzato di Vertex AI. Ciò consente al codice di addestramento di accedere agli indirizzi IP privati all'interno delle tue reti Google Cloud o on-premise.

Questa guida mostra come eseguire job di addestramento personalizzato 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 TrainingPipeline personalizzata.

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à fatto, 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 avviene su una rete prima di eseguire l'addestramento su 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 da Vertex AI e da 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 ti connetti ad altri producer di servizi utilizzando lo stesso intervallo, alloca un intervallo più ampio per ospitarli, per 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 (che funge da server dei parametri)
/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 (che funge da server dei parametri)
/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 (che funge da server dei parametri)
/16 15
/17 7
/18 3
/19 1

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

Controllare lo stato delle connessioni in peering esistenti

Se hai già delle connessioni in peering che utilizzi con Vertex AI, puoi elencarle per controllare 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 della rete a cui vuoi che abbia accesso Vertex AI.

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

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

Esempio: creazione di un CustomJob con gcloud CLI

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

  1. Crea un file config.yaml per specificare la rete. Se utilizzi il VPC condiviso, usa 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 la CustomJob, passando nel tuo 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 informazioni su come sostituire i segnaposto in questo comando, consulta Creazione di job di addestramento personalizzati.

Esecuzione di job su reti diverse

Non puoi eseguire l'addestramento personalizzato su una nuova rete mentre sta 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 personalizzato possa accedere agli IP privati nella tua rete.

  1. Crea un'istanza Compute Engine nella tua rete VPC.
  2. Controlla le regole firewall per assicurarti che non limitino il traffico in entrata dalla rete Vertex AI. In tal caso, aggiungi una regola per garantire che la rete Vertex AI possa accedere all'intervallo IP che hai prenotato per Vertex AI (e altri producer di servizi).
  3. Configura un server locale sull'istanza VM per creare un endpoint a cui un CustomJob di Vertex AI può accedere.
  4. 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.
  5. 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 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 eseguire l'addestramento personalizzato su un'altra rete.

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

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

Passaggi successivi