Casa ImpresaAI Scalabilità dei checkpoint AI: l'impatto degli SSD ad alta capacità sulla formazione dei modelli

Scalabilità dei checkpoint AI: l'impatto degli SSD ad alta capacità sulla formazione dei modelli

by Kevin O'Brien

Il checkpointing è fondamentale per l'addestramento dei modelli di intelligenza artificiale, poiché garantisce resilienza, efficienza e la possibilità di riprendere o perfezionare l'addestramento da stati salvati.

Il checkpointing è fondamentale per l'addestramento del modello AI, garantendo resilienza, efficienza e la capacità di riprendere o perfezionare l'addestramento da stati salvati. Tuttavia, le richieste dei moderni carichi di lavoro AI, con modelli sempre più complessi e set di dati di addestramento estesi, spingono lo storage al limite.

Il ruolo dei checkpoint nei flussi di lavoro dell'intelligenza artificiale

Il checkpointing nell'addestramento AI è un processo critico che comporta il salvataggio periodico dello stato completo del modello durante l'addestramento. Questo stato include i pesi e i parametri del modello, gli stati dell'ottimizzatore, i programmi di velocità di apprendimento e i metadati di addestramento. Il checkpointing crea un'istantanea completa del processo di addestramento a intervalli specifici, fornendo continuità di addestramento e recupero in caso di interruzioni.

I checkpoint vengono in genere presi a intervalli basati su iterazioni (ad esempio, ogni mille step di training). Il training LLM moderno, che può durare settimane o mesi e consumare enormi risorse computazionali, si basa fortemente su questi checkpoint come rete di sicurezza contro potenziali fallimenti. Ad esempio, il training di un modello come la classe GPT-4 può generare checkpoint che vanno da diverse centinaia di gigabyte a diversi terabyte, a seconda delle dimensioni del modello e della configurazione del training.

Processo di formazione generato da DALL-E

Lo scopo principale del checkpointing si estende oltre la mera funzionalità di backup. Funge da meccanismo cruciale per la resilienza dell'addestramento, consentendo la ripresa dell'addestramento dall'ultimo stato salvato anziché ripartire da zero in caso di guasti del sistema, interruzioni di corrente o problemi hardware. Inoltre, i checkpoint sono preziosi per l'analisi del modello, consentendo ai ricercatori di esaminare l'evoluzione del modello in diverse fasi di addestramento e potenzialmente di tornare agli stati precedenti se viene rilevato un degrado delle prestazioni.

I modelli di scrittura durante il checkpointing sono particolarmente interessanti dal punto di vista dello storage. Quando viene attivato un checkpoint, il sistema deve scrivere enormi quantità di dati in un modello burst. Ciò crea un profilo I/O distintivo caratterizzato da periodi di attività di storage relativamente bassa durante i calcoli di training, seguiti da operazioni di scrittura intense e ad alta larghezza di banda durante il checkpointing. Queste operazioni di scrittura sono in genere sequenziali e possono trarre notevoli vantaggi dai sistemi di storage ottimizzati per scritture sequenziali ad alta larghezza di banda.

Diverse strategie di parallelismo nell'addestramento distribuito possono avere un impatto significativo sul comportamento del checkpointing. Queste strategie di parallelismo influenzano quando si verifica il checkpointing durante l'addestramento e quale parte del modello viene sottoposta a checkpointing. Nelle moderne configurazioni di addestramento distribuito, più GPU possono scrivere simultaneamente parti diverse dello stesso livello, creando complessi modelli di I/O. Questa capacità di scrittura parallela è fondamentale per l'efficienza, ma richiede un attento coordinamento e sistemi di archiviazione robusti in grado di gestire operazioni di scrittura simultanee mantenendo la coerenza dei dati. Il sistema di archiviazione deve essere in grado di gestire efficacemente queste scritture simultanee, poiché qualsiasi collo di bottiglia in questo processo può causare ritardi complessivi nell'addestramento.

Un checkpointing lento può creare significativi colli di bottiglia nella formazione, poiché l'intero processo di formazione deve essere messo in pausa mentre il checkpoint viene scritto nello storage. Ad esempio, in una configurazione di formazione su larga scala, se il checkpointing impiega 30 minuti ogni poche ore, ciò potrebbe comportare diverse ore di inattività accumulate durante l'intero periodo di formazione. Ciò influisce direttamente sull'efficienza della formazione e aumenta i costi operativi, specialmente negli ambienti cloud in cui le risorse di elaborazione vengono fatturate in base al tempo.

