AI SSD: Una rivoluzione dello storage nata per i carichi di lavoro AI

Per molto tempo, il ruolo di SSD era relativamente chiaro. Il suo compito principale era quello di sostituire dischi rigidi meccanicimigliorando la reattività complessiva e il throughput dei dati del sistema. Che si tratti di computer consumer, server aziendali o data center, l'evoluzione tecnologica delle unità SSD ha ruotato fondamentalmente attorno a diversi obiettivi fissi: maggiore velocità di lettura/scrittura sequenziale, maggiore capacità, costi inferiori e migliore affidabilità. Tuttavia, con il rapido sviluppo dell'intelligenza artificiale, in particolare dei modelli di grandi dimensioni e del deep learning, i carichi di lavoro che i sistemi di archiviazione devono affrontare sono cambiati in modo significativo. Negli scenari di intelligenza artificiale, i dati non vengono più semplicemente "letti, elaborati e scritti". Al contrario, presentano diverse nuove caratteristiche:
AI SSD intestazione articolo img 1400 AI SSD: Una rivoluzione dello storage nata per i carichi di lavoro AI
In primo luogo, il volume dei dati è esploso. Sia che si tratti dei massicci dati grezzi utilizzati nella fase di addestramento del modello, sia che si tratti dei parametri del modello e dei database vettoriali a cui è necessario accedere ripetutamente durante la fase di inferenza, le dimensioni dei dati superano di gran lunga quelle delle applicazioni tradizionali.
In secondo luogo, il modello di accesso è cambiato radicalmente. I carichi di lavoro dell'intelligenza artificiale spesso comportano un gran numero di piccoli accessi casuali e ad alta velocità ai blocchi di dati, piuttosto che letture e scritture sequenziali di grandi blocchi che i sistemi di storage tradizionali sono in grado di gestire meglio.
In terzo luogo, l'archiviazione ha iniziato ad avere un impatto diretto sull'efficienza computazionale. Nei server AI, la potenza di calcolo delle GPU o di altri acceleratori sta crescendo molto rapidamente. Se il sistema di archiviazione non è in grado di tenere il passo con la velocità di fornitura dei dati, si verifica il "computing idling", riducendo di fatto l'efficienza complessiva del sistema.
È in questo contesto che il concetto di AI SSD ha iniziato a essere menzionato frequentemente ed è passato gradualmente da un concetto a prodotti specifici e a roadmap tecniche.

Che cos'è l'AI SSD?

Per molti neofiti di questo concetto, "AI SSD" può essere facilmente frainteso come un prodotto che integra algoritmi di intelligenza artificiale all'interno dell'unità a stato solido, in grado di "imparare" o "ottimizzare" da solo. Tuttavia, secondo la definizione mainstream del settore, questa concezione non è accurata. Il fulcro dell'unità SSD AI non è "se c'è l'intelligenza artificiale all'interno dell'unità SSD", ma "se l'unità SSD è nata per i carichi di lavoro dell'intelligenza artificiale". Più precisamente, un'unità SSD AI è un tipo di dispositivo di archiviazione a stato solido profondamente ottimizzato per l'addestramento dell'intelligenza artificiale, l'inferenza e gli scenari di servizio dati. Questa ottimizzazione comprende sia la progettazione dell'architettura a livello hardware che le modifiche al firmware, ai protocolli e ai metodi di collaborazione del sistema. In termini di posizionamento funzionale, l'unità SSD AI è ancora un dispositivo di archiviazione; non sostituirà il ruolo computazionale di GPU o CPU. Ma il suo obiettivo è molto chiaro: ridurre al minimo le limitazioni delle prestazioni imposte dallo storage nei sistemi di intelligenza artificiale.

I colli di bottiglia pratici delle unità SSD tradizionali negli scenari di IA

