Il checkpointing è essenziale per l'addestramento dei modelli di intelligenza artificiale, poiché garantisce resilienza, efficienza operativa e la capacità di riprendere o perfezionare l'addestramento da stati salvati. Tuttavia, le esigenze dei moderni carichi di lavoro di intelligenza artificiale, caratterizzati da modelli sempre più complessi e da set di dati di addestramento espansivi, stanno spingendo i sistemi di archiviazione ai loro limiti assoluti.
Il ruolo dei checkpoint nei flussi di lavoro di intelligenza artificiale
Il checkpointing nell'addestramento di intelligenza artificiale è un processo vitale che comporta il salvataggio periodico dello stato completo di un modello durante il suo ciclo di addestramento. Questo stato comprende i pesi e i parametri del modello, gli stati dell'ottimizzatore, le pianificazioni del tasso di apprendimento e i metadati di addestramento. Creando un'istantanea completa del processo di addestramento a intervalli specifici, il checkpointing garantisce la continuità dell'addestramento e consente il recupero in caso di interruzioni.
I checkpoint vengono tipicamente acquisiti a intervalli basati sulle iterazioni (ad esempio, ogni mille passaggi di addestramento). L'addestramento dei moderni modelli linguistici di grandi dimensioni (LLM), che può durare settimane o addirittura mesi e consumare enormi risorse computazionali, si basa fortemente su questi checkpoint come rete di sicurezza contro potenziali guasti. Ad esempio, l'addestramento di un modello di 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 di addestramento.
Processo di addestramento generato da DALL-E
Lo scopo principale del checkpointing va oltre la semplice funzionalità di backup. Serve come meccanismo critico per la resilienza dell'addestramento, consentendo all'addestramento di riprendere dall'ultimo stato salvato anziché ricominciare da capo in caso di guasti di sistema, interruzioni di corrente o problemi hardware. Inoltre, i checkpoint sono preziosi per l'analisi del modello: consentono ai ricercatori di esaminare l'evoluzione del modello in diverse fasi di addestramento e potenzialmente di tornare a stati precedenti se viene rilevato un degrado delle prestazioni.
Dal punto di vista dello storage, i pattern di scrittura durante il checkpointing sono particolarmente degni di nota. Quando viene attivato un checkpoint, il sistema deve scrivere enormi volumi di dati in un pattern a burst. Ciò crea un profilo I/O distinto: periodi di attività di storage relativamente bassa durante i calcoli di addestramento, seguiti da intense operazioni di scrittura ad alta larghezza di banda durante il checkpointing. Queste operazioni di scrittura sono tipicamente sequenziali e possono beneficiare in modo significativo dei sistemi di storage ottimizzati per scritture sequenziali ad alta larghezza di banda.
Diverse strategie di parallelismo nell'addestramento distribuito possono avere un impatto sostanziale sul comportamento del checkpointing. Queste strategie influenzano quando avviene il checkpointing durante l'addestramento e quale porzione del modello viene salvata. Nei moderni setup di addestramento distribuito, più GPU possono scrivere simultaneamente parti diverse della stessa layer, creando complessi pattern di I/O. Questa capacità di scrittura parallela è fondamentale per l'efficienza, ma richiede un'attenta coordinazione e sistemi di storage robusti in grado di gestire operazioni di scrittura concorrenti mantenendo la coerenza dei dati. Qualsiasi collo di bottiglia in questo processo può portare a ritardi diffusi nell'addestramento.
Il checkpointing lento può creare significativi colli di bottiglia nell'addestramento, poiché l'intero processo di addestramento deve essere messo in pausa mentre il checkpoint viene scritto sullo storage. Ad esempio, in un setup di addestramento su larga scala, se il checkpointing richiede 30 minuti ogni poche ore, ciò potrebbe comportare diverse ore di tempo di inattività accumulato durante l'intero periodo di addestramento. Ciò influisce direttamente sull'efficienza dell'addestramento e aumenta i costi operativi, specialmente negli ambienti cloud in cui le risorse computazionali vengono fatturate all'ora.
Un checkpointing più veloce consente inoltre ai team di creare checkpoint più frequentemente, riducendo la perdita massima di dati potenziale in caso di guasti. Ciò consente approcci di addestramento più aggressivi e cicli di iterazione sperimentali migliorati. Inoltre, i rapidi tempi di caricamento dei checkpoint facilitano una sperimentazione più rapida con diverse configurazioni di addestramento e architetture di modelli, poiché i ricercatori possono ripristinare più facilmente da stati precedenti per testare approcci alternativi.
La capacità del sistema di storage di gestire in modo efficiente queste operazioni di checkpoint diventa un fattore fondamentale nell'infrastruttura di addestramento complessiva. Le soluzioni di storage ad alte prestazioni in grado di gestire sia i pattern di scrittura a burst del checkpointing sia le operazioni di lettura/scrittura sostenute dell'addestramento possono ridurre significativamente il tempo totale e il costo dell'addestramento di modelli linguistici di grandi dimensioni. Pertanto, le caratteristiche prestazionali del sottosistema di storage, in particolare la sua capacità di gestire scritture sequenziali di grandi dimensioni e mantenere un'elevata larghezza di banda costante, sono considerazioni cruciali nella progettazione dell'infrastruttura di addestramento LLM.
Per questo rapporto, abbiamo cercato di valutare le prestazioni degli SSD per il checkpointing AI, valutando i vantaggi dei più recenti SSD Gen5 quando la velocità del checkpoint è critica, rispetto ai più grandi SSD QLC sul mercato, che possono memorizzare un gran numero di checkpoint se ciò è più vantaggioso per il modello in fase di addestramento.
Prestazioni dei checkpoint - Benchmarking con DLIO
Per valutare le prestazioni reali degli SSD Solidigm negli ambienti di addestramento AI, abbiamo utilizzato lo strumento di benchmark Data and Learning Input/Output (DLIO). Sviluppato dall'Argonne National Laboratory, DLIO è specificamente progettato per testare i pattern di I/O nei carichi di lavoro di deep learning, fornendo informazioni su come i sistemi di storage gestiscono il checkpointing, l'ingestione dei dati e le sfide dell'addestramento dei modelli.

