Puoi configurare i job di addestramento personalizzati per montare le condivisioni Network File System (NFS) nel container in cui viene eseguito il codice. In questo modo i tuoi job possono accedere ai file remoti come se fossero locali, consentendo un'alta velocità effettiva e una bassa latenza.
Questa guida mostra come montare una condivisione Network File System durante l'esecuzione di un job di addestramento personalizzato.
Prima di iniziare
Crea una condivisione NFS in un Virtual Private Cloud (VPC). La tua condivisione deve essere accessibile senza autenticazione.
Puoi utilizzare un'istanza Filestore come condivisione NFS. Se utilizzi Filestore e prevedi di utilizzare il peering VPC per Vertex AI nel passaggio successivo, seleziona accesso privato ai servizi come modalità di connessione quando crei un'istanza. Per un esempio, consulta Crea istanze nella documentazione di Filestore.
Per connettere Vertex AI al VPC che ospita la condivisione NFS, segui le istruzioni riportate in Utilizzare l'interfaccia Private Service Connect per Vertex AI (consigliato) o Configurare il peering di rete VPC.
Informazioni sul Network File System per l'addestramento personalizzato
Quando crei un job di addestramento personalizzato che monta una condivisione NFS, devi specificare quanto segue:
Il nome della rete a cui Vertex AI deve accedere. Il modo in cui specificare il nome della rete varia a seconda del tipo di job di addestramento personalizzato. Per maggiori dettagli, vedi Eseguire l'addestramento personalizzato.
La configurazione NFS nel campo WorkerPoolSpec. Includi i seguenti campi:
Campo Descrizione nfsMounts.server
L'indirizzo IP del tuo server NFS. Deve essere un indirizzo privato nel tuo VPC. nfsMounts.path
Il percorso della condivisione NFS. Deve essere un percorso assoluto che inizia con /
.nfsMounts.mountPoint
Il punto di montaggio locale. Deve essere un nome di directory UNIX valido. Ad esempio, se il punto di montaggio locale è sourceData
, specifica il percorso/mnt/nfs/sourceData
dalla VM di addestramento.Per saperne di più, consulta Dove specificare le risorse di calcolo.
Esempio: crea un job personalizzato utilizzando gcloud CLI
Segui i passaggi descritti in Creare un'applicazione di addestramento Python per un container predefinito per creare un'applicazione di addestramento da eseguire su Vertex AI.
Crea un file denominato
config.yaml
che descriva le impostazioni di montaggio della configurazione dell'interfaccia PSA o Private Service Connect per il job di addestramento. Utilizza uno dei seguenti formati:
Interfaccia Private Service Connect
Per utilizzare l'interfaccia Private Service Connect:
pscInterfaceConfig: network_attachment: NETWORK_ATTACHMENT_NAME workerPoolSpecs: - machineSpec: machineType: MACHINE_TYPE replicaCount: 1 pythonPackageSpec: executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI packageUris: - PYTHON_PACKAGE_URIS pythonModule: PYTHON_MODULE nfsMounts: - server: NFS_SERVER_IP path: NFS_SHARE_NAME mountPoint: LOCAL_FOLDER
Sostituisci quanto segue:
NETWORK_ATTACHMENT_NAME: il nome del collegamento di rete.
MACHINE_TYPE: l'identificatore del tipo di macchina virtuale.
PYTHON_PACKAGE_EXECUTOR_IMAGE_URI o PRE_BUILT_CONTAINER_IMAGE_URI: L'URI di un'immagine container in Artifact Registry che eseguirà il pacchetto Python fornito. Vertex AI fornisce un'ampia gamma di immagini di executor con pacchetti preinstallati per soddisfare i vari casi d'uso degli utenti.
PYTHON_PACKAGE_URIS: un elenco separato da virgole di URI Cloud Storage che specificano i file del pacchetto Python che compongono il programma di addestramento e i relativi pacchetti dipendenti. Il numero massimo di URI dei pacchetti è 100.
PYTHON_MODULE: il nome del modulo Python da eseguire dopo l'installazione dei pacchetti.
NFS_SERVER_IP: L'indirizzo IP del server NFS.
NFS_SHARE_NAME: il percorso della condivisione NFS, ovvero un percorso assoluto che inizia con
/
.LOCAL_FOLDER: Il punto di montaggio locale (nome della directory UNIX).
Assicurati che il nome della rete sia formattato correttamente e che la condivisione NFS esista nella rete specificata.
Crea il job personalizzato e passa il file
config.yaml
al parametro--config
.gcloud ai custom-jobs create \ --region=LOCATION \ --display-name=JOB_NAME \ --config=config.yaml
Sostituisci quanto segue:
LOCATION: specifica la regione in cui creare il job.
JOB_NAME: un nome per il job personalizzato.
Peering VPC
Utilizza il peering VPC se vuoi che il job utilizzi il peering VPC/PSA sul job o meno.
network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME workerPoolSpecs: - machineSpec: machineType: MACHINE_TYPE replicaCount: 1 pythonPackageSpec: executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI packageUris: - PYTHON_PACKAGE_URIS pythonModule: PYTHON_MODULE nfsMounts: - server: NFS_SERVER_IP path: NFS_SHARE_NAME mountPoint: LOCAL_FOLDER
Sostituisci quanto segue:
PROJECT_NUMBER: l'ID progetto del tuo Google Cloud progetto.
NETWORK_NAME: il nome del tuo VPC privato o condiviso.
MACHINE_TYPE: l'identificatore del tipo di macchina virtuale.
PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI: L'URI di un'immagine container in Artifact Registry che eseguirà il pacchetto Python fornito. Vertex AI fornisce un'ampia gamma di immagini di executor con pacchetti preinstallati per soddisfare i vari casi d'uso degli utenti.
PYTHON_PACKAGE_URIS: un elenco separato da virgole di URI Cloud Storage che specificano i file del pacchetto Python che compongono il programma di addestramento e i relativi pacchetti dipendenti. Il numero massimo di URI dei pacchetti è 100.
PYTHON_MODULE: il nome del modulo Python da eseguire dopo l'installazione dei pacchetti.
NFS_SERVER_IP: L'indirizzo IP del server NFS.
NFS_SHARE_NAME: il percorso della condivisione NFS, ovvero un percorso assoluto che inizia con
/
.LOCAL_FOLDER: Il punto di montaggio locale (nome della directory UNIX).
Assicurati che il nome della rete sia formattato correttamente e che la condivisione NFS esista nella rete specificata.
Crea il job personalizzato e passa il file
config.yaml
al parametro--config
.gcloud ai custom-jobs create \ --region=LOCATION \ --display-name=JOB_NAME \ --config=config.yaml
Sostituisci quanto segue:
LOCATION: specifica la regione in cui creare il job.
JOB_NAME: un nome per il job personalizzato.
Limitazioni
Devi montare la condivisione NFS utilizzando un indirizzo IP interno al tuo VPC; l'utilizzo di URL pubblici non è consentito.
I job di addestramento montano le condivisioni NFS senza autenticazione e non andranno a buon fine se sono richiesti un nome utente e una password.
Per proteggere i tuoi dati, imposta le autorizzazioni sulla condivisione NFS. Se utilizzi Filestore, consulta il controllo dell'accesso nella documentazione di Filestore.
Non puoi eseguire contemporaneamente due job di addestramento che montano condivisioni NFS da reti VPC diverse. Ciò è dovuto alla limitazione del peering di rete.