Con un checkpointing più rapido, i team possono anche permettersi di creare checkpoint più frequentemente, riducendo la massima potenziale perdita di dati in caso di guasti. Ciò consente approcci di training più aggressivi e cicli di iterazione sperimentali migliori. Inoltre, i rapidi tempi di caricamento dei checkpoint facilitano una sperimentazione più rapida con diverse configurazioni di training e architetture di modelli, poiché i ricercatori possono ripristinare più facilmente da stati precedenti per provare approcci alternativi.

La capacità del sistema di storage di gestire in modo efficiente queste operazioni di checkpoint diventa un fattore cruciale nell'infrastruttura di training complessiva. Le soluzioni di storage ad alte prestazioni in grado di gestire sia i modelli di scrittura a raffica di checkpointing sia le operazioni di lettura/scrittura sostenute di training possono avere un impatto significativo sul tempo e sul costo totali di training di grandi modelli linguistici. Pertanto, le caratteristiche prestazionali del sottosistema di storage, in particolare nella gestione di grandi scritture sequenziali e nel mantenimento di una larghezza di banda elevata e costante, sono considerazioni cruciali nella progettazione dell'infrastruttura di training LLM.

Per questo report, abbiamo voluto valutare le prestazioni degli SSD per i checkpoint AI, valutando i vantaggi degli ultimi SSD Gen5 quando la velocità dei checkpoint è critica, rispetto agli SSD QLC più grandi sul mercato, che possono memorizzare un gran numero di checkpoint qualora ciò fosse più vantaggioso per il modello in fase di addestramento.

Prestazioni del checkpoint – Benchmarking con DLIO

Per valutare le prestazioni reali dell'SSD Solidigm negli ambienti di formazione AI, abbiamo utilizzato Strumento di benchmarking per input/output di dati e apprendimento (DLIO)Sviluppato dall'Argonne National Laboratory, DLIO è specificamente progettato per testare i pattern I/O nei carichi di lavoro di deep learning. Fornisce informazioni su come i sistemi di storage gestiscono i checkpoint, l'ingestione dei dati e le sfide di training dei modelli.

Lavorando con DLIO, abbiamo mirato a misurare la produttività, la latenza e l'affidabilità dell'unità in scenari di checkpointing intensivi. Sebbene questo test sia stato eseguito sul D61.44-P5 da 5336 TB, i dati iniziali sulle prestazioni hanno mostrato che la versione Solidigm D5-P5336 da 122 TB offre un profilo di prestazioni simile. Abbiamo anche incluso i risultati di un D7-PS1010 basato su TLC per mostrare i vantaggi di PCIe Gen5 in questo test. Abbiamo scelto queste due unità per mostrare entrambi gli angoli sui checkpoint, uno con il tempo di checkpoint più veloce possibile e l'altro con la memorizzazione del maggior numero di checkpoint su un singolo SSD.

La piattaforma scelta per questo lavoro è stata il nostro Dell PowerEdge R760 con Ubuntu 22.04.02 LTS. Abbiamo utilizzato il benchmark DLIO versione 2.0 della release del 13 agosto 2024. La configurazione del nostro sistema è descritta di seguito:

  • 2 x Intel Xeon Gold 6430 (32 core, 2.1 GHz)
  • 16 x 64GB DDR5-4400
  • SSD Dell BOSS da 480 GB
  • Cavi seriali Gen5 JBOF
    • 7.68 TB Solido D7-PS1010
    • 61.44 TB Solido D5-P5336

Per garantire che il nostro benchmarking riflettesse scenari del mondo reale, abbiamo basato i nostri test sull'architettura del modello LLAMA 3.1 405B, implementando il checkpointing tramite torch.save() per catturare parametri del modello, stati dell'ottimizzatore e stati del layer. La nostra configurazione simulava un sistema a 8 GPU, implementando una strategia di parallelismo ibrido con elaborazione parallela tensore a 4 vie e parallela pipeline a 2 vie distribuita sulle otto GPU. Questa configurazione ha prodotto dimensioni di checkpoint pari a 1,636 GB, rappresentative dei moderni requisiti di addestramento di modelli linguistici di grandi dimensioni.

