Puntata 205
Puntata 205 — State Space Models e Mamba
Livello: 🧙 Maestro Yoda · Capitolo 19 · Architetture
L’attention è O(n²). Cosa succede se ci rifiutiamo di pagare quel prezzo?
Il problema strutturale del transformer
Self-attention calcola un punteggio per ogni coppia di token in sequenza. Per n token: O(n²) in tempo e memoria.
A 100 token, irrilevante. A 1M token, è una fattura elettrica.
I tre tentativi storici di aggirarlo:
- Attention sparsa/locale (Longformer, BigBird, sliding window) — perdi un po’ di qualità nei lookup lontani.
- Linear attention (Performer, Linformer, RWKV early) — ottima sulla lavagna, mediocre in pratica.
- State Space Models — la strada che a partire dal 2023 ha finalmente funzionato.
Cos’è un SSM, in 30 secondi
Lo State Space Model viene dalla teoria del controllo. Equazione base (tempo continuo):
h'(t) = A · h(t) + B · x(t)
y(t) = C · h(t) + D · x(t)
Hai uno stato latente h(t), un input x(t), un output y(t). Le matrici (A, B, C, D) definiscono la dinamica.
Discretizzando (zero-order hold o bilinear) ottieni una ricorsione lineare nel tempo, calcolabile in O(n).
Per anni gli SSM sono stati troppo deboli per battere i transformer sul linguaggio. Il motivo: (A, B, C) erano fisse rispetto all’input — niente meccanismo di selezione del contesto.
Mamba (Gu & Dao, dicembre 2023): selective scan
L’idea chiave di Mamba: rendere (B, C, Δ) dipendenti dall’input.
Il modello sceglie cosa memorizzare e cosa dimenticare token per token. È un’attention-like selection, ma senza la quadratica.
Tre ingredienti pratici:
- Selective SSM — parametri input-dependent (selettività contextuale).
- Hardware-aware parallel scan — kernel CUDA custom che sfruttano la gerarchia di memoria GPU (HBM/SRAM) per essere veloci in pratica, non solo in carta.
- Architettura semplice — blocchi SSM + gating, niente self-attention né MLP block separato.
Risultato a parità di parametri: match o supera i transformer su molti task linguistici, con complessità lineare e migliore scaling sulla lunghezza.
Mamba-2 (2024): State Space Duality
Nel paper “Transformers are SSMs” Dao e Gu mostrano che una particolare classe di SSM è matematicamente equivalente a un’attention con maschera strutturata.
Conseguenze:
- Kernel ancora più veloci (riusa l’ecosistema FlashAttention).
- Framework unificato per ragionare su attention vs SSM.
- Apre la strada agli ibridi.
Lo stato del campo nel 2026
L’industria non ha sostituito i transformer. Li ha incrociati:
| Modello | Architettura | Note |
|---|---|---|
| Jamba (AI21) | Transformer + Mamba + MoE | Production ready, context enorme |
| Zamba (Zyphra) | Mamba backbone + shared attention | Efficient inference |
| Falcon Mamba 7B / 3B (TII) | Pure SSM | Prova di scaling open |
| Samba (MS Research) | Hybrid Mamba + sliding window | Long context language modeling |
| Ricerche interne Google/Meta | Ibridi non pubblici | Si vedono nei benchmark |
Trade-off osservati empiricamente
Pro SSM:
- Latency e throughput migliori a context lunghi.
- Footprint di memoria costante in inferenza (stato compresso, non KV cache che cresce).
- Bene per streaming (audio, log, video continui).
Contro SSM:
- In-context learning più debole rispetto al transformer puro.
- Retrieval preciso di token lontani: ancora dietro all’attention.
- Da qui il successo degli ibridi: blocchi attention sparsi per i “lookup chirurgici”, blocchi SSM per il bulk del processing.
Quando ti interessa nella pratica
- Streaming infinito (ASR, log analysis, video) → SSM brilla, stato costante.
- Document-AI con context >256k → Mamba o ibridi: la KV cache di un transformer puro qui è ingestibile.
- Few-shot aggressivo / in-context learning → transformer puro probabilmente meglio nel 2026.
- Edge / on-device → SSM con memoria costante è molto attraente.
Lettura consigliata
- Gu, Dao. “Mamba: Linear-Time Sequence Modeling with Selective State Spaces” — arXiv:2312.00752 (2023)
- Dao, Gu. “Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality” — ICML 2024
- Lieber et al. “Jamba: A Hybrid Transformer-Mamba Language Model” — AI21, 2024
- Ren et al. “Samba: Simple Hybrid State Space Models for Efficient Unlimited Context Language Modeling” — MS Research, 2024
TEST hands-on
- Scarica
state-spaces/mamba-2.8b(otiiuae/falcon-mamba-7b) da HuggingFace. - Misura throughput in token/sec a context window 4k, 32k, 128k, 512k.
- Confronta con un transformer di pari numero di parametri (es. Llama-3.2-3B).
- Plotta tempo vs lunghezza. Dovresti vedere il transformer impennarsi quadraticamente, l’SSM salire piano.
- Bonus: misura anche il consumo di VRAM. La differenza diventa ancora più drammatica.
Take-away
L’attention non è destino. È stata la soluzione che ha funzionato per prima, non l’unica possibile. Mamba dimostra che il monopolio del transformer è in gran parte un fatto storico, non un teorema.
➡️ Prossima puntata: Tokenizer — BPE, SentencePiece, Tiktoken.