Per comprendere il valore delle unità SSD per l'intelligenza artificiale, occorre innanzitutto avere chiari i problemi che le unità SSD tradizionali devono affrontare negli scenari di intelligenza artificiale.
oscoo 2b banner 1400x475 1 AI SSD: Una rivoluzione dello storage nata per i carichi di lavoro AI
  1. La latenza diventa una metrica più critica della larghezza di banda.Nelle applicazioni tradizionali, lettura/scrittura sequenziale L'ampiezza di banda è spesso un indicatore importante per valutare le prestazioni delle unità SSD, come 7GB/s o 14GB/s. Ma negli scenari di intelligenza artificiale, l'importanza della latenza spesso supera la larghezza di banda di picco. Questo perché le attività di IA comportano un gran numero di richieste di dati a grana fine. Se ogni accesso richiede un'attesa di decine di microsecondi, anche se la quantità di dati per ogni richiesta è piccola, l'effetto cumulativo rallenterà significativamente il progresso complessivo. La latenza di accesso tipica di molte unità SSD aziendali è compresa tra 40 e 100 microsecondi, un valore accettabile in scenari di database o virtualizzazione, ma relativamente elevato per l'inferenza o l'addestramento dell'intelligenza artificiale su larga scala.
  2. Lo IOPS non è più solo "sufficiente". Le IOPS (Input/Output Operations Per Second) sono state a lungo una delle metriche fondamentali per le unità SSD, ma nelle aziende tradizionali spesso era sufficiente raggiungere centinaia di migliaia di IOPS. I carichi di lavoro dell'intelligenza artificiale sono completamente diversi. Scenari come il recupero di vettori, il caricamento di parametri e l'accesso al model sharding generano un numero estremamente elevato di richieste di lettura casuale. In questi casi, gli IOPS delle unità SSD tradizionali diventano rapidamente un collo di bottiglia del sistema. Ecco perché nelle discussioni sulla tecnologia delle unità SSD per l'intelligenza artificiale si parla spesso di obiettivi di milioni o addirittura decine di milioni di IOPS, cosa molto rara in passato.
  3. La CPU diventa un "collo di bottiglia per il trasferimento". Nell'architettura classica dei server, il percorso dei dati tra l'SSD e la GPU è solitamente il seguente: SSD → CPU → Memoria → GPU. Questo modello ha funzionato bene nell'era del general-purpose computing, ma presenta problemi evidenti nei server AI. Da un lato, la CPU deve gestire una grande quantità di movimenti di dati; dall'altro, questo percorso introduce una latenza aggiuntiva. Con l'aumento della potenza di calcolo delle GPU, questo percorso di dati che "aggira la CPU per raggiungere la GPU" sta diventando un limite all'efficienza complessiva del sistema.

Differenze di posizionamento tra SSD AI e SSD tradizionali

Per capire meglio la differenza tra i due, possiamo confrontarli dal punto di vista del loro "punto di partenza progettuale".
Dimensione di confronto SSD tradizionale AI SSD
Obiettivo primario Equilibrio tra prestazioni generiche e costi Estrema efficienza per i carichi di lavoro AI
Focus sull'ottimizzazione Lettura/scrittura sequenziale, capacità, affidabilità Bassa latenza, elevato IOPS, elevata concorrenza
Applicazioni tipiche PC, server, database Formazione AI, inferenza, ricerca vettoriale
Modello di accesso ai dati Misto, principalmente sequenziale Piccolo blocco, casuale, ad alta liquidità
Collaborazione di sistema Centrato sulla CPU Più vicino a GPU/Acceleratore
È importante sottolineare che le unità SSD AI non sono destinate a sostituire le unità SSD tradizionali. Nella stragrande maggioranza degli scenari generali, le unità SSD tradizionali rimangono una scelta più ragionevole ed economica. L'esistenza delle unità SSD AI serve a servire i sistemi che sono già "spinti al limite" dai carichi di lavoro dell'intelligenza artificiale.

Il posizionamento centrale di AI SSD

Dal punto di vista del sistema, il ruolo essenziale dell'unità SSD per l'intelligenza artificiale può essere riassunto in una frase: il suo compito non è solo quello di memorizzare i dati, ma anche di fornirli all'unità di elaborazione dell'intelligenza artificiale in modo efficiente, stabile e continuo. Per raggiungere questo obiettivo, le unità SSD AI si concentrano in genere sull'ottimizzazione nelle seguenti direzioni:

  • Latenza di accesso estremamente bassa
  • Capacità di IOPS casuale molto elevata
  • Architettura interna più adatta ai modelli di accesso ai dati dell'intelligenza artificiale
  • Metodi di collaborazione a livello di sistema più stretti
Queste caratteristiche non si ottengono semplicemente impilando i parametri, ma spesso richiedono un ripensamento del design del controller dell'unità SSD, delle strategie di gestione della memoria flash e persino dei metodi di interfaccia del sistema.

Caratteristiche tecniche principali e approcci architettonici delle unità SSD AI

L'unità SSD AI non consiste semplicemente nel prendere un'unità SSD aziendale esistente, aumentare le prestazioni del controller, aggiungere più memoria flash e massimizzare la velocità dell'interfaccia per adattarla naturalmente agli scenari AI. La vera difficoltà risiede nella differenza strutturale tra i modelli di accesso dei carichi di lavoro AI e le applicazioni di archiviazione tradizionali. L'evoluzione tecnologica delle unità SSD per l'intelligenza artificiale è essenzialmente una riprogettazione incentrata sui modelli di accesso ai dati.