Il nostro processo di test per il carico di lavoro del checkpoint DLIO consisteva nel riempire ogni unità a un livello di utilizzo simile. Per il Solidigm D61.44-P5 da 5336 TB, ogni passaggio includeva 33 intervalli di checkpoint, per un totale di 54 TB. Il più piccolo D7.68-PS7 da 1010 TB si adattava comodamente a tre intervalli di checkpoint, con un ingombro totale di 4.9 TB. Un checkpoint aggiuntivo poteva adattarsi al D7-PS1010, sebbene portasse il suo utilizzo leggermente più alto di quanto desiderassimo.

Il carico di lavoro del checkpoint DLIO ha prodotto risultati interessanti quando abbiamo confrontato il D4-P61.44 da 5 TB basato su Gen5536 QLC con il D5-PS7.68 da 7 TB basato su Gen1010 TLC. Durante il primo passaggio, man mano che le unità si riempivano, abbiamo assistito a un divario più ampio nelle prestazioni tra i due modelli SSD. Il più veloce Gen5 PS1010 ha completato ogni checkpoint in media in 464 secondi, rispetto ai 623 secondi del Gen4 P5336. Nei passaggi due e tre, il divario si è ridotto a 579 e 587 secondi per il PS1010 e 676 e 680 secondi per il P5336.

Per le aziende che cercano di avere il gap più piccolo possibile negli intervalli di checkpoint, il Gen5 PS1010 basato su TLC offre un vantaggio nel tempo di completamento più rapido. Se l'obiettivo è mantenere molti checkpoint in modo economicamente conveniente, il Gen4 P5336 basato su QLC può fare proprio questo. Abbiamo misurato una differenza nei tempi medi di checkpoint inferiore al 17% tra entrambe le unità durante i passaggi due e tre.

Larghezza di banda di archiviazione GPUDirect

Mentre DLIO mostra prestazioni flash in un flusso di lavoro AI, il carico di lavoro è interamente basato sulla scrittura finché non viene ripristinato un checkpoint. Per dipingere un quadro più completo di Solidigm D7-PS1010 e D5-P5336 nei carichi di lavoro AI, abbiamo incluso le misurazioni della larghezza di banda di lettura utilizzando GDSIO.

Come funziona l'archiviazione diretta GPU

Tradizionalmente, quando una GPU elabora dati archiviati su un'unità NVMe, i dati devono prima passare attraverso la CPU e la memoria di sistema prima di raggiungere la GPU. Questo processo introduce colli di bottiglia, poiché la CPU diventa un intermediario, aggiungendo latenza e consumando preziose risorse di sistema. GPU Direct Storage elimina questa inefficienza consentendo alla GPU di accedere ai dati direttamente dal dispositivo di archiviazione tramite il bus PCIe. Questo percorso diretto riduce il sovraccarico associato allo spostamento dei dati, consentendo trasferimenti di dati più rapidi ed efficienti.

I carichi di lavoro AI, in particolare quelli che coinvolgono il deep learning, sono altamente intensivi in ​​termini di dati. L'addestramento di grandi reti neurali richiede l'elaborazione di terabyte di dati e qualsiasi ritardo nel trasferimento dei dati può portare a GPU sottoutilizzate e tempi di addestramento più lunghi. GPU Direct Storage affronta questa sfida assicurando che i dati vengano consegnati alla GPU il più rapidamente possibile, riducendo al minimo i tempi di inattività e massimizzando l'efficienza computazionale.

Come il test DLIO, l'obiettivo è comprendere e caratterizzare meglio le differenze tra SSD Gen5 ad alta velocità e unità QLC ad alta capacità. Non tutti i carichi di lavoro AI sono uguali e ogni unità offre vantaggi distinti, a seconda delle esigenze.

Matrice di configurazione del test

Abbiamo testato sistematicamente ogni combinazione dei seguenti parametri con una NVIDIA L4 sulla nostra piattaforma di test:

  • Dimensioni dei blocchi: 1M, 128K, 64K, 16K, 8K
  • Numero di fili: 128, 64, 32, 16, 8, 4, 1
  • Numero di lavori: 16
  • Dimensioni lotto: 16

