- 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 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 in gs://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()
Scrivere 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 al job un account di servizio personalizzato. 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 assegnare al job di addestramento personalizzato l'accesso in lettura e scrittura al bucket A, ma solo l'accesso in lettura al bucket B, puoi assegnare al job un account di servizio personalizzato con i seguenti ruoli:
roles/storage.objectAdmin
per il bucket Aroles/storage.objectViewer
per il bucket B
Se il job di addestramento tenta di scrivere nel bucket B, viene restituito un errore "autorizzazione negata".
Per saperne di più sui ruoli Cloud Storage, consulta Ruoli IAM per Cloud Storage.
Best practice
- Evita di rinominare le directory. Un'operazione di rinominazione non è atomica in Cloud Storage FUSE. Se l'operazione viene interrotta, alcuni file rimangono nella 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à in lettura ottimale quando utilizzi Cloud Storage come file system, consigliamo di implementare le seguenti linee guida:
- Per ridurre la latenza introdotta dalla ricerca e dall'apertura di oggetti in un secchio, archivia i dati in file più grandi e meno numerosi.
- Utilizza l'addestramento distribuito per massimizzare l'utilizzo della larghezza di banda.
- Memorizza nella cache i file a cui accedi di frequente per migliorare le prestazioni di lettura. Per maggiori dettagli, consulta 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, incluse le differenze tra Cloud Storage FUSE e i file system POSIX, consulta Limitazioni e differenze rispetto ai file system POSIX.
Utilizzare Cloud Storage FUSE
Per utilizzare Cloud Storage FUSE per l'addestramento personalizzato:
- Crea un bucket Cloud Storage. Tieni presente che i bucket a due regioni e a più regioni non sono supportati per l'addestramento personalizzato.
Carica i dati di addestramento nel bucket. Per maggiori dettagli, consulta Caricarli.
Per scoprire altre opzioni per trasferire i dati in Cloud Storage, consulta Opzioni di trasferimento dei dati.
Passaggi successivi
- Consulta la documentazione di Cloud Storage FUSE.
- Scopri di più sui prezzi di Cloud Storage FUSE.
- Prepara l'applicazione di addestramento per l'utilizzo su Vertex AI.