← Ultimi articoli
🤖 AI

SMEPilot: Characterizing and Optimizing LLM Inference with Scalable Matrix Extensions

Questo articolo presenta SMEPilot, un motore di inferenza per LLM che ottimizza le prestazioni sulle CPU con Scalable Matrix Extensions (SME) selezionando dinamicamente tra strategie di esecuzione solo CPU, solo SME o cooperativa e impiegando la partizione a livello di tile e il riutilizzo del layout per ottenere un'accelerazione fino a 3,94× su diversi modelli e piattaforme.

Autori originali: Feiyang Chen, Haibo Chen

Pubblicato 2026-06-16
📖 5 min di lettura🧠 Approfondimento

Autori originali: Feiyang Chen, Haibo 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

Il quadro generale: Un nuovo strumento per macchine vecchie

Immaginate di avere una cucina molto impegnata (una moderna CPU di un computer). Per anni, questa cucina si è affidata a una squadra di chef generalisti (core della CPU standard) per tagliare verdure, mescolare pentole e impiattare il cibo. Sono bravi in tutto, ma non sono velocissimi in un compito specifico: tagliare enormi pile di verdure in quadrati perfetti (che è ciò di cui i Large Language Models, o LLM, hanno bisogno per "pensare").

Recentemente, la cucina ha ricevuto un nuovo pezzo di attrezzatura: una affettatrice industriale ad alta velocità (chiamata SME, o Scalable Matrix Extension). Questa macchina può affettare le verdure incredibilmente velocemente. Tuttavia, gli autori del paper hanno scoperto un problema: il solo fatto di avere un'affettatrice non significa che si debba usare per ogni compito.

  • Il Problema: Se si cerca di usare l'affettatrice per tutto, si rischia di intasare il nastro trasportatore (larghezza di banda della memoria) o di sprecare tempo per la configurazione di piccoli lavori. A volte, gli chef generalisti sono effettivamente più veloci nei compiti piccoli e complicati.
  • La Soluzione: Il team ha costruito SMEPilot. Pensate a SMEPilot come a un super-intelligente Responsabile di Cucina. Non si limita a dare tutto all'affettatrice; decide esattamente quale chef deve fare quale lavoro, quando usare la macchina e come far funzionare l'intera cucina senza che nessuno rimanga in piedi ad aspettare.

Come funziona SMEPilot: I tre trucchi magici

Il paper identifica tre modi principali in cui SMEPilot rende la cucina più veloce. Ecco le analogie per ciascuno:

1. La "Divisione della Squadra" (Partizionamento del lavoro a livello di Tile)

Il Problema: Immaginate di avere una pizza gigante (un enorme problema matematico) da tagliare.

  • Se date l'intera pizza all'affettatrice industriale, gli chef rimangono inattivi.
  • Se date la pizza agli chef, l'affettatrice rimane inattiva.
  • Se tagliate semplicemente la pizza a metà, dandone una parte all'affettatrice e l'altra agli chef, l'affettatrice potrebbe finire in 1 secondo mentre gli chef impiegano 10 secondi. L'affettatrice resta lì ad aspettare, sprecando tempo.

La soluzione di SMEPilot: SMEPilot taglia la pizza in piccole fette (tile). Dà alcune fette all'affettatrice e alcune agli chef. Fondamentalmente, calcola esattamente quante fette debba ricevere ciascuno in modo che entrambi finiscano esattamente nello stesso momento. Questo mantiene sia la macchina che gli chef occupati al 100% del tempo.

2. La "Linea di Montaggio" (Esecuzione Pipeline Phase-Aware)

Il Problema: Fare un sandwich prevede due passaggi:

  1. Fase A: Affettare il pane (serve l'affettatrice industriale).
  2. Fase B: Spalmare la senape (serve una mano umana).

In una cattiva cucina, si aspetta che l'intero filone di pane sia stato affettato prima di iniziare a spalmare la senape. L'essere umano resta inattivo mentre la macchina lavora. Poi, la macchina resta inattiva mentre l'umano spalma la senape. Questo è chiamato "bolla temporale" (un vuoto di tempo in cui non viene svolto alcun lavoro).

La soluzione di SMEPilot: SMEPilot crea una linea di montaggio. Non appena l'affettatrice finisce una fetta di pane, la passa all'umano per spalmare la senape, mentre l'affettatrice inizia immediatamente a lavorare sulla fetta successiva. La macchina e l'umano lavorano contemporaneamente su parti diverse del sandwich. Questo elimina i tempi di attesa.

3. Il "Pranzo Pre-confezionato" (Runtime Layout-Aware)

Il Probleio: L'affettatrice industriale funziona solo se le verdure sono disposte in una griglia molto specifica e compatta (un layout "impacchettato"). Ma il resto della cucina conserva le verdure in sacchi sciolti e standard.

  • Il modo sbagliato: Ogni volta che volete usare l'affettatrice, vi fermate, tirate fuori le verdure dal sacco, le disponete perfettamente in una griglia, le affettate e poi le rimettete nel sacco. Questo "riordinamento" richiede quasi quanto il tempo dell'affettatura stessa, rovinando il vantaggio della velocità.

La soluzione di SMEPilot: SMEPilot è intelligente su quando riordinare.

  • Per gli ingredienti statici (come i pesi del modello): Li dispone nella griglia perfetta una volta sola quando la cucina apre, così sono pronti istantaneamente per ogni ordine.
  • Per gli ingredienti freschi (come i nuovi dati): Li dispone nella griglia immediatamente quando vengono creati, così sono pronti per l'affettatrice senza ulteriori passaggi successivi. Questo evita la penalità del "riordinamento".

I Risultati: Quanto è più veloce?

I ricercatori hanno testato SMEPilot su telefoni, laptop e server utilizzando popolari modelli di IA (come Llama e Qwen).

  • La Velocità: SMEPilot ha reso l'IA fino a 3,94 volte più veloce rispetto al modo standard di eseguire questi modelli sulle CPU.
  • L'Energia: Poiché completa il lavoro molto più velocemente, utilizza anche meno della metà dell'energia rispetto al metodo standard.
  • Il Confronto: In alcuni test, la CPU che utilizzava SMEPilot era quasi veloce quanto una scheda grafica dedicata (GPU), che è solitamente il "grande sforzato" per l'IA.

Conclusione

Il paper sostiene che la SME (la nuova macchina) non è una bacchetta magica che sostituisce i vecchi chef. Invece, la migliore prestazione deriva da un gestore intelligente (SMEPilot) che sa:

  1. Quando usare la macchina e quando usare gli chef.
  2. Come dividere il lavoro in modo che tutti rimangano occupati.
  3. Come organizzare lo spazio di lavoro in modo da non sprecare tempo nella preparazione.

Facendo questo, i computer ordinari possono eseguire l'IA potente in modo molto più veloce ed efficiente rispetto a prima.

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 →