Utilizza Cloud Storage come file system montato

Cloud Storage FUSE ti consente di caricare i dati di addestramento in un bucket Cloud Storage e di accedervi dal tuo job di addestramento personalizzato come a un file system montato. L'utilizzo di Cloud Storage FUSE offre i seguenti vantaggi:

  • I dati di addestramento vengono trasmessi in streaming al job di addestramento anziché scaricati nelle repliche, il che può velocizzare le attività di caricamento e configurazione dei dati quando il job inizia a essere eseguito.
  • I job di addestramento possono gestire input e output su larga scala senza effettuare chiamate API, gestire le risposte o integrarsi con le librerie lato client.
  • Cloud Storage FUSE offre un'elevata velocità in termini di throughput per le letture sequenziali di file di grandi dimensioni e in scenari di addestramento distribuito.

Casi d'uso

Consigliamo di utilizzare Cloud Storage per l'archiviazione dei dati di addestramento nelle seguenti situazioni:

  • I dati di addestramento sono dati non strutturati, come immagini, testo e video.
  • I dati di addestramento sono dati strutturati in un formato come TFRecord.
  • I dati di addestramento contengono file di grandi dimensioni, come i video non elaborati.
  • Utilizzi l'addestramento distribuito.

Come funziona

I job di addestramento personalizzato possono accedere ai bucket Cloud Storage come sottodirectory della directory principale /gcs. Ad esempio, se i dati di addestramento si trovano ings://example-bucket/data.csv, puoi leggere e scrivere nel bucket dalla tua applicazione di addestramento Python come segue:

Leggi nel bucket

with open('/gcs/example-bucket/data.csv', 'r') as f:
  lines = f.readlines()

Scrivi nel bucket

with open('/gcs/example-bucket/epoch3.log', 'a') as f:
  f.write('success!\n')

Autorizzazioni di accesso al bucket

Per impostazione predefinita, un job di addestramento personalizzato può accedere a qualsiasi bucket Cloud Storage all'interno dello stesso progetto Google Cloud utilizzando l'agente di servizio del codice personalizzato Vertex AI. Per controllare l'accesso ai bucket, puoi assegnare account di servizio personalizzato al job. In questo caso, l'accesso a un bucket Cloud Storage viene concesso in base alle autorizzazioni associate ai ruoli Cloud Storage dell'account di servizio personalizzato.

Ad esempio, se vuoi concedere al job di addestramento personalizzato l'accesso in lettura e scrittura ma solo l'accesso in lettura al bucket-B, puoi assegnare un servizio che dispone dei seguenti ruoli per il job:

  • roles/storage.objectAdmin per Bucket-A
  • roles/storage.objectViewer per Bucket-B

Se il job di addestramento tenta di scrivere sul bucket B, viene visualizzata un'"autorizzazione negata" errore viene restituito.

Per ulteriori informazioni sui ruoli di Cloud Storage, consulta Ruoli IAM per Cloud Storage.

Best practice

  • Evita di rinominare le directory. Un'operazione di ridenominazione non è atomica Cloud Storage FUSE. Se l'operazione viene interrotta, alcuni file rimangono nella cartella la vecchia directory.
  • Evita di chiudere (close()) o svuotare la cache dei file (flush()) inutilmente. La chiusura o lo svuotamento della cache dei file comporta il trasferimento del file in Cloud Storage, con un costo.

Linee guida per l'ottimizzazione delle prestazioni

Per ottenere una velocità effettiva di lettura ottimale quando utilizzi Cloud Storage come file system, consigliamo di implementare le seguenti linee guida:

  • Per ridurre la latenza introdotta cercando e aprendo gli oggetti in un di archiviazione i dati in file più grandi e in meno.
  • Utilizza l'addestramento distribuito per massimizzare dell'utilizzo della larghezza di banda.
  • Memorizza nella cache i file a cui accedi di frequente per migliorare le prestazioni di lettura. Per maggiori dettagli, vedi Panoramica della memorizzazione nella cache in Cloud Storage FUSE.
  • Utilizza lo spazio di archiviazione locale per i checkpoint e i log anziché Cloud Storage.

Limitazioni

Per conoscere le limitazioni di Cloud Storage FUSE, comprese le differenze tra i file system Cloud Storage FUSE e POSIX, vedi Limitazioni e differenze rispetto ai file system POSIX.

Utilizzare Cloud Storage FUSE

Per utilizzare Cloud Storage FUSE per l'addestramento personalizzato, segui questi passaggi:

  1. Crea un bucket Cloud Storage.
  2. Caricare i dati di addestramento nel bucket. Per maggiori dettagli, vedi Caricamenti.

    Per scoprire altre opzioni per il trasferimento di dati in Cloud Storage, vedi Opzioni di trasferimento dati.

  3. Installa Cloud Storage FUSE.

  4. Monta il bucket nell'applicazione di addestramento.

Passaggi successivi