Latenza estremamente bassa

Nei sistemi di intelligenza artificiale, la latenza dello storage spesso determina direttamente il tasso di utilizzo delle risorse di calcolo. Prendendo come esempio la GPU, la sua potenza di calcolo sta aumentando molto più rapidamente dei sistemi di archiviazione. Se la GPU rimane inattiva in attesa dei dati, anche se la potenza di calcolo teorica della GPU è elevata, il throughput effettivo si riduce in modo significativo. In questo caso, la latenza media non è sufficiente; la latenza di coda è ancora più critica. Una singola operazione di IO con una latenza anomala può rallentare l'esecuzione di un intero batch.
La latenza di accesso delle unità SSD NVMe aziendali tradizionali è in genere di decine di microsecondi, un risultato molto maturo e stabile. Ma negli scenari di intelligenza artificiale, il settore sta cercando di comprimere ulteriormente la latenza fino a dieci microsecondi o addirittura a una sola cifra di microsecondi. Per raggiungere questo obiettivo non basta aumentare la velocità dell'interfaccia, ma è necessaria un'ottimizzazione sistematica nelle seguenti aree:
  • Riduzione degli interrupt e degli switch di contesto nel percorso di controllo
  • Ottimizzazione delle strategie di programmazione degli accessi alla memoria flash
  • Riduzione del percorso di elaborazione interna dei dati all'interno del controllore
Si può dire che l'ottimizzazione della latenza è un progetto sistematico che attraversa l'intero processo di progettazione dell'unità SSD AI.

IOPS elevatissimi

Durante l'addestramento e l'inferenza del modello, l'accesso ai dati presenta spesso caratteristiche "frammentate". Ad esempio:
  • I parametri del modello sono suddivisi in numerosi piccoli blocchi.
  • I database vettoriali richiedono un accesso frequente agli indici e alle caratteristiche.
  • Più modelli o compiti vengono eseguiti in parallelo.
In questi scenari, l'unità SSD non deve far fronte a poche richieste continue e di grandi dimensioni, ma a un numero massiccio di piccole richieste simultanee. Ciò rende le IOPS un indicatore chiave che determina il limite delle prestazioni. Nelle unità SSD aziendali tradizionali, alcune centinaia di migliaia di IOPS sono già considerate di fascia alta. Nella progettazione delle unità SSD per l'intelligenza artificiale, gli obiettivi comuni sono milioni, diversi milioni o addirittura decine di milioni di IOPS. È importante notare che l'IOPS a cui si fa riferimento non è solo un valore di picco in condizioni di laboratorio, ma una capacità sostenibile in condizioni di elevata concurrency e bassa latenza. Migliorare lo IOPS non è un problema che può essere risolto semplicemente "aprendo più code". Quando il numero di richieste simultanee è estremamente elevato, emergono rapidamente i seguenti problemi:
  • Aumento della complessità della gestione delle code
  • Carico non uniforme tra i canali della memoria flash
  • Interferenze dall'amplificazione della scrittura e dalla garbage collection
Pertanto, le unità SSD AI spesso devono introdurre strategie di schedulazione concorrente più aggressive a livello di firmware, gestendo al contempo in modo più accurato le risorse di memoria flash.

Co-progettazione di sistemi per GPU e acceleratori

Nell'architettura server classica, di solito non esiste un percorso dati diretto tra l'SSD e la GPU. I dati devono passare attraverso la CPU e la memoria di sistema prima di essere inviati alla GPU. I problemi di questa architettura sono amplificati nei server AI. Con l'aumento del numero di GPU e il continuo miglioramento della potenza di calcolo di una singola scheda, i problemi di efficienza di questo percorso indiretto diventano più evidenti. Per risolvere questo problema, le unità SSD AI stanno iniziando a fare nuovi tentativi a livello di sistema, come ad esempio:
  • Supporto di modalità di accesso ai dati dirette o quasi dirette da parte della GPU.
  • Riduzione del coinvolgimento non necessario della CPU.
  • Ottimizzazione del percorso di trasmissione dei dati tra storage e acceleratori.
Questi progetti non significano necessariamente bypassare completamente la CPU, ma piuttosto ridurre i tempi di copia e trasferimento dei dati in scenari appropriati per migliorare l'efficienza complessiva. In questa architettura, l'archiviazione non è più solo un "magazzino dati passivo", ma è più simile a un nodo di servizio dati attivo all'interno del sistema di intelligenza artificiale. Deve comprendere i modelli di accesso di livello superiore, rispondere rapidamente alle richieste simultanee e collaborare in modo efficiente con le unità di elaborazione. Questo è anche il motivo per cui la progettazione delle unità SSD per l'intelligenza artificiale spesso richiede una profonda collaborazione con l'intero sistema macchina e persino con i produttori di GPU.

