← Ultimi articoli
💻 computer science

FLINT: Efficiently Leveraging High Bandwidth Flash for Capacity-Scalable LLM Inference Acceleration

FLINT è un substrato guidato dal carico di lavoro che accelera l'inferenza di LLM scalabile in termini di capacità su flash ad alta larghezza di banda (HBF) introducendo un controller hardware burst-buffer, un meccanismo di aggiornamento phantom-plane e un FTL di sola lettura per superare le sfide relative alla latenza, all'interferenza del percorso critico e ai costi di gestione.

Autori originali: Geraldo F. Oliveira, Arash Tavakkol, Xiangyu Zhu, Ahmet Caner Yüzügüler, Vamanan Arulchelvan, Lukas Cavigelli, Renzo Andri, Mohammad Sadrosadati, Jia Xinglei, Onur Mutlu, Zhou Ke, Shai Bergman, Ji Zha
Pubblicato 2026-08-27
📖 8 min di lettura🧠 Approfondimento

Autori originali: Geraldo F. Oliveira, Arash Tavakkol, Xiangyu Zhu, Ahmet Caner Yüzügüler, Vamanan Arulchelvan, Lukas Cavigelli, Renzo Andri, Mohammad Sadrosadati, Jia Xinglei, Onur Mutlu, Zhou Ke, Shai Bergman, Ji Zhang

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Il mondo dell'intelligenza artificiale sta attualmente correndo verso un limite fisico. I modelli linguistici più avanzati, i sistemi che scrivono codice, redigono storie e risolvono problemi complessi, sono diventati così massicci da non poter più entrare nei chip di memoria standard collegati ai processori che li eseguono. Immaginate di cercare di trasportare una biblioteca di un miliardo di libri in uno zaino che può contenerne solo poche decine; questa è l'attuale realtà per l'hardware che alimenta questi modelli. Per far funzionare questi sistemi, gli ingegneri sono stati costretti a suddividere i modelli in molti computer separati, una soluzione che è costosa, lenta e vorace di energia perché i computer devono comunicare costantemente tra loro per condividere il carico. Una nuova tecnologia chiamata flash ad alta larghezza di banda offre un modo per archiviare queste enormi biblioteche proprio accanto al processore, fornendo terabyte di spazio in un pacchetto minuscolo. Tuttavia, questa nuova memoria è molto più lenta da leggere rispetto alla memoria del processore stesso, creando un collo di bottiglia in cui il computer passa la maggior parte del tempo ad aspettare che i dati arrivino.

Ricercatori di Huawei ed ETH Zurich hanno progettato un sistema chiamato FLINT per risolvere questo problema di attesa. Il loro lavoro, dettagliato in uno studio recente, propone un modo per rendere questa memoria flash ad alta capacità abbastanza veloce da stare al passo con le richieste del processore senza richiedere le complesse pianificazioni predefinite che i design precedenti necessitavano. Invece di indovinare quali dati serviranno al processore successivamente, FLINT osserva il processore in tempo reale e organizza le richieste di dati man mano che si verificano. Raggruppando queste richieste e utilizzando i buffer interni del chip di memoria in modo più efficiente, il sistema può trasmettere i dati a velocità che quasi eguagliano la memoria del processore stesso. Il team ha simulato questo sistema utilizzando sei diversi modelli linguistici di grandi dimensioni, compresi alcuni dei modelli più grandi e complessi esistenti. I loro risultati mostrano che questo approccio consente a un singolo pacchetto di computer di gestire compiti che prima richiedevano decine di macchine, utilizzando molta meno energia e fornendo risultati molto più velocemente.

Il problema centrale risiede nel modo in cui questi modelli sono costruiti. Per eseguire un'inferenza, ovvero l'atto in cui il modello genera una risposta, il computer deve accedere costantemente ai pesi del modello, che sono essenzialmente i miliardi di numeri che definiscono la sua conoscenza. In passato, questi pesi erano abbastanza piccoli da poter essere contenuti interamente nella memoria ad alta velocità collegata direttamente al processore. Ora, con modelli che contengono centinaia di miliardi o persino trilioni di parametri, i pesi sono troppo grandi per quella memoria veloce. L'alternativa è stata quella di utilizzare unità a stato solido, che sono grandi ed economiche ma decisamente troppo lente, oppure utilizzare più processori, il che introduce ritardi durante la sincronizzazione del loro lavoro. Il flash ad alta larghezza di banda è stato proposto come una via di mezzo: una tecnologia di archiviazione che si inserisce nello stesso piccolo pacchetto del processore e offre una capacità enorme, ma con una velocità di lettura che è ancora troppo lenta per essere utilizzata direttamente dal processore senza causare blocchi.

I tentativi precedenti di utilizzare questa memoria flash si basavano su un metodo simile a un bibliotecario che cerca di indovinare quale libro leggerà un lettore successivamente. Il sistema cercava di prevedere lo strato successivo del modello e iniziava a recuperare quei pesi prima che il processore li richiedesse. I ricercatori hanno scoperto che questo gioco di ipotesi falliva miseramente. Poiché i modelli sono così complessi e il loro comportamento cambia a seconda della specifica domanda posta, le ipotesi erano spesso errate. Il sistema recuperava dati che il processore non necessitava ancora, riempiendo lo spazio limitato del buffer e costringendo a scartare i dati che erano effettivamente necessari. Ciò portava il processore a passare la maggior parte del tempo ad aspettare che i dati corretti venissero recuperati nuovamente, sprecando l'alta velocità della memoria flash.

