Raccomandazioni per l'archiviazione per carichi di lavoro di intelligenza artificiale nell'infrastruttura di Azure (IaaS)
Questo articolo fornisce raccomandazioni per l'archiviazione per le organizzazioni che eseguono carichi di lavoro di intelligenza artificiale nell'infrastruttura di Azure (IaaS). Una soluzione di archiviazione per i carichi di lavoro di intelligenza artificiale nell'infrastruttura di Azure deve essere in grado di gestire le richieste di archiviazione, accesso e trasferimento dei dati intrinseci al training e all'inferenza del modello di intelligenza artificiale.
I carichi di lavoro di intelligenza artificiale richiedono velocità effettiva elevata e bassa latenza per un recupero e un'elaborazione efficienti dei dati. Hanno anche bisogno di meccanismi per il controllo delle versioni e la coerenza dei dati per garantire risultati accurati e riproducibili in ambienti distribuiti. Quando si seleziona la soluzione di archiviazione appropriata, prendere in considerazione fattori quali tempi di trasferimento dei dati, latenza, requisiti di prestazioni e compatibilità con i sistemi esistenti.
Usare un file system per i dati attivi. Implementare un file system per archiviare i dati "specifici del processo/ad accesso frequente" usati attivamente o generati dai processi di intelligenza artificiale. Questa soluzione è ideale per l'elaborazione dei dati in tempo reale grazie alle funzionalità a bassa latenza e velocità effettiva elevata. Queste funzionalità sono fondamentali per ottimizzare le prestazioni dei flussi di lavoro di intelligenza artificiale. Azure offre tre soluzioni di file system principali per supportare il training e l'inferenza dei modelli di intelligenza artificiale nell'infrastruttura di Azure. Per scegliere il file system corretto, seguire queste indicazioni:
Usare Lustre gestito di Azure per ridurre al minimo i tempi di trasferimento dei dati e ridurre al minimo la latenza. Lustre gestito di Azure offre prestazioni elevate con funzionalità di file system parallele e semplifica la gestione con l'integrazione di Azure. È conveniente, con costi di archiviazione basati sull'utilizzo e consente l'importazione selettiva dei dati dall'archiviazione BLOB, ottimizzando la gestione dei dati.
Usare Azure NetApp Files quando sono necessarie funzionalità e prestazioni di livello aziendale per i carichi di lavoro di intelligenza artificiale. Azure NetApp Files offre affidabilità e prestazioni elevate, ideale per applicazioni cruciali. Azure NetApp Files è utile se si hanno investimenti esistenti nell'infrastruttura NetApp. È utile per le funzionalità del cloud ibrido e quando è necessario personalizzare e ottimizzare le configurazioni di archiviazione.
Usare file system NVMe/SSD locali quando le prestazioni sono prioritarie. Aggrega la rete NVMe locale di calcolo (nodi di lavoro) usando un file system parallelo dedicato al processo, ad esempio BeeGFS On Demand (BeeOND). Operano direttamente sui nodi di calcolo per creare un file system temporaneo ad alte prestazioni durante il processo. Questi sistemi offrono una latenza estremamente bassa e una velocità effettiva elevata, rendendoli ideali per applicazioni a elevato utilizzo di I/O, ad esempio il training di Deep Learning o l'inferenza in tempo reale.
Trasferire dati inattivi in Archiviazione BLOB di Azure. Dopo aver completato un processo, trasferire i dati dei processi inattivi da Lustre gestito di Azure a Archiviazione BLOB di Azure per l'archiviazione a lungo termine e conveniente. L'archiviazione BLOB offre opzioni scalabili con livelli di accesso diversi, garantendo un'archiviazione efficiente dei dati inattivi o raramente accessibili, mantenendolo facilmente disponibile quando necessario.
Implementare il checkpoint per il training del modello. Configurare un meccanismo di checkpoint che salva lo stato del modello, inclusi i pesi e i parametri di training, a intervalli regolari, ad esempio ogni 500 iterazioni. Archiviare questi dati di checkpoint in Lustre gestito di Azure per consentire il riavvio del training del modello da uno stato salvato in precedenza, migliorando la flessibilità e la resilienza dei flussi di lavoro di intelligenza artificiale.
Automatizzare la migrazione dei dati ai livelli di archiviazione a costi inferiori. Configurare Archiviazione BLOB di Azure criteri di gestione del ciclo di vita per eseguire automaticamente la migrazione dei dati meno recenti e a cui si accede raramente ai livelli di archiviazione a costi inferiori, ad esempio i livelli ad accesso sporadico o archivio. Questo approccio ottimizza i costi di archiviazione garantendo al tempo stesso che i dati importanti rimangano accessibili quando necessario.
Garantire la coerenza dei dati tra ambienti distribuiti. Garantire la coerenza dei dati tra carichi di lavoro di intelligenza artificiale distribuiti configurando la sincronizzazione tra Lustre gestito di Azure e Archiviazione BLOB di Azure. Questa sincronizzazione garantisce che tutti i nodi che accedono ai dati funzionino con la stessa versione coerente, impedendo errori e discrepanze negli ambienti distribuiti.
Abilitare il controllo delle versioni dei dati per la riproducibilità. Attivare il controllo delle versioni in Archiviazione BLOB di Azure per tenere traccia delle modifiche apportate ai set di dati e ai modelli nel tempo. Questa funzionalità facilita il rollback, migliora la riproducibilità e supporta la collaborazione. Gestisce una cronologia dettagliata delle modifiche ai dati e ai modelli e consente di confrontare e ripristinare le versioni precedenti in base alle esigenze.