Grande capacità e alta densità

Poiché le dimensioni dei parametri dei modelli di grandi dimensioni continuano a crescere, con singoli modelli che spesso raggiungono centinaia di GB o addirittura diversi TB, i sistemi di archiviazione devono avere una capacità e una densità sufficienti per supportare l'effettiva implementazione. Inoltre, i sistemi di intelligenza artificiale devono spesso memorizzare più versioni di modelli, dati di addestramento, risultati intermedi, database vettoriali, indici, ecc. Ciò rende l'alta capacità e l'alta densità un'altra caratteristica importante delle unità SSD per l'intelligenza artificiale. Tuttavia, l'alta capacità non è "gratuita". L'aumento della densità della memoria flash comporta spesso dei costi:
  • Aumento della latenza di accesso per die flash.
  • Prestazioni contemporanee limitate.
  • Sfide per la resistenza e l'affidabilità.
Pertanto, pur perseguendo la capacità, le unità SSD AI devono anche ridurre al minimo la perdita di prestazioni causata dall'alta densità attraverso progetti architettonici e di pianificazione.

Stato dell'industria e tendenze future dell'AI SSD

Se si considera la prospettiva del ciclo di vita della tecnologia, l'AI SSD è ancora in una fase di "adozione precoce e rapida esplorazione". Da un lato, AI SSD non è solo un termine di marketing che rimane a livello concettuale; i carichi di lavoro AI esistono già e stanno crescendo rapidamente nei data center, nelle piattaforme di cloud computing e nelle grandi imprese. D'altra parte, le unità SSD AI non hanno ancora formato una forma di prodotto completamente unificata e standardizzata. Le vere unità SSD progettate interamente per l'intelligenza artificiale sono ancora limitate a prodotti personalizzati, di pre-ricerca e di fascia alta, e sono lontane dall'essere adottate su larga scala.
Con l'avanzamento delle unità SSD AI, i ruoli all'interno della catena tradizionale del settore dello storage stanno cambiando. In passato, i produttori di SSD si concentravano maggiormente sulle prestazioni e sull'affidabilità dei singoli dispositivi. Nello scenario dell'intelligenza artificiale, devono partecipare prima alla progettazione a livello di sistema, collaborare con i fornitori di server, GPU e piattaforme cloud ed eseguire un'ottimizzazione profonda per carichi di lavoro specifici dell'intelligenza artificiale. I confini tra i produttori di apparecchiature originali di archiviazione, i produttori di controller e gli integratori di sistemi sono sempre più sfumati.
Le future unità SSD per l'intelligenza artificiale probabilmente non saranno più solo "un dispositivo inserito in uno slot PCIe", ma saranno più profondamente co-progettate con le risorse di elaborazione a livello di sistema. Ciò si rifletterà in: percorsi di dati più diretti, meno copie intermedie e una più stretta collaborazione software-hardware. Ciò indebolirà ulteriormente il confine tra archiviazione e calcolo. D'altra parte, con la scalabilità dei sistemi di intelligenza artificiale, "affidare tutto il calcolo alla GPU" non è necessariamente la soluzione ottimale. In alcuni scenari, far gestire al dispositivo di archiviazione alcune attività di elaborazione o preelaborazione dei dati può contribuire a ridurre il carico complessivo del sistema. Sebbene queste idee siano ancora in fase esplorativa, sono diventate oggetto di attenzione da parte del settore.
L'unità SSD AI non è una nuova specie che cambia radicalmente il concetto di archiviazione, ma una riorganizzazione del ruolo dell'archiviazione incentrata sui carichi di lavoro AI. La sua comparsa deriva dai cambiamenti fondamentali che l'IA apporta ai modelli di accesso ai dati; il suo valore non risiede nel miglioramento esagerato di singole metriche, ma nel miglioramento continuo dell'efficienza del sistema; il suo futuro non sostituirà tutte le unità SSD, ma diventerà una parte indispensabile dell'infrastruttura di IA. Se la GPU è il "motore" del sistema di intelligenza artificiale, l'unità SSD per l'intelligenza artificiale è più simile al sistema di alimentazione che fornisce una fornitura stabile e continua. Potrebbe non essere il più appariscente, ma una volta che cede, l'intero sistema ne risente.
Scorri in alto

Contattaci

Compilate il modulo sottostante e vi contatteremo al più presto.

Modulo di contatto Prodotto