🧙 Maestro Yoda Cap. 19 · Architetture

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?

grafico complessità — parabola del transformer che esplode verso l’alto, retta lineare degli SSM che sale piano. Annotato come “la fattura elettrica dei context lunghi”

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:

  1. Attention sparsa/locale (Longformer, BigBird, sliding window) — perdi un po’ di qualità nei lookup lontani.
  2. Linear attention (Performer, Linformer, RWKV early) — ottima sulla lavagna, mediocre in pratica.
  3. 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:

  1. Selective SSM — parametri input-dependent (selettività contextuale).
  2. 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.
  3. 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:

ModelloArchitetturaNote
Jamba (AI21)Transformer + Mamba + MoEProduction ready, context enorme
Zamba (Zyphra)Mamba backbone + shared attentionEfficient inference
Falcon Mamba 7B / 3B (TII)Pure SSMProva di scaling open
Samba (MS Research)Hybrid Mamba + sliding windowLong context language modeling
Ricerche interne Google/MetaIbridi non pubbliciSi 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

  1. Scarica state-spaces/mamba-2.8b (o tiiuae/falcon-mamba-7b) da HuggingFace.
  2. Misura throughput in token/sec a context window 4k, 32k, 128k, 512k.
  3. Confronta con un transformer di pari numero di parametri (es. Llama-3.2-3B).
  4. Plotta tempo vs lunghezza. Dovresti vedere il transformer impennarsi quadraticamente, l’SSM salire piano.
  5. 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.