Configurazione di job di addestramento per accedere ai set di dati
Quando crei un job di addestramento, specifichi la posizione dei set di dati di addestramento in un archivio dati di tua scelta e la modalità di input dei dati per il job. Amazon SageMaker AI supporta Amazon Simple Storage Service (Amazon S3), Amazon Elastic File System (Amazon EFS) e Amazon FSx per Lustre. Puoi scegliere una delle modalità di input per trasmettere in streaming in tempo reale o scaricare l’intero set di dati all’inizio del job di addestramento.
Nota
Il set di dati deve trovarsi nella stessa Regione AWS del job di addestramento.
Modalità di input e opzioni di archiviazione su cloud AWS di SageMaker AI
In questa sezione viene fornita una panoramica delle modalità di input dei file supportate da SageMaker per i dati archiviati in Amazon EFS e Amazon FSx per Lustre.
-
La modalità dei file presenta una vista del file system del set di dati nel container di addestramento. Questa è la modalità di input predefinita se non specifichi esplicitamente una delle altre due opzioni. Se utilizzi la modalità dei file, SageMaker AI scarica i dati di addestramento dal percorso di archiviazione in una directory locale nel container Docker. L’addestramento inizia dopo il download del set di dati completo. Nella modalità dei file, l'istanza di addestramento deve disporre di spazio di storage sufficiente per contenere l'intero set di dati. La velocità di download nella modalità dei file dipende dalle dimensioni del set di dati, dalle dimensioni medie dei file e dal numero di file. Puoi configurare il set di dati per la modalità dei file fornendo un prefisso Amazon S3, un file manifesto o un file manifesto aumentato. Devi utilizzare un prefisso S3 quando tutti i file del set di dati si trovano all'interno di un prefisso S3 comune. La modalità dei file è compatibile con la modalità locale di SageMaker AI
(avvio interattivo di un container di addestramento SageMaker in pochi secondi). Per l'addestramento distribuito, puoi ripartire il set di dati su più istanze con l'opzione ShardedByS3Key. -
La modalità dei file veloce fornisce l'accesso al file system a un'origine dati Amazon S3 sfruttando al contempo il vantaggio prestazionale della modalità pipe. All'inizio dell'addestramento, la modalità dei file veloce identifica i file di dati, ma non li scarica. L'addestramento può iniziare senza attendere il download dell'intero set di dati. Ciò significa che l'avvio dell’addestramento richiede meno tempo quando ci sono meno file nel prefisso Amazon S3 fornito.
A differenza della modalità pipe, la modalità dei file veloce funziona con accesso casuale ai dati. Tuttavia, funziona meglio quando i dati vengono letti in sequenza. La modalità dei file veloce non supporta i file manifesto aumentati.
La modalità dei file veloce espone gli oggetti S3 utilizzando un'interfaccia di file system conforme a POSIX, come se i file fossero disponibili sul disco locale dell'istanza di addestramento. Trasmette in streaming i contenuti S3 on demand man mano che lo script di addestramento utilizza i dati. Ciò significa che non è più necessario che il set di dati si adatti allo spazio di archiviazione dell'istanza di addestramento nel suo complesso e non è necessario attendere che il set di dati venga scaricato sull'istanza di addestramento prima che abbia inizio l’addestramento. Attualmente la modalità dei file veloce supporta solo i prefissi S3 (non supporta file manifesto e manifesto aumentati). La modalità FastFile è compatibile con la modalità locale di SageMaker AI.
Nota
L’utilizzo della modalità FastFile potrebbe comportare un aumento dei costi di CloudTrail a causa della registrazione aggiuntiva di log di:
-
Eventi di dati Amazon S3 (se abilitati in CloudTrail).
-
Eventi di decrittografia AWS KMS quando si accede a oggetti Amazon S3 crittografati con chiavi AWS KMS.
-
Eventi di gestione relativi alle operazioni AWS KMS.
Controlla i costi di configurazione e monitoraggio di CloudTrail se hai abilitato la registrazione di log di CloudTrail per questi tipi di eventi.
-
-
La modalità pipe trasmette in streaming i dati direttamente da un'origine dati Amazon S3. Lo streaming può fornire tempi di avvio più rapidi e un throughput migliore rispetto alla modalità dei file.
Quando esegui lo streaming diretto dei dati, puoi ridurre le dimensioni dei volumi Amazon EBS utilizzati dall'istanza di addestramento. La modalità Pipe richiede solo lo spazio su disco sufficiente per l'archiviazione degli artefatti del modello finale.
È un'altra modalità streaming che viene in gran parte sostituita dalla modalità dei file veloce più recente e più semplice da usare. In modalità pipe, i dati vengono pre-recuperati da Amazon S3 con una concorrenza e un throughput elevati e trasmessi in streaming in una pipe denominata, nota anche come pipe First-In-First-Out (FIFO) per il suo comportamento. Ogni pipe può essere letta solo da un processo singolo. Un’estensione specifica di SageMaker AI per TensorFlow integra comodamente la modalità Pipe nello strumento di caricamento dati di TensorFlow nativo
per lo streaming di testo, TFRecords o RecordIO. La modalità pipe supporta anche il partizionamento e il mescolamento dei dati. -
Amazon S3 Express One Zone è una classe di archiviazione a singola zona di disponibilità (AZ) e ad alte prestazioni, creata appositamente per fornire un accesso coerente ai dati in pochi millisecondi per le applicazioni sensibili alla latenza, tra cui l’addestramento dei modelli SageMaker. Amazon S3 Express One Zone consente ai clienti di collocare le proprie risorse di calcolo e archiviazione di oggetti in un’unica zona di disponibilità AWS, ottimizzando le prestazioni e i costi di calcolo con una maggiore velocità di elaborazione dei dati. Per aumentare ulteriormente la velocità di accesso e supportare centinaia di migliaia di richieste al secondo, i dati vengono archiviati in un nuovo tipo di bucket, il bucket di directory Amazon S3.
L’addestramento dei modelli di SageMaker AI supporta i bucket di directory Amazon S3 Express One Zone ad alte prestazioni come posizione di input dei dati per la modalità File, FastFile e Pipe. Per utilizzare Amazon S3 Express One Zone, inserisci la posizione del bucket di directory Amazon S3 Express One Zone anziché un bucket Amazon S3. Fornisci l’ARN per il ruolo IAM con la policy di controllo degli accessi e delle autorizzazioni richiesta. Per i dettagli, fai riferimento ad AmazonSageMakerFullAccesspolicy. Puoi crittografare i dati di output SageMaker AI solo in bucket di directory con crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). La crittografia lato server con chiavi AWS KMS (SSE-KMS) non è attualmente supportata per l’archiviazione dei dati di output SageMaker AI in bucket di directory. Per ulteriori informazioni, consulta Amazon S3 Express One Zone.
-
Amazon FSx for Lustre: FSx for Lustre è scalabile fino a centinaia di gigabyte di throughput e milioni di IOPS con recupero di file a bassa latenza. Quando si avvia un job di addestramento, SageMaker AI monta il file system FSx for Lustre sul file system dell’istanza di addestramento, quindi avvia lo script di addestramento. Il montaggio stesso è un'operazione relativamente veloce che non dipende dalle dimensioni del set di dati archiviato in FSx for Lustre.
Per accedere a FSx for Lustre, il processo di addestramento deve connettersi a un cloud privato virtuale (VPC) Amazon, che richiede la configurazione e il coinvolgimento di DevOps. Per evitare costi di trasferimento dati, il file system utilizza una singola zona di disponibilità ed è necessario specificare una sottorete VPC mappata su questo ID zona di disponibilità durante l'esecuzione del processo di addestramento.
-
Amazon EFS: per utilizzare Amazon EFS come origine dati, i dati devono già risiedere in Amazon EFS prima dell’addestramento. SageMaker AI monta il file system Amazon EFS specificato sull’istanza di addestramento, quindi avvia lo script di addestramento. Il processo di addestramento deve connettersi a un VPC per accedere ad Amazon EFS.
Suggerimento
Per ulteriori informazioni su come specificare la configurazione del VPC negli strumenti di stima SageMaker AI, consulta Utilizzare i file system come input di addestramento
nella documentazione di SageMaker AI Python SDK.