Utilizzando DLIO, abbiamo mirato a misurare il throughput, la latenza e l'affidabilità dell'unità in scenari di checkpointing intensivi. Sebbene questo test sia stato condotto sul D5-P5336 da 61,44 TB, i dati prestazionali iniziali indicano che la versione da 122 TB di Solidigm D5-P5336 offre un profilo prestazionale simile. Abbiamo anche incluso i risultati di un D7-PS1010 basato su TLC per dimostrare i vantaggi di PCIe Gen5 in questo test. Abbiamo selezionato queste due unità per mostrare entrambe le prospettive sui checkpoint: una focalizzata sul tempo di checkpoint più veloce possibile e l'altra sulla memorizzazione del numero massimo di checkpoint su un singolo SSD.
La piattaforma scelta per questo lavoro è stata la nostra Dell PowerEdge R760 con Ubuntu 22.04.02 LTS. Abbiamo utilizzato la versione 2.0 del benchmark DLIO dalla release del 13 agosto 2024. La nostra configurazione di sistema è delineata di seguito:
- 2 x Intel Xeon Gold 6430 (32 core, 2,1 GHz)
- 16 x 64 GB DDR5-4400
- 480 GB Dell BOSS SSD
- Cavi seriali Gen5 JBOF
- 7,68 TB Solidigm D7-PS1010
- 61,44 TB Solidigm D5-P5336
Per garantire che il nostro benchmarking riflettesse scenari reali, abbiamo basato i nostri test sull'architettura del modello LLAMA 3.1 405B, implementando il checkpointing tramite torch.save() per acquisire i parametri del modello, gli stati dell'ottimizzatore e gli stati dei layer. Il nostro setup ha simulato un sistema a 8 GPU, implementando una strategia di parallelismo ibrido con elaborazione parallela tensor a 4 vie e parallela pipeline a 2 vie distribuita tra le otto GPU. Questa configurazione ha prodotto dimensioni di checkpoint di 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 di checkpoint DLIO è consistito nel riempire ciascuna unità fino a un livello di utilizzo simile. Per il Solidigm D5-P5336 da 61,44 TB, ogni passaggio includeva 33 intervalli di checkpoint, per un totale di 54 TB. Il D7-PS1010 più piccolo da 7,68 TB conteneva comodamente tre intervalli di checkpoint, con un'impronta totale di 4,9 TB. Un ulteriore checkpoint poteva essere inserito nel D7-PS1010, anche se ha portato il suo utilizzo leggermente più in alto di quanto desiderassimo.
Il carico di lavoro di checkpoint DLIO ha prodotto risultati interessanti quando abbiamo confrontato il D5-P5536 da 61,44 TB basato su QLC Gen4 con il D7-PS1010 da 7,68 TB basato su TLC Gen5. Durante il primo passaggio, mentre le unità si riempivano, abbiamo assistito a un divario più ampio nelle prestazioni tra i due modelli di SSD. Il PS1010 Gen5 più veloce ha completato ogni checkpoint in media in 464 secondi, rispetto ai 623 secondi del P5336 Gen4. 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 minor divario possibile negli intervalli di checkpointing, il PS1010 Gen5 basato su TLC offre un vantaggio nel tempo di completamento più rapido. Se l'obiettivo è conservare molti checkpoint in modo conveniente, il P5336 Gen4 basato su QLC può fare proprio questo. Abbiamo misurato una differenza nei tempi medi di checkpoint di meno del 17% tra entrambe le unità durante i passaggi due e tre.
Larghezza di banda GPU Direct Storage
Mentre DLIO mostra le prestazioni flash in un flusso di lavoro AI, il carico di lavoro è interamente basato sulla scrittura fino al ripristino di un checkpoint. Per fornire un quadro più completo del Solidigm D7-PS1010 e D5-P5336 nei carichi di lavoro AI, abbiamo incluso misurazioni della larghezza di banda in lettura utilizzando GDSIO.
Come funziona GPU Direct Storage
Tradizionalmente, quando una GPU elabora dati memorizzati 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 direttamente ai dati dal dispositivo di storage tramite il bus PCIe. Questo percorso diretto riduce l'overhead associato al movimento 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 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 garantendo che i dati vengano consegnati alla GPU il più rapidamente possibile, riducendo al minimo i tempi di inattività e massimizzando l'efficienza computazionale.
Come nel 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 di 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
- Conteggio thread: 128, 64, 32, 16, 8, 4, 1
- Conteggio lavori: 16
- Dimensioni batch: 16
La nostra prima osservazione è stata sul D5-P5336 basato su QLC, che ha raggiunto un picco di 4,2 GiB/s utilizzando una dimensione di trasferimento di 1M a una profondità IO di 128. L'effetto delle dimensioni dei blocchi ha prodotto un sostanziale aumento della larghezza di banda, passando da 8K a 1M. Il vantaggio di una maggiore profondità IO ha iniziato a diminuire a 32, dove i carichi di lavoro hanno iniziato a stabilizzarsi.
Successivamente, esaminiamo il PS-1010 Gen5, che può scalare fino a 6,2 GiB/s con una dimensione di blocco di 1M e una profondità IO di 128. Nel complesso, ha superato il P5336 basato su Gen4, con particolari carichi di lavoro che hanno dimostrato un sostanziale miglioramento. Un'area degna di nota di miglioramento è stata nella dimensione del blocco 128K, dove a una profondità IO di 64 e 128, il PS1010 ha offerto il doppio della larghezza di banda in lettura rispetto al P5336.
È importante notare che entrambi gli SSD sono stati testati utilizzando la NVIDIA L4. Mentre il D5-P5336 Gen4 è al suo massimo o vicino al suo massimo, le GPU NVIDIA di fascia alta come la H100 hanno dimostrato prestazioni superiori con il D7-PS1010. La velocità di un'unità è il fattore decisionale definitivo per alcuni clienti, mentre altri danno priorità alla densità complessiva.Solidigmfornisce soluzioni perentrambi, con le sueofferte di SSD QLC e TLC.
Conclusione
Poiché la scala e la complessità dell'addestramento AI continuano ad aumentare, l'infrastruttura di storage sottostante deve non solo tenere il passo, ma anche dettare il ritmo. I nostri test con due SSD distinti evidenziano l'importanza di allineare le soluzioni di storage con le priorità di addestramento specifiche, sia che ciò significhi minimizzare la latenza dei checkpoint o massimizzare la densità dei checkpoint per una scalabilità conveniente.
Nella nostra valutazione, abbiamo testato il Solidigm D5-P5336 (61,44 TB) e il D7-PS1010 (7,68 TB) in condizioni di addestramento AI realistiche, sfruttando il benchmark DLIO e un esteso flusso di lavoro di checkpointing LLM ibrido-parallelo. Abbiamo acquisito metriche che riflettono le prestazioni di scrittura dei checkpoint su più esecuzioni di test mentre le unità si riempivano, sottolineando le differenze prestazionali nei tempi di completamento tra il D5-P5336 basato su QLC Gen4 e il D7-PS1010 basato su TLC Gen5.

