Modelli a Spazio di Stato vs Transformer: Guida Pratica
Analisi pratica dei state space model, di Mamba-3 e delle architetture ibride: cosa funziona davvero e quando preferirli ai transformer.

I transformer non saranno la sola soluzione disponibile ancora per molto. So che suona come un'affermazione audace: da anni vediamo l'architettura transformer dominare tutto, dai modelli linguistici al protein folding. Eppure, dopo aver passato gli ultimi mesi a confrontare modelli a spazio di stato (SSM) con baseline transformer su carichi di lavoro di produzione, sono convinto che il cambiamento sia reale. Non perché gli SSM siano universalmente migliori. Non lo sono. Ma perché risolvono problemi specifici che i transformer non possono risolvere per natura, e l'ultima generazione ha colmato abbastanza distanza di qualità da rendere l'ignorarli una scelta che genera debito tecnico.
Questo non è un articolo di hype. Ti guiderò attraverso cosa sono davvero i modelli a spazio di stato, dove Mamba-3 migliora concretamente le cose, dove gli SSM ancora non reggono il confronto e come il tuo team dovrebbe valutarne l'adozione. Da professionista a professionista.
Perché i Transformer Sbattono contro un Muro con la Scala
La storia della scalabilità quadratica la conosci già. La self-attention calcola una matrice N×N per una sequenza di lunghezza N, quindi raddoppiare il contesto significa quadruplicare calcolo e memoria. Per molto tempo questo non ha avuto grande importanza: i modelli giravano su qualche migliaio di token e l'hardware teneva il passo.
Quell'epoca è finita. I carichi di lavoro che costruiamo oggi richiedono di routine contesti da 100K+ token. Gli assistenti per il codice devono vedere interi repository. Le pipeline multimodali elaborano ore di video. Gli agenti mantengono storie di conversazione che si estendono per giorni. A queste scale, l'attention quadratica non è solo costosa: è un muro.
Il problema della KV cache peggiora la situazione. Durante la generazione autoregressiva, ogni layer del transformer memorizza coppie key-value per ogni token visto. Questa cache cresce linearmente per layer e divora rapidamente la memoria della GPU. Ho visto un transformer da 7B consumare 40GB di VRAM solo per la KV cache con un contesto di 128K. È memoria che non puoi usare per fare batching di più richieste.
- Lo scaling quadratico della memoria rende quasi impossibili i contesti da un milione di token con la attention standard
- La crescita della KV cache limita il numero di utenti concorrenti per GPU, un moltiplicatore diretto dei costi in produzione
- Il consumo energetico dell'inferenza transformer su contesti lunghi sta diventando difficile da giustificare
- Le applicazioni in tempo reale (robotica, edge AI) richiedono una generazione di token sotto il millisecondo, che l'attention non riesce a garantire
- Il fenomeno dell'«attention sink» degrada la qualità su sequenze molto lunghe, anche quando hai memoria a sufficienza
Non sono preoccupazioni teoriche. Sono il motivo per cui tre team diversi con cui ho lavorato hanno iniziato a valutare seriamente alternative l'anno scorso.
Come Funzionano Davvero i Modelli a Spazio di Stato
I modelli a spazio di stato nascono dalla teoria del controllo, dove vengono usati da decenni per modellare sistemi dinamici. L'idea di fondo è semplice: invece di guardare ogni token precedente per calcolare ogni output (come fa l'attention), mantieni uno stato nascosto compresso che evolve nel tempo. I nuovi token aggiornano lo stato. Lo stato produce gli output. Tutto qui.
Matematicamente, un SSM è definito da quattro matrici (A, B, C e D) che governano come uno stato nascosto h evolve in risposta all'input x. Si discretizzano le equazioni continue per i dati sequenziali e si ottiene una ricorrenza molto semplice da calcolare in fase di inferenza.
import torch
def ssm_step(A_bar, B_bar, C, D, h, x_t):
"""Single SSM step: O(1) memory, O(1) compute.
Compare this to attention, which needs to look at
every previous token. The SSM just updates its state.
"""
h_new = A_bar @ h + B_bar @ x_t # Update hidden state
y_t = C @ h_new + D * x_t # Compute output
return h_new, y_t
def ssm_generate(A_bar, B_bar, C, D, tokens, embed):
"""Autoregressive generation with constant memory.
Whether you've processed 100 tokens or 500,000,
this uses the same amount of memory.
"""
h = torch.zeros(A_bar.shape[0])
outputs = []
for t in tokens:
x_t = embed(t)
h, y_t = ssm_step(A_bar, B_bar, C, D, h, x_t)
outputs.append(y_t)
return torch.stack(outputs)
La bellezza è già evidente nel codice. L'inferenza richiede memoria O(1) e calcolo O(1) per token, indipendentemente dalla lunghezza della sequenza. Niente KV cache. Nessuna esplosione quadratica. L'intera storia è compressa nel vettore dello stato nascosto.
Il rovescio della medaglia? Durante l'addestramento, eseguire questa ricorrenza in sequenza sarebbe dolorosamente lento. Il trucco è che lo stesso calcolo può essere riformulato come convoluzione o come parallel scan, che le GPU gestiscono in modo efficiente. Si ottiene così un addestramento parallelo con inferenza ricorrente: il meglio dei due mondi.
Da Mamba a Mamba-3: Cosa Ha Risolto Ogni Generazione
I primi SSM, come S4, hanno dimostrato il concetto ma avevano un punto debole critico: non riuscivano a fare ragionamento basato sul contenuto. Le matrici di transizione dello stato erano fisse per tutti gli input, quindi il modello non poteva decidere cosa ricordare e cosa dimenticare in base a ciò che stava effettivamente leggendo. È come prendere appunti seguendo la regola «scrivi una parola ogni tre»: catturi qualche informazione utile, ma non riesci ad adattarti a ciò che conta davvero.
Mamba, introdotto da Albert Gu e Tri Dao alla fine del 2023, ha risolto il problema con un'idea elegante: rendere i parametri dell'SSM dipendenti dall'input. Invece di matrici A, B e C fisse, Mamba le calcola come funzioni del token corrente. Il modello impara a memorizzare selettivamente le informazioni rilevanti e a scartare il rumore. Questo meccanismo «selettivo» ha dato agli SSM la consapevolezza del contenuto che mancava loro.
Mamba-2 ha portato l'intuizione teorica che gli SSM strutturati e la linear attention sono matematicamente duali: il framework State Space Duality (SSD). Non è stato un esercizio accademico fine a sé stesso. Ha reso possibili implementazioni consapevoli dell'hardware, che sfruttano meglio i tensor core delle GPU, spingendo significativamente in alto il throughput di addestramento.
Mamba-3 è dove le cose diventano interessanti dal punto di vista del deployment. Tre innovazioni contano più delle altre:
- Tracciamento dello stato multi-scala: il modello mantiene lo stato a più risoluzioni temporali contemporaneamente, catturando sia pattern locali sia dipendenze a lungo raggio senza sacrificarne nessuno dei due
- Compressione adattiva dello stato: lo stato nascosto si espande dinamicamente per i passaggi di ragionamento complesso e si contrae per il testo prevedibile, risparmiando calcolo senza perdere qualità
- Inizializzazione e gating migliorati: la stabilità dell'addestramento su larga scala è migliorata notevolmente, cosa che conta moltissimo quando stai spendendo milioni in una singola run di training
Mamba-3 non batte i transformer in ogni benchmark. Non ne ha bisogno. Eguaglia la qualità nella maggior parte delle valutazioni standard usando una frazione del calcolo in inferenza. Per la maggior parte dei carichi di lavoro in produzione, è questo il compromesso che conta.
Linear Attention e la Convergenza con gli SSM
C'è un filone parallelo che vale la pena capire. La linear attention affronta lo stesso problema di efficienza, ma dall'interno del framework transformer. La attention standard calcola l'intera matrice N×N. La linear attention sostituisce il softmax con una funzione kernel scomponibile, poi riorganizza i calcoli in modo da non materializzare mai quella matrice quadratica.
# Standard attention: O(N^2 * d)
# score = softmax(Q @ K.T / sqrt(d)) @ V
# Linear attention: O(N * d^2)
# Replace softmax with kernel feature map phi()
# Rearrange: compute K^T @ V first (d×d), then multiply by Q
def linear_attention_step(q_t, running_kv, running_k, k_t, v_t, phi):
"""Incremental linear attention — runs like a recurrence.
This is why SSMs and linear attention are duals:
both compress history into a fixed-size state.
"""
k_feat = phi(k_t)
q_feat = phi(q_t)
running_kv = running_kv + k_feat.unsqueeze(-1) * v_t.unsqueeze(-2)
running_k = running_k + k_feat
y_t = (q_feat @ running_kv) / (q_feat @ running_k + 1e-6)
return y_t, running_kv, running_k
Guarda con attenzione quel codice. La linear attention, eseguita in modo incrementale, mantiene uno stato corrente e lo aggiorna con ogni nuovo token. Ti suona familiare? Dovrebbe: fa essenzialmente la stessa cosa di un SSM. Il framework SSD ha formalizzato questa connessione, ed è una delle intuizioni teoriche più importanti della ricerca recente sul sequence modeling.
Architetture come GLA (Gated Linear Attention) e le varianti di RetNet hanno spinto oltre questa strada, aggiungendo gating dipendente dai dati che sfuma quasi completamente il confine tra linear attention e SSM selettivi. La conclusione pratica: non considerare questi approcci come concorrenti. Stanno convergendo.
Architetture Ibride: Cosa Vince Davvero in Produzione
Ecco cosa dico ai team che mi chiedono se passare agli SSM: non andate di puro nulla. Le architetture che oggi danno i risultati migliori sono ibride, combinano layer SSM con un piccolo numero di layer di attention. Primitive computazionali diverse sono brave in cose diverse, e fingere il contrario significa lasciare prestazioni sul tavolo.
I layer SSM eccellono nel comprimere e propagare in modo efficiente l'informazione sequenziale. I layer di attention restano insuperati per il retrieval preciso e basato sul contenuto: «trova la riga esatta della pagina 47 che risponde a questa domanda». Un ibrido ben progettato usa gli SSM per l'80-90% dei layer e inserisce l'attention dove conta di più.
- Modelli in stile Jamba: layer Mamba e attention alternati con blocchi feed-forward MoE, che instradano dinamicamente tra l'elaborazione SSM efficiente e l'attention precisa
- Design della famiglia Griffin: unità ricorrenti gated lineari combinate con attention locale a finestra scorrevole, con ottimi risultati e pochissima attention completa
- Ibridi Mamba-Attention: blocchi Mamba-3 nella maggior parte dei layer, con layer di attention completa inseriti a profondità strategiche per instradare l'informazione globale
- Successori di StripedHyena: convoluzioni gated, layer SSM e attention sparsa intercalati in pattern ottimizzati tramite NAS
I numeri lo confermano. Diversi gruppi indipendenti hanno mostrato che una suddivisione 85/15 tra layer SSM e attention eguaglia la qualità di un transformer puro a parità di parametri, riducendo i FLOP in inferenza del 40-60%. I risparmi di memoria sono ancora maggiori per i carichi a contesto lungo. Non è un miglioramento marginale: è dimezzare la bolletta delle GPU.
Benchmark di Produzione: Dove gli SSM Convincono e Dove No
Sii concreto con i numeri, perché le affermazioni vaghe sull'efficienza non sono utili a nessuno che debba prendere decisioni di deployment.
Throughput in inferenza: un modello basato su Mamba-3 da 8B di parametri genera token alla stessa velocità sia che il contesto sia da 1K sia da 500K token. Un transformer comparabile rallenta progressivamente man mano che la KV cache cresce. Con un contesto di 500K, il modello SSM offre un throughput per GPU da 5 a 8 volte superiore. Non è teoria: l'ho misurato io.
Utenti concorrenti: senza KV cache, i modelli SSM possono servire molte più richieste simultanee. Su una singola A100, dove un transformer gestisce circa 8 stream concorrenti con contesto da 32K, un modello SSM equivalente ne gestisce più di 30. Per chiunque faccia inferenza su scala, è questo il numero che cambia l'economia.
Velocità di addestramento: qui i guadagni sono più modesti. Mamba-3 si addestra a circa 1,4 volte il throughput di un transformer equivalente su cluster H100. Il divario cresce con sequenze più lunghe: oltre i 32K token, l'addestramento degli SSM è 2-3 volte più veloce, perché si evita del tutto l'attention quadratica.
Ma devo essere onesto sui limiti. Nei task che richiedono il recupero letterale e preciso da contesti lunghi («qual era il messaggio di errore esatto alla riga 4.382?»), gli SSM puri restano indietro. Lo stato compresso di dimensione fissa è una rappresentazione con perdita. L'attention può semplicemente tornare a guardare i token originali. Ecco perché le architetture ibride funzionano: i layer di attention si occupano del retrieval che gli SSM non sanno fare.
Dove gli SSM Sono Ancora Carenti
Voglio essere lucido sulle lacune che restano, perché adottare una nuova architettura basandosi su informazioni incomplete è un ottimo modo per sprecare sei mesi.
- Apprendimento in contesto: i transformer sono ancora migliori nell'adattare il loro comportamento in base agli esempi few-shot nel prompt. Gli SSM ci riescono, ma in modo meno affidabile. Se la tua applicazione dipende molto dal prompt engineering con esempi, gli SSM puri ti deluderanno
- Maturità dell'ecosistema: il tooling per i transformer ha avuto anni di ottimizzazione. Kernel specifici per SSM, infrastrutture di serving e librerie di fine-tuning stanno migliorando rapidamente, ma non hanno ancora raggiunto la parità. Prevedi tempo extra per l'integrazione
- Incertezza sullo scaling oltre i 70B: i modelli Mamba-3 fino a 70B di parametri mostrano curve di scaling promettenti, ma non abbiamo dati solidi nella fascia 200B+. Non sappiamo con certezza se le leggi di scaling degli SSM reggano a dimensioni estreme
- Tecniche di fine-tuning: LoRA e QLoRA per i transformer sono ben compresi. Applicarli alle architetture SSM richiede approcci diversi, e le best practice sono ancora in via di definizione
- Mismatch hardware: le GPU attuali sono ottimizzate per le moltiplicazioni di matrici che l'attention adora. Gli SSM si basano molto sui parallel scan, che girano abbastanza bene sull'hardware moderno ma non sono l'operazione per cui le GPU sono state progettate
Nessuna di queste è un ostacolo insormontabile. Sono problemi ingegneristici con percorsi di soluzione noti. Ma sono reali e vanno messi in conto nella pianificazione.
Raccomandazioni Pratiche: Quando Adottare e Come Iniziare
Dopo aver valutato gli SSM su più carichi di lavoro in produzione, ecco il framework che uso quando consiglio i team.
Adottali con decisione se il tuo carico prevede inferenza a contesto lungo (regolarmente oltre i 32K token), requisiti di alta concorrenza o deployment edge sensibili alla latenza. Il ROI è sostanziale e immediato. Parti da un'architettura ibrida come Jamba o un modello della famiglia Griffin invece di andare su SSM puri: ottieni gran parte dei guadagni di efficienza con meno rischi.
Aspetta e osserva se il tuo carico è prevalentemente a contesto breve con forte dipendenza dall'apprendimento in contesto, e non hai pressione sui costi di inferenza. In questo caso i transformer hanno ancora il vantaggio, e l'ecosistema è più maturo.
- Profila il tuo carico di inferenza reale prima di decidere: la lunghezza mediana del contesto e il numero di utenti concorrenti sono le variabili chiave
- Parti da architetture ibride, non da SSM puri: sono a rischio più basso e garantiscono comunque una riduzione dei costi di inferenza del 40-60%
- Fai benchmark sui tuoi task specifici: gli SSM eccellono nel riassunto e nel ragionamento a lungo raggio, ma sono indietro nel retrieval esatto
- Costruisci fin da ora un'infrastruttura per confrontare le architetture: devi misurare latenza, throughput, memoria e costo per query, non solo l'accuratezza
- Monitora l'ecosistema degli SSM ogni trimestre: il ritmo di miglioramento è abbastanza rapido da rendere produzione-ready in tre mesi ciò che oggi è impraticabile
Il Panorama delle Architetture si Sta Frammentando, e Va Bene Così
L'era di un'unica architettura per dominarle tutte sta finendo. Ci stiamo muovendo verso un mondo in cui i team scelgono primitive computazionali (attention completa, linear attention, SSM selettivi, convoluzioni gated) e le combinano in base ai propri vincoli specifici. È così che funzionano le discipline ingegneristiche mature. Non costruisci ogni struttura in acciaio: scegli i materiali in base al carico che devono sostenere.
Il transformer non è morto. Resta l'architettura più collaudata per molti carichi di lavoro e alimenterà sistemi di AI critici per anni. Ma il suo monopolio sul sequence modeling all'avanguardia è finito. SSM e ibridi hanno guadagnato il loro posto come strumenti di produzione di prima classe, non come curiosità di ricerca.
Per chi di noi costruisce sistemi reali, più opzioni architetturali significano strumenti migliori per problemi specifici. Non è una disruption da temere. È leva ingegneristica da sfruttare.