Il nostro primo sguardo è stato al D5-P5336 basato su QLC, che ha raggiunto il massimo a 4.2 GiB/s utilizzando una dimensione di trasferimento di 1 M a una profondità di IO di 128. L'effetto delle dimensioni dei blocchi ha prodotto un aumento sostanziale della larghezza di banda, passando da 8K a 1 M. Il vantaggio di una maggiore profondità di IO ha iniziato a ridursi a 32, dove i carichi di lavoro hanno iniziato a stabilizzarsi.

Di seguito, esaminiamo il Gen5 PS-1010, che può scalare fino a 6.2 GiB/s con una dimensione di blocco di 1 M e una profondità di IO di 128. In generale, ha superato il P4 basato su Gen5336, con carichi di lavoro particolari che hanno dimostrato un sostanziale miglioramento. Un'area di miglioramento degna di nota è stata la dimensione di blocco di 128 K, dove con una profondità di IO di 64 e 128, il PS1010 ha offerto il doppio della larghezza di banda di lettura del P5336.

È importante notare che entrambi gli SSD sono stati testati utilizzando NVIDIA L4. Mentre il Gen4 D5-P5336 è al suo top di gamma o quasi, le GPU NVIDIA di modello superiore come l'H100 hanno dimostrato prestazioni più elevate con il D7-PS1010. La velocità di un'unità è il fattore decisivo per alcuni clienti, mentre altri danno priorità alla densità complessiva. Solidigma fornisce soluzioni per entrambi, con il suo Offerte SSD QLC e TLC.

Conclusione

Poiché la scala e la complessità dell'addestramento AI continuano ad aumentare, l'infrastruttura di storage sottostante non deve solo tenere il passo, ma anche stabilire il ritmo. I nostri test con due SSD molto diversi illustrano l'importanza di allineare le soluzioni di storage con specifiche priorità di addestramento, come la riduzione al minimo della latenza del checkpoint o la massimizzazione della densità del checkpoint per una scalabilità conveniente.

Nella nostra valutazione, abbiamo testato Solidigm D5-P5336 (61.44 TB) e D7-PS1010 (7.68 TB) in condizioni di training AI realistiche utilizzando il benchmark DLIO e un esteso flusso di lavoro di checkpointing LLM ibrido-parallelo. Abbiamo acquisito metriche che riflettono le prestazioni di scrittura del checkpoint su più esecuzioni mentre le unità si riempivano, evidenziando le differenze nei tempi di completamento tra D4-P5 basato su Gen5336 QLC e D5-PS7 basato su Gen1010 TLC.

Mentre il D7-PS1010 ha fornito le scritture di checkpoint più veloci possibili, il D5-P5336 ha dimostrato vantaggi convincenti in termini di convenienza e capacità con solo una modesta penalizzazione delle prestazioni. Abbiamo ulteriormente esaminato le larghezze di banda di lettura di GPU Direct Storage con GDSIO tramite una GPU NVIDIA L4. Abbiamo scoperto che il Solidigm D5-P5336 offriva fino a 4.2 GiB/s di larghezza di banda di lettura con una dimensione di trasferimento di 1 M, mentre il D7-PS1010 offriva un aumento sostanziale a 6.2 GiB/s. Si otterrebbero prestazioni ancora più elevate sfruttando una GPU ancora più grande, come la NVIDIA L40s o la H100/H200.

Guardando al futuro, la capacità senza precedenti dell'SSD Solidigm D5-P5336 da 122 TB è destinata a rimodellare la formazione e l'implementazione dell'IA. Con l'aumento continuo delle dimensioni dei modelli e dei requisiti di checkpoint, queste enormi unità aprono le porte a nuovi livelli di efficienza e flessibilità, consentendo strategie di formazione che in precedenza erano fuori portata. La leadership di Solidigm nelle soluzioni SSD ad alta capacità consente alle organizzazioni di archiviare più dati e checkpoint su meno unità e aiuta a rendere le proprie infrastrutture a prova di futuro contro la prossima ondata di complessità dell'IA.

Solidigm D5-P5336 122 TB SSD

Questo rapporto è sponsorizzato da Solidigm. Tutti i pareri e le opinioni espressi in questo rapporto si basano sulla nostra visione imparziale dei prodotti in esame.

Interagisci con StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS feed