← Ultimi articoli
🤖 machine learning

Accelerating GPU Inference of Large Language Models with Moderately Unstructured Sparse Weight Matrices

Questo articolo propone un nuovo formato di archiviazione a matrice a tre livelli e un kernel SpMM ibrido che sfruttano congiuntamente i core sparse e CUDA per consentire l'inferenza di LLM con sparsità moderatamente non strutturata su GPU moderne, ottenendo il primo incremento di velocità a livello di kernel rispetto alla moltiplicazione di matrici dense e superando metodi allo stato dell'arte come SpInfer e FlashLLM.

Autori originali: Tao Lu, Haoyu Wang, Zonghui Wang, Keshen Xiang, Jiaheng Zhang, Wenzhi Chen

Pubblicato 2026-07-13
📖 5 min di lettura🧠 Approfondimento

Autori originali: Tao Lu, Haoyu Wang, Zonghui Wang, Keshen Xiang, Jiaheng Zhang, Wenzhi Chen

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

Immagina di avere una biblioteca enorme di libri (un Large Language Model) che può scrivere storie, rispondere a domande e scrivere codice. Per far funzionare questi libri, un robot superveloce (la GPU) deve leggere milioni di pagine di numeri (pesi) per capire quale sia la parola successiva. Il problema? Il robot è così impegnato a leggere che si stanca ed è costoso da far funzionare.

Gli scienziati hanno provato un trucco astuto: hanno buttato via le pagine noiose e poco importanti per rendere la biblioteca più leggera. Questo è chiamato "pruning" (potatura). Ma c'è un problema: se butti via troppe pagine, la storia diventa strana e non ha senso. Il punto di equilibrio è mantenere circa metà delle pagine (sparsità del 50%).

Il Grande Problema
Penseresti che una biblioteca più leggera sarebbe più veloce da leggere, giusto? Non proprio. La macchina da lettura del robot (la GPU) è costruita per leggere pagine dense e complete molto velocemente. Quando le pagine sono sparse e mancano dei pezzi (sparsità non strutturata), il robot si confonde. Passa così tanto tempo a cercare le pagine mancanti e a organizzare i frammenti che in realtà si muove più lentamente rispetto a quando leggeva la biblioteca pesante e completa. Gli strumenti esistenti per questa lettura "dispersa" erano o troppo lenti o richiedevano al robot di fare calcoli extra che annullavano i guadagni di velocità.

La Nuova Soluzione: Un Sistema di Archiviazione a Tre Livelli
Gli autori di questo articolo hanno costruito un nuovissimo sistema di archiviazione per aiutare il robot a leggere queste pagine sparse in modo efficiente. Lo chiamano un formato a "tre livelli", e funziona come un bibliotecario super organizzato:

  1. Il Livello "Sparse-TC" (La Sezione VIP): Il bibliotecario prende prima le pagine che si adattano a un modello preciso e pre-approvato (come ogni 4ª pagina che ha 2 note importanti). Queste vanno direttamente alle braccia di lettura specializzate e più veloci del robot (Sparse Tensor Cores). Nessuna ricerca necessaria!
  2. Il Livello "Slot-Filling" (Il Pezzo del Puzzle): E che dire delle note extra che non rientravano nel modello VIP? Invece di buttarle via o creare una lista disordinata, il bibliotecario le infila negli spazi vuoti lasciati dalle pagine VIP. Per tenere traccia di dove siano finite senza scrivere un enorme elenco di indirizzi, usano un codice "Parallel Differential Distance". Immaginalo come una mappa del tesoro che dice semplicemente: "Il prossimo indizio è 3 passi a destra", invece di scrivere l'indirizzo completo ogni volta. Questo risparmia un sacco di spazio ed è facile da decodificare rapidamente.
  3. Il Livello "Residual" (Il Cassetto dei Vecchi Oggetti): Una manciata minuscola di note (meno dell'1%) è semplicemente troppo strana per adattarsi ovunque. Queste vanno in un archivio standard e vecchio stile (formato CSR). Poiché ce ne sono così poche, il robot non si dispiace di controllare questo cassetto.

La Super-Pipeline
La vera magia non è solo il sistema di archiviazione; è come lavora il robot mentre legge. Gli autori hanno progettato un flusso di lavoro in cui il robot fa tre cose esattamente contemporaneamente:

  • Prende il prossimo blocco di pagine dallo scaffale della memoria principale (Global Memory).
  • Decodifica gli indizi della mappa del tesoro "3 passi a destra" (usando i core standard).
  • Elabora i numeri per le pagine VIP (usando i core specializzati più veloci).

Sovrapponendo questi compiti, il robot non resta mai inattivo aspettando i dati. È come uno chef che taglia le verdure, mescola la pentola e apparecchia la tavola tutto nello stesso momento, invece di fare una cosa alla volta.

I Risultati: Più Veloci di Prima
Quando lo hanno testato su un robot moderno e ad alta velocità (una GPU NVIDIA H100 con 80 GB di memoria), i risultati sono stati impressionanti.

  • Velocità: Il loro metodo è stato il primo a superare effettivamente la velocità di lettura della biblioteca pesante e completa. È stato fino a 1,64 volte più veloce del precedente miglior strumento (SpInfer) a livello di kernel.
  • End-to-End: Per l'intero processo di generazione del testo, è stato fino a 1,41 volte più veloce di FlashLLM.
  • Memoria: Ha anche risparmiato circa il 21,4% dello spazio di memoria rispetto alla lettura della biblioteca completa.

Cosa Non Fa
Gli autori sono attenti a precisare cosa non è. Non funziona meglio quando la biblioteca è quasi vuota (alta sparsità del 90%+); in quei casi, i vecchi metodi sono ancora migliori. Inoltre, è ottimizzato per la fase di "decode" (dove il robot scrive una parola alla volta), che è il compito più comune. Quando il robot deve leggere un enorme blocco di testo tutto in una volta (la fase di "prefill"), questo nuovo metodo potrebbe essere leggermente più lento rispetto agli standard strumenti di lettura pesante, ma questo è uno scenario specifico che non stanno cercando di risolvere in questo momento.

In breve, organizzando le pagine sparse in un sistema intelligente a tre livelli e mantenendo il robot costantemente occupato, sono riusciti a rendere i chatbot IA più veloci ed economici da gestire senza renderli meno intelligenti.

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 →