Borner, ou supprimer ?
Le dossier précédent montrait comment Gemma dompte le KV cache : en ne laissant qu’une couche sur six regarder tout le contexte, et en fenêtrant les autres. C’est une optimisation habile, mais elle reste dans le cadre de l’attention : il y a toujours un cache, simplement plus petit, et il grandit encore, ne serait-ce que sur les couches globales.
Une autre famille d’architectures refuse ce cadre. Sa thèse : le cache qui enfle avec le contexte n’est pas une fatalité, c’est un choix d’architecture. Remplacez l’attention par une récurrence (un état interne de taille fixe qui se met à jour token après token) et le problème disparaît : il n’y a plus rien à empiler. Ce sont les SSM State Space Model (modèle à espace d'états). Architecture de séquence qui remplace l'attention par une récurrence : un état caché de taille fixe résume le passé et se met à jour à chaque token. Calcul linéaire en longueur et mémoire constante, au prix d'un rappel exact plus faible que l'attention. (State Space Models, SSM), dont Mamba Modèle à espace d'états sélectif (Gu & Dao, 2023) dont les paramètres de récurrence dépendent de l'entrée : le modèle choisit quoi retenir ou oublier. Son selective scan s'exécute en mémoire rapide (SRAM) ; Mamba-2 (2024) le reformule en multiplications de matrices, 2 à 8× plus rapide. est le représentant le plus connu. Voici comment ils tiennent cette promesse, pourquoi ils ne l’ont pas (encore) emporté, et ce qui marche réellement en production.
L’état constant : la promesse mémoire
Reprenons les deux coûts qui font mal dans un Transformer. Le calcul de l’attention est quadratique en longueur de séquence (O(n²)) parce que chaque token regarde tous les autres. Et le KV cache Mémoire des vecteurs clé et valeur déjà calculés pour chaque token traité par un LLM. Évite de recalculer l'attention sur tout l'historique, au prix d'une consommation mémoire qui croît avec le contexte. Approfondir dans le glossaire croît linéairement (O(n)) parce qu’on conserve une clé et une valeur par token vu.
Un SSM remplace ce mécanisme par une récurrence. Au lieu de relire tout l’historique, il maintient un état caché de taille fixe qui résume le passé ; à chaque nouveau token, il met cet état à jour et produit une sortie. Le calcul devient linéaire (O(n)) et surtout, la mémoire de l’état est constante : que le contexte fasse mille ou un million de tokens, l’état occupe la même place. Il n’y a pas de cache qui enfle, parce qu’il n’y a pas de cache du tout : juste un état que l’on écrase.
Le gain n’est pas théorique. Le papier Jamba donne le chiffre qui frappe : à 256 000 tokens de contexte, son KV cache ne pèse que 4 Go, contre 32 Go pour un Mixtral comparable et 128 Go pour un Llama-2-70B, soit un cache huit fois plus petit, qui tient le modèle entier sur un seul GPU de 80 Go. C’est exactement la facture mémoire que l’attention pleine fait exploser à long contexte, ramenée à une fraction.
Mamba : un scan qui choisit quoi retenir
L’idée d’espace d’états est ancienne ; ce qui a rendu Mamba compétitif, c’est de l’avoir rendue sélective. Dans Mamba (Gu & Dao, décembre 2023), les paramètres qui gouvernent la récurrence dépendent de l’entrée : le modèle décide, token par token, ce qu’il propage dans son état et ce qu’il oublie. C’est cette sélectivité qui lui permet de retenir l’important sur de longues séquences là où un SSM « figé » diluait tout.
Le prix de cette sélectivité, c’est qu’on ne peut plus utiliser les convolutions efficaces qui rendaient les anciens SSM rapides. Les auteurs conçoivent donc un selective scan « conscient du matériel » : la récurrence s’exécute dans la mémoire rapide de la puce (la SRAM), avec fusion de noyaux et recalcul plutôt que stockage des états intermédiaires, un peu comme FlashAttention Implémentation tile-by-tile de l'attention qui évite de matérialiser la matrice d'attention complète en HBM. Réduit drastiquement la consommation mémoire et accélère le calcul, particulièrement sur longs contextes. Trois versions (v1/v2/v3), chacune optimisée pour une génération de GPU. Approfondir dans le glossaire évite de matérialiser la matrice d’attention en HBM. Résultat, un Mamba de 3 milliards de paramètres égale des Transformers deux fois plus gros, avec une inférence annoncée cinq fois plus rapide.
Mamba-2 (mai 2024) va plus loin sur deux plans. Théoriquement, il établit une dualité entre SSM et attention (un SSM particulier équivaut à une attention linéaire causale) qui éclaire pourquoi les deux mondes se ressemblent tant. Pratiquement, il reformule la couche pour s’appuyer sur des multiplications de matrices, donc sur les Tensor Cores des GPU, et devient deux à huit fois plus rapide que le scan de Mamba-1. C’est cette version qui sert de socle à presque tous les hybrides récents.
Le mur du rappel
Si les SSM étaient purement supérieurs, l’histoire s’arrêterait là. Elle ne s’arrête pas, à cause d’une limite que plusieurs travaux ont cernée et qui découle directement de leur force. Un état de taille constante, c’est ce qui économise la mémoire, et c’est aussi ce qui plafonne le rappel exact.
Le résultat le plus parlant vient de Zoology (Stanford) : sur une tâche de rappel associatif (retrouver une valeur associée à une clé vue plus tôt), un modèle d’attention de 70 millions de paramètres bat un modèle à convolution de 1,4 milliard, vingt fois plus gros. L’étude estime que ce seul rappel associatif explique 82 % de l’écart de perplexité avec l’attention. Le papier Repeat After Me enfonce le clou : en théorie, un Transformer à deux couches peut copier des chaînes de longueur exponentielle, là où un SSM, borné par son état fixe, en est fondamentalement incapable ; en pratique, sur une recherche de type annuaire téléphonique, Pythia (un Transformer) surclasse Mamba à tailles égales.
The Illusion of State va plus loin encore : les SSM, comme les Transformers, restent dans la classe de complexité TC⁰ : ils ne peuvent pas composer des permutations, donc pas suivre de façon fiable une partie d’échecs, évaluer du code, ou tracer une entité sur un long récit. Et rien de tout cela n’est un cas d’école. Un agent qui doit retrouver une valeur exacte vue cinquante mille tokens plus tôt, un assistant de code qui doit se rappeler la signature d’une fonction définie en tête de fichier : c’est précisément ce que l’état constant rate : le quotidien des charges agentiques et de l’analyse de longs documents.
Pourquoi les hybrides gagnent
La parade est simple et redoutablement efficace : on garde un tronc majoritairement SSM, pour la mémoire constante et le débit, et on y intercale quelques couches d’attention, qui restaurent le rappel exact là où il manque. Les auteurs de Mamba-2 le quantifient : environ 10 % de couches d’attention est l’optimum ; sur un modèle de 350 millions de paramètres, la perplexité passe de 8,60 (Mamba pur) à 8,26 avec cinq ou six blocs d’attention seulement. Une poignée de couches « chères » suffit à payer la dette de rappel, et tout le reste profite de l’état constant.
C’est ce format qui est passé en production en 2026. Jamba (AI21) fut le pionnier : un bloc qui intercale couches Mamba, attention et MoE dans un ratio d’une couche d’attention pour huit, 256K de contexte, un KV cache huit fois plus petit qu’un Transformer équivalent, et un débit triple de celui de Mixtral sur longs contextes, le tout sous licence Apache 2.0. IBM Granite 4.0 a poussé le ratio plus loin (neuf blocs Mamba-2 pour un bloc Transformer) et revendique, chiffres à l’appui, « plus de 70 % de mémoire en moins et une inférence deux fois plus rapide » sur les scénarios multi-sessions et long contexte, une famille en production, certifiée et servie via vLLM. NVIDIA tient la même ligne avec Nemotron-H (jusqu’à 3× plus rapide), et Zamba2 décline l’idée pour l’embarqué. Le pari hybride n’est plus un sujet de recherche : c’est une option de déploiement.
Tous ces modèles intercalent les couches : un bloc d’un type, puis de l’autre. Hymba (NVIDIA) propose une variante plus radicale : l’hybridation dans la couche. Plutôt que d’alterner, chaque couche fait tourner en parallèle des têtes d’attention (rappel haute résolution) et des têtes SSM (résumé de contexte efficace) sur la même entrée, précédées de quelques « meta tokens » appris. Le constat des auteurs est parlant : plus de la moitié du calcul d’attention peut être remplacée par du SSM, et l’attention globale largement par de l’attention locale, ce qui donne, sur un modèle de 1,5 milliard de paramètres, dix fois moins de mémoire de cache à débit supérieur. Deux écoles, donc : intercaler (Jamba, Granite) ou paralléliser (Hymba).
L’autre voie : compresser plutôt que supprimer
Il faut être honnête sur un point : supprimer le cache n’est pas la seule réponse au problème, ni celle qui domine au sommet. L’attention compressée attaque la même facture sans abandonner l’attention. DeepSeek en est l’exemple : sa MLA (Multi-head Latent Attention) compresse les clés et valeurs en un vecteur latent de faible rang, réduisant fortement le KV cache ; sa DSA DeepSeek Sparse Attention. Mécanisme d'attention introduit par DeepSeek qui ne calcule l'attention que sur un sous-ensemble sélectionné de tokens du contexte, au lieu de relire tout le passé. Réduit fortement le coût en calcul et en mémoire du contexte long, au prix d'un indexeur qui décide quoi regarder. (DeepSeek Sparse Attention) ne fait attendre chaque requête qu’à une sélection des tokens les plus pertinents, ramenant le coût près du linéaire. Trois stratégies, trois philosophies : MLA compresse ce qu’on stocke, DSA réduit ce qu’on relit, le SSM élimine le cache au profit d’un état. Et au sommet (DeepSeek, Kimi, GLM), c’est encore l’attention (sparse ou compressée) qui l’emporte, signe que le rappel exact reste non négociable à l’échelle frontière.
| Approche | Calcul | Mémoire de contexte | Rappel exact | Exemple |
|---|---|---|---|---|
| Attention pleine | O(n²) | KV cache O(n) | Excellent | Llama, GPT |
| SSM pur | O(n) | État constant O(1) | Faible (mur du rappel) | Falcon Mamba |
| Hybride (~10 % attention) | ≈ O(n) | Petit cache + état | Quasi complet | Jamba, Granite 4.0 |
| Attention compressée | ≈ O(n) (sparse) | KV réduit (MLA / DSA) | Excellent | DeepSeek-V4 |
Le paysage est d’ailleurs plus large que le seul Mamba. À la frontière, les hybrides les plus ambitieux misent sur de l’attention linéaire expressive plutôt que sur du SSM strict : Kimi Linear (ratio 3:1, −75 % de KV cache, décodage jusqu’à 6× plus rapide à 1M tokens), MiniMax-01 (456 milliards de paramètres, ratio 7:1, contexte 1M), ou Qwen3-Next (Gated DeltaNet). Côté SSM pur, Falcon Mamba et l’ex-Codestral Mamba ont prouvé qu’un Mamba sans attention pouvait rivaliser, utile à connaître, mais marginal face aux hybrides. Et la généalogie remonte plus loin : RetNet, RWKV, Griffin (socle de RecurrentGemma) explorent depuis des années la même idée d’une récurrence à état fixe.
Le revers : servir un SSM en 2026
Reste l’angle mort, celui qu’on découvre en production. L’écosystème de serving a été taillé pendant des années pour l’attention (FlashAttention, PagedAttention, prefix caching, quantification) et les SSM arrivent sur un terrain moins balisé. Dans vLLM, le support de Mamba est longtemps resté cantonné à l’ancienne architecture (V0), et la raison est structurelle : l’état d’un SSM n’est pas un KV cache géré par pages, ce qui le rendait incompatible avec le prefix caching (réutiliser le cache d’un préfixe commun à plusieurs requêtes), l’offload mémoire et la désagrégation prefill/decode, précisément les optimisations qui font tourner un service d’attention à bas coût.
Le rattrapage est rapide, mais inégal. La migration vers vLLM V1 a apporté des noyaux Mamba-2 fusionnés en Triton (IBM rapporte jusqu’à 6× de débit en remplaçant cinq noyaux par un seul), le batching continu, le chunked prefill, et un « hybrid allocator » qui ajuste la taille de bloc des couches d’attention pour qu’elles occupent la même mémoire physique que les couches linéaires ; le prefix caching se débloque progressivement (Mamba-1, Mamba-2, Gated DeltaNet), et des modèles comme Qwen3-Next ou DeepSeek-V3.2 ont eu un support dès le jour de leur sortie. Mais les aspérités demeurent : la quantification est moins mature que pour l’attention : la précision de l’état récurrent compte (vLLM expose un --mamba-ssm-cache-dtype float32), car l’erreur s’accumule dans la récurrence, et les noyaux dépendent de paquets (mamba-ssm, causal-conv1d) liés à NVIDIA et Linux, et des bugs précis traînent (noyaux Triton Mamba-2 qui plantent sur certaines puces, incompatibilité entre prefix caching et decoding spéculatif sur Nemotron-H). Avant de bâtir dessus, auditez la maturité de la stack pour votre cas : c’est le risque opérationnel n°1 de ces architectures.
Conclusion : trois réponses à une même facture
Le contexte long pose une facture unique, la mémoire qui suit la longueur, et l’on a vu trois manières d’y répondre. Gemma la borne en fenêtrant la plupart des couches. DeepSeek la compresse et la sparsifie sans quitter l’attention. Mamba et ses hybrides la suppriment, en troquant le cache contre un état constant, au prix d’un rappel qu’il faut racheter avec une pincée d’attention.
Aucune ne gagne partout : la bonne réponse dépend de ce qui compte pour vous : le débit à très long contexte, le rappel exact, la maturité du serving, l’empreinte sur l’appareil. C’est précisément ce que le prochain et dernier dossier de cette série met à plat : un annuaire des techniques qui réduisent la mémoire et le calcul d’un LLM, rangées par la ressource qu’elles attaquent, pour savoir, face à un problème donné, quel levier tirer.
Sources et méthode
Étiquettes : fait vérifié (source primaire), estimation (ordre de grandeur), hypothèse (raisonnement assumé).
Fondations SSM / Mamba
- Fait : Mamba : « linear scaling in sequence length », « 5× higher throughput », état sélectif + scan hardware-aware (arXiv:2312.00752, Gu & Dao, déc. 2023).
- Fait : Mamba-2 / SSD : dualité SSM-attention, 2-8× plus rapide via matmul, ~10 % de couches d’attention optimal (perplexité 8,60 → 8,26 sur 350M) (arXiv:2405.21060, Dao & Gu, mai 2024).
Le mur du rappel
- Fait : Zoology : attention 70M > convolution 1,4B sur le rappel associatif ; ~82 % de l’écart de perplexité (arXiv:2312.04927).
- Fait : Repeat After Me : les Transformers copient mieux que les SSM (état fixe limitant) (arXiv:2402.01032).
- Fait : The Illusion of State : SSM et Transformers dans TC⁰, pas de composition de permutations (arXiv:2404.08819).
Hybrides en production
- Fait : Jamba : ratio 1 attention / 8, 256K, KV cache 8× plus petit (4 Go vs 32 / 128 à 256K), 52B/12B MoE, Apache 2.0 (arXiv:2403.19887).
- Fait : IBM Granite 4.0 : Mamba-2/Transformer 9:1, « >70 % lower memory, 2× faster inference », variantes H-Small/Tiny/Micro, vLLM 0.10.2 (oct. 2025).
- Fait : NVIDIA Nemotron-H : Mamba-2/Transformer, jusqu’à 3× plus rapide (arXiv:2504.03624). Zamba2 (arXiv:2411.15242), Hymba (arXiv:2411.13676) pour l’embarqué.
Concurrence & paysage
- Fait : DeepSeek MLA (compression latente du KV, V2) + DSA (sélection top-k, V3.2), voir le dossier Servir DeepSeek-V4.
- Fait : Kimi Linear (arXiv:2510.26692), MiniMax-01 (arXiv:2501.08313), Falcon Mamba (arXiv:2410.05355), RetNet (arXiv:2307.08621), Griffin (arXiv:2402.19427).
Serving
- Fait : vLLM : migration V0→V1 des modèles Mamba/hybrides ; incompatibilités historiques (prefix caching, offloading, disaggregation) ; noyaux Triton SSD (IBM : jusqu’à 6× de débit). Dépendances
mamba-ssm/causal-conv1d(NVIDIA/Linux) ; quantification moins mature.
Note de méthode. Les comparaisons de débit (« 3× », « 5× », « 6× », « 8× ») sont annoncées par chaque laboratoire et dépendent du matériel, de la longueur et du batch : elles ne sont pas directement comparables. Le positionnement « l’attention sparse domine au sommet » est une lecture du paysage mi-2026, pas une mesure unique. Les chiffres de mémoire KV dépendent de la configuration (GQA, précision).