Mentre il D7-PS1010 ha fornito le scritture di checkpoint più veloci possibili, il D5-P5336 ha dimostrato un'efficacia dei costi e vantaggi di capacità convincenti, con solo un modesto compromesso prestazionale. Abbiamo ulteriormente esaminato le larghezze di banda in lettura di GPU Direct Storage (GDS) utilizzando GDSIO con una GPU NVIDIA L4. I nostri risultati hanno mostrato che il Solidigm D5-P5336 ha fornito fino a 4,2 GiB/s di larghezza di banda in lettura con una dimensione di trasferimento di 1M, mentre il D7-PS1010 ha fornito un sostanziale aumento a 6,2 GiB/s. Le prestazioni sarebbero ancora più impressionanti sfruttando una GPU più potente, come la NVIDIA L40s o H100/H200.
Guardando al futuro, la capacità senza precedenti dell'SSD Solidigm D5-P5336 da 122 TB è destinata a rimodellare l'addestramento e il deployment dell'AI. Man mano che le dimensioni dei modelli e i requisiti di checkpointing continuano a crescere, queste unità ad alta capacità sbloccano nuovi livelli di efficienza e flessibilità, consentendo strategie di addestramento che in precedenza erano irraggiungibili. La leadership di Solidigm nelle soluzioni SSD ad alta capacità consente alle organizzazioni di archiviare più dati e checkpoint su meno unità, contribuendo al contempo a rendere a prova di futuro le loro infrastrutture contro la prossima ondata di complessità dell'AI.
Beijing Qianxing Jietong Technology Co., Ltd.
Sandy Yang/Global Strategy Director
WhatsApp / WeChat: +86 13426366826
Email: yangyd@qianxingdata.com
Sito web: www.qianxingdata.com/www.storagesserver.com
Focus aziendale:
Distribuzione prodotti ICT/Integrazione di sistemi e servizi/Soluzioni infrastrutturali
Con oltre 20 anni di esperienza nella distribuzione IT, collaboriamo con i principali marchi globali per fornire prodotti affidabili e servizi professionali.
"Usare la tecnologia per costruire un mondo intelligente" Il tuo fornitore di servizi di prodotti ICT di fiducia!