Utilizzo di Cloud Storage come file system montato

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

  • I dati di addestramento vengono trasmessi al job di addestramento anziché scaricati nelle repliche, il che può velocizzare il caricamento dei dati e la configurazione delle attività all'avvio del job.
  • I job di addestramento possono gestire input e output su larga scala senza effettuare chiamate API, gestire le risposte o integrare le librerie lato client.
  • Cloud Storage FUSE offre velocità effettiva elevata per 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, ad esempio un video non elaborato.
  • Utilizzi l'addestramento distribuito.

Come funziona

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

Lettura 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 ai 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 codice personalizzato Vertex AI. Per controllare l'accesso ai bucket, puoi assegnare un 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 a Bucket-A, ma solo l'accesso in lettura a Bucket-B, puoi assegnare al job un account di servizio personalizzato con i ruoli seguenti:

  • roles/storage.objectAdmin per il bucket A
  • roles/storage.objectViewer per il bucket-B

Se il job di addestramento tenta di scrivere nel Bucket-B, viene restituito un errore di "autorizzazione negata".

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 in Cloud Storage FUSE. Se l'operazione viene interrotta, alcuni file rimangono nella directory precedente.
  • Evita di chiudere inutilmente (close()) o di svuotare i file (flush()). La chiusura o lo svuotamento dei file comportano il push del file in Cloud Storage e comporta un costo.

Linee guida per l'ottimizzazione del rendimento

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

  • Per ridurre la latenza introdotta cercando e aprendo gli oggetti in un bucket, archivia i dati in file più grandi e di meno.
  • Utilizza l'addestramento parallelo per massimizzare l'utilizzo della larghezza di banda.
  • Memorizza nella cache i file a cui si accede di frequente per migliorare le prestazioni di lettura.

Limitazioni

Per informazioni sulle limitazioni di Cloud Storage FUSE, incluse le differenze tra i file system Cloud Storage FUSE e POSIX, consulta Differenze rispetto ad altri file system.

Carica i dati in Cloud Storage

Per informazioni sulle opzioni disponibili per il trasferimento dei dati in Cloud Storage, vedi Opzioni di trasferimento dei dati.

Passaggi successivi