FLINT cambia questo approccio eliminando del tutto l'indovinare. Invece di un bibliotecario che fa ipotesi, il sistema agisce come un controllore del traffico altamente efficiente che osserva il flusso di auto in tempo reale. Quando il processore richiede un pezzo specifico di dati, FLINT non si limita a recuperare quel singolo pezzo. Osserva il flusso di richieste provenienti dal processore e le raggruppa. Se il processore chiede diversi pezzi di dati che si trovano per caso nella stessa area fisica del chip flash, FLINT li unisce in un'unica grande richiesta. Questo permette al chip flash di leggere una quantità massiccia di dati in un colpo solo, sfruttando la sua piena velocità. Il sistema conserva poi questi dati nei propri buffer interni, pronti per essere consegnati al processore esattamente quando necessario. Questo raggruppamento dinamico significa che il sistema non spreca mai tempo a recuperare dati che non sono necessari, e mantiene il flusso di dati pieno e costante.

Un altro ostacolo importante per la memoria flash è che richiede manutenzione. Con il tempo, l'atto di leggere i dati può causare il degrado delle cariche elettriche all'interno del chip, portando a errori. Per risolvere questo problema, il chip deve periodicamente interrompersi e riscrivere i dati in posizioni fresche. In precedenza, questa manutenzione doveva avvenire mentre il processore stava cercando di leggere i dati, causando lunghi periodi di blocco del sistema. I ricercatori hanno risolto questo problema creando un sistema a "piano fantasma" (phantom plane). Hanno aggiunto una piccola quantità di spazio extra al chip che funge da corsia di riserva. Quando una sezione del chip necessita di manutenzione, il sistema copia silenziosamente i dati in questa corsia di riserva in background, senza mai interrompere il flusso principale di dati verso il processore. Ciò garantisce che il lavoro di manutenzione non interrompa mai il lavoro del processore, mantenendo il sistema fluido anche con l'invecchiamento del chip.

Il team ha inoltre semplificato il modo in cui il sistema traduce le richieste del processore in posizioni fisiche sul chip. I sistemi di archiviazione standard sono costruiti per gestire scritture e riscritture costanti, il che richiede mappe complesse e meccanismi pesanti per la gestione. Poiché i pesi di un modello linguistico vengono scritti una sola volta e non vengono mai modificati, FLINT utilizza una mappa molto più semplice e leggera, ottimizzata solo per la lettura. Questa riduzione della complessità significa che il sistema può tradurre le richieste quasi istantaneamente, rimuovendo un altro livello di ritardo.

Quando i ricercatori hanno testato queste idee in una simulazione dettagliata, i risultati sono stati sorprendenti. Hanno confrontato il loro nuovo sistema con altre tre configurazioni: un sistema standard che utilizza unità a stato solido lente, un sistema che utilizza solo la memoria veloce su molti processori e un precedente tentativo di utilizzare la memoria flash. Il sistema FLINT è stato in grado di decodificare il testo, ovvero il processo di generazione dell'output del modello, fino a 1.205 volte più velocemente rispetto al sistema che utilizza unità a stato solido. Rispetto al sistema che faceva affidamento su molti processori che lavorano insieme, FLINT è stato mediamente più del doppio più veloce. Forse la cosa più importante è che ha raggiunto questa prestazione utilizzando molti meno computer. Per un piccolo lotto di richieste, un singolo computer dotato di FLINT poteva svolgere il lavoro che prima richiedeva da quattro a otto computer, e lo faceva consumando molta meno energia.

Lo studio ha anche esaminato quanto duri il sistema. Poiché la memoria flash viene letta costantemente, i ricercatori erano preoccupati per la velocità con cui i chip si sarebbero usurati. Hanno scoperto che il loro sistema di manutenzione, che riscrive i dati prima che si verifichino errori, estende la vita della memoria per molti anni, anche sotto uso intensivo. Il sistema è stato testato con sei modelli diversi, dai modelli densi a quelli complessi che passano tra diversi esperti per risolvere i problemi, e ha performato bene in ogni ambito. I ricercatori hanno osservato che, sebbene il sistema aggiunga una piccola quantità di spazio fisico al chip, il costo è trascurabile rispetto ai massicci guadagni in termini di velocità e capacità.

Questo lavoro dimostra che i limiti dell'intelligenza artificiale non riguardano solo quanto siano intelligenti i modelli, ma anche come i dati vengano spostati intorno ad essi. Ripensando a come l'archiviazione interagisce con il processore, i ricercatori hanno dimostrato che è possibile costruire sistemi che siano sia massicci in capacità che veloci in velocità. Il sistema FLINT trasforma una tecnologia che un tempo era considerata troppo lenta per l'uso in tempo reale in una soluzione pratica per la prossima generazione di intelligenza artificiale, permettendo a modelli potenti di girare su singole macchine invece di richiedere interi data center. Le scoperte suggeriscono che, con la giusta ingegneria, i vincoli fisici della memoria possono essere superati, aprendo la strada a sistemi di IA più capaci ed efficienti in futuro.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →