Évolutions récentes des architectures de LLM : partage de KV, mHC et attention compressée
(magazine.sebastianraschka.com)- Alors que les LLM open weight publiés récemment se concentrent sur l’efficacité en contexte long, le nombre d’astuces architecturales visant à réduire la taille du cache KV, le trafic mémoire et le coût de l’attention augmente rapidement
- Gemma 4 améliore à la fois l’efficacité du cache KV et des paramètres grâce au partage de KV inter-couches (cross-layer attention) et aux per-layer embeddings (PLE)
- Laguna XS.2 introduit le layer-wise attention budgeting, qui attribue un nombre différent de têtes de requête selon les couches
- ZAYA1-8B exécute directement l’attention dans un espace latent compressé avec Compressed Convolutional Attention (CCA), ce qui réduit non seulement le cache KV mais aussi les FLOPs de l’attention
- DeepSeek V4 étend le chemin résiduel avec mHC (Manifold-Constrained Hyper-Connections) et compresse la longueur de séquence avec CSA/HCA, réduisant fortement les FLOPs et le cache KV sur un contexte de 1M tokens par rapport à V3.2
Vue d’ensemble : les architectures récentes se concentrent sur l’efficacité en contexte long
- À mesure que les modèles de reasoning et les workflows d’agents conservent davantage de tokens plus longtemps, la taille du cache KV, le trafic mémoire et le coût de l’attention deviennent des contraintes majeures
- Nouveaux choix de conception apparus dans les principaux modèles open weight publiés entre avril et mai
- Gemma 4 : KV sharing et per-layer embeddings
- Laguna XS.2 : layer-wise attention budgeting
- ZAYA1-8B : compressed convolutional attention
- DeepSeek V4 : mHC + compressed attention
- L’article ne traite ni du mix de données, ni du calendrier d’entraînement, ni du post-training, ni des recettes RL, ni des benchmarks, et se concentre sur les changements internes des blocs Transformer, flux résiduels, cache KV et calculs d’attention
1. Gemma 4 : réduction du cache grâce au partage de KV inter-couches
- La gamme Gemma 4, dévoilée par Google début avril, se compose de 3 catégories
- Gemma 4 E2B/E4B : petits modèles pour appareils mobiles et embarqués (IoT)
- Gemma 4 26B MoE : modèle MoE optimisé pour l’inférence locale efficace
- Gemma 4 31B dense : modèle dense visant la meilleure qualité et une plus grande facilité de post-training
-
Introduction du partage de KV (cross-layer attention)
- Les couches de la seconde moitié ne calculent pas leurs propres projections K/V et réutilisent à la place les tenseurs KV de la couche non partagée précédente la plus proche du même type d’attention
- Les couches à sliding window partagent les KV avec la couche précédente à sliding window, et les couches en full attention avec la couche précédente en full attention
- Chaque couche calcule néanmoins sa propre projection de requête, ce qui préserve des motifs d’attention spécifiques à chaque couche
- Dans Gemma 4 E2B, seules les 15 premières des 35 couches Transformer calculent leurs propres KV ; les 20 dernières les réutilisent
- Dans Gemma 4 E4B, seules 24 des 42 couches calculent leurs propres KV ; les 18 dernières les réutilisent
-
Effets sur les coûts
- En partageant environ la moitié des KV, la taille du cache KV est réduite d’environ moitié
- Sur un contexte long de 128K (bfloat16), E2B économise 2.7 GB et E4B environ 6 GB
-
Limites
- Le partage de KV est une forme d’approximation qui réduit la capacité du modèle
- D’après l’article sur la cross-layer attention, l’impact est minimal (sur les petits modèles testés)
- Le concept lui-même s’appuie sur Brandon et al., "Reducing Transformer Key-Value Cache Size with Cross-Layer Attention" (NeurIPS 2024), et Gemma 4 est le premier cas d’application dans une architecture largement connue
2. Per-Layer Embeddings (PLE) de Gemma 4 E2B/E4B et taille « effective »
- Les PLE constituent une conception d’efficacité distincte du partage de KV, centrée sur l’efficacité paramétrique
-
Le « E » signifie effective
- Gemma 4 E2B : 2.3B effective parameters, 5.1B en comptant les embeddings
- Gemma 4 E4B : 4.5B effective parameters, 8B en comptant les embeddings
- Le calcul principal de la pile Transformer est proche du petit chiffre, tandis que le grand chiffre inclut des couches supplémentaires de tables d’embeddings
-
Structure des PLE
- Les vecteurs PLE sont préparés en dehors du bloc Transformer répété
- Les identifiants de tokens passent par une lookup d’embeddings par couche, et les embeddings de tokens standard sont projetés linéairement dans le même espace PLE
- Les deux résultats sont additionnés puis mis à l’échelle et réorganisés pour créer un tenseur contenant une tranche par couche
- Chaque couche
lne reçoit que sa propre tranche (ple_l)
-
Fonctionnement dans le bloc Transformer
- Les mises à jour résiduelles de l’attention et du feedforward se déroulent normalement
- Après la seconde addition résiduelle, l’état caché
zgate le vecteur PLE propre à la couche - Le vecteur PLE ainsi modulé est reprojeté à la taille cachée du modèle, normalisé, puis ajouté comme mise à jour résiduelle supplémentaire
-
Objectif des PLE
- Conserver les blocs Transformer coûteux à une petite taille « effective »
- Stocker de la capacité supplémentaire dans des tables d’embeddings par couche, bien moins coûteuses qu’un ajout de poids d’attention ou de FFN car basées sur des lookups
- Contrairement à une simple réduction d’un modèle dense, cela ne sacrifie pas la capacité de la partie principale du calcul
- En principe, les PLE ne sont pas limités aux petits modèles, mais les grands modèles disposent déjà d’une capacité suffisante et peuvent l’étendre via le MoE
3. Laguna XS.2 : Layer-Wise Attention Budgeting
- Laguna est le premier modèle open weight de Poolside, une entreprise européenne centrée sur les LLM pour les usages de code
-
Configuration de base
- 40 couches au total, dont 30 en sliding window attention et 10 en global/full attention
- Taille de fenêtre des couches sliding window : 512 tokens
- Ce schéma mixte sliding window + global est aussi utilisé dans d’autres architectures comme Gemma 4
-
Ce qui est nouveau : différenciation du nombre de têtes de requête par couche
- Le paramètre
num_attention_heads_per_layerduconfig.jsonde Hugging Face permet de spécifier un nombre différent de têtes de requête selon les couches, tout en conservant une forme de cache KV compatible - Couches sliding window : 8 têtes de requête par tête KV
- Couches full attention : 6 têtes de requête par tête KV
- Les têtes KV restent fixées à 8
- Le paramètre
-
Intention de conception
- Au lieu d’attribuer le même budget d’attention à toutes les couches, l’idée est de concentrer la capacité d’attention là où elle est la plus utile
- Les couches en full attention voient tout le contexte et sont donc plus coûteuses ; on leur attribue moins de têtes de requête
- L’idée de différencier la capacité selon les couches remonte au moins à OpenELM d’Apple en 2024, et Laguna XS.2 en est l’exemple récent le plus marquant parmi les modèles open de niveau production
- En complément, Laguna applique aussi un per-head attention-output gating (similaire à Qwen3-Next, entre autres)
4. ZAYA1-8B : Compressed Convolutional Attention (CCA)
- Modèle open weight développé par Zyphra, notable pour avoir été entraîné sur des GPU AMD plutôt que sur des GPU NVIDIA ou des TPU Google
-
Structure
- Dans le
config.json, on trouve 80 entrées de couches alternées, avec alternance entre attention CCA/GQA et feedforward MoE (visuellement représentées comme 40 paires attention+MoE) - Utilise CCA avec une disposition GQA 4:1
- Le MoE est configuré de manière très sparse : un seul expert routé actif par token
- Dans le
-
Le cœur de CCA
- Comme MLA, CCA introduit une représentation latente compressée dans le bloc d’attention
- Différence : MLA utilise surtout cette représentation latente pour réduire le cache KV, puis reprojette dans l’espace des têtes d’attention pour effectuer l’attention réelle
- CCA compresse Q, K et V, puis effectue directement l’attention dans l’espace latent compressé, avant de reprojeter le vecteur d’attention résultant vers le haut
- Au final, cela réduit non seulement le cache KV mais aussi les FLOPs d’attention en prefill et à l’entraînement
-
Convolutional Mixing
- Le terme « Convolutional » vient de l’ajout d’un convolutional mixing supplémentaire sur les représentations K et Q compressées
- La compression réduit Q, K et V, ce qui diminue le calcul et le cache, mais peut aussi réduire la capacité de représentation de l’attention
- La convolution sert de moyen peu coûteux pour ajouter du contexte local à Q et K compressés
- Elle n’est pas appliquée à V — Q et K déterminent les scores d’attention, tandis que V correspond au contenu moyenné par ces scores
- En plus du sequence mixing, il existe aussi un composant de channel mixing
-
Performances
- CCA a été introduit dans un article séparé antérieur au rapport technique de ZAYA1-8B, "Compressed Convolutional Attention: Efficient Attention in a Compressed Latent Space" (octobre 2025)
- D’après les expériences de cet article, CCA surpasse MLA à configuration de compression identique
5. DeepSeek V4 : CSA/HCA, mHC et cache d’attention compressé
-
DeepSeek V4 est la release la plus marquante de l’année par son retentissement et sa taille, et DeepSeek V4-Pro est le MoE le plus sparse en proportion de paramètres actifs
-
L’article se concentre sur deux nouveautés majeures par rapport aux architectures précédentes
- mHC : un chemin résiduel plus large
- CSA/HCA : compression et sparsification de l’attention pour les contextes longs
-
5.1 Manifold-Constrained Hyper-Connections (mHC)
- Basé sur l’article de l’équipe DeepSeek du 31 décembre 2025, "mHC: Manifold-Constrained Hyper-Connections" ; à l’époque, les expériences n’avaient été menées qu’à l’échelle 27B, mais la méthode est ici appliquée pleinement à leur flagship
- L’objectif est de moderniser la conception des connexions résiduelles dans le bloc Transformer — une voie différente des changements concentrés sur l’attention, la normalisation ou le MoE
-
Contexte des Hyper-Connections (HC)
- Basé sur Zhu et al. (2024), "Hyper-connections"
- Remplace un flux résiduel unique par plusieurs flux résiduels parallèles et des mappings appris
- Pour permettre aux couches d’attention et de MoE de fonctionner à la taille cachée standard, on ajoute un Pre Mapping (flux parallèles → un vecteur caché) et un Post Mapping (sortie de couche → redistribution vers les flux parallèles)
- Cela rend le chemin résiduel plus expressif sans élargir l’attention ou le MoE eux-mêmes
- Dans les expériences MoE sur OLMo 7B, les FLOPs par token passent de 13.36G à 13.38G, donc pratiquement sans changement, tandis que la performance de référence est atteinte avec environ moitié moins de tokens d’entraînement
-
Changements de HC vers mHC
- Dans HC standard, le Res Mapping est une matrice entraînable, et l’amplification ou l’atténuation du signal devient imprévisible au fil des couches
- mHC projette le mapping résiduel sur la variété des matrices doublement stochastiques — toutes les entrées sont non négatives, et chaque ligne et chaque colonne somment à 1
- Le mélange résiduel se comporte ainsi comme une redistribution stable de l’information entre les flux
- Les Pre Mapping et Post Mapping sont eux aussi contraints à être non négatifs et bornés, afin d’éviter les compensations lors de la lecture/écriture de l’état résiduel élargi
- Cela apporte une stabilité de scaling d’autant plus importante que les modèles deviennent profonds
-
Coût
- Dans les expériences sur le modèle 27B, l’implémentation optimisée de l’équipe DeepSeek (fusion, recomputation, pipeline scheduling) entraîne un surcoût de temps d’entraînement de 6.7% avec n=4 flux résiduels
-
5.2 Attention compressée via CSA et HCA
- L’objectif est de résoudre, sur des contextes très longs, non seulement le coût du calcul des scores d’attention, mais aussi le problème d’un cache KV qui grandit proportionnellement à la longueur de séquence
- DeepSeek V4 utilise une combinaison hybride de deux attentions compressées : Compressed Sparse Attention (CSA) et Heavily Compressed Attention (HCA)
-
Différence avec MLA
- Le MLA de DeepSeek V2/V3 compresse la représentation KV par token, mais conserve une entrée KV latente par token
- CSA/HCA compressent le long de la dimension de séquence, en résumant plusieurs groupes de tokens dans moins d’entrées KV compressées → le cache lui-même devient plus court
- En sacrifiant une partie de l’information au niveau token, on réduit fortement le coût des contextes longs
-
CSA vs HCA
- CSA : taux de compression modéré (m=4) + sélection top-k de style DeepSeek Sparse Attention (DSA)
- HCA : compression forte (m'=128, 128 tokens compressés en 1 entrée KV) + dense attention sur le cache raccourci
- Les deux approches conservent une branche sliding window de 128 tokens pour les tokens non compressés les plus récents
- CSA préserve davantage de détails mais avec sélection sparse, tandis que HCA réduit fortement le nombre d’entrées et permet une dense attention ; elles sont donc complémentaires, ce qui conduit DeepSeek V4 à alterner les deux types de couches
-
Résultats d’efficacité (contexte de 1M tokens, par rapport à DeepSeek V3.2)
- DeepSeek V4-Pro : FLOPs d’inférence sur un token unique à 27%, taille du cache KV à 10%
- DeepSeek V4-Flash : FLOPs à 10%, taille du cache KV à 7%
-
Points de vigilance pour l’évaluation
- Il est difficile d’affirmer que CSA/HCA sont généralement « meilleurs » que MLA ; il s’agit d’une conception plus agressive et plus complexe pour les contextes longs
- L’article ne contient pas d’ablation study
- Même si DeepSeek V4-Flash-Base dépasse V3.2-Base sur de nombreux benchmarks base et montre de bons résultats en retrieval sur 1M tokens, cela reflète l’ensemble de la recette, incluant de meilleures données, une optimisation basée sur Muon, mHC, des optimisations de précision/stockage et des changements du système d’entraînement/inférence
6. Conclusion
- Le point commun des nouveaux modèles open weight de cette année est de réduire le coût de l’inférence en contexte long sans diminuer le nombre total de paramètres
- Gemma 4 : réduction du cache KV via cross-layer KV sharing, ajout de capacité via per-layer embeddings
- Laguna XS.2 : différenciation de la capacité d’attention selon les couches
- ZAYA1-8B : déplacement de l’attention vers un espace latent compressé
- DeepSeek V4 : mélange contraint de flux résiduels + attention compressée pour contexte long
- Le bloc Transformer continue d’évoluer, mais par des modifications ciblées et explicitement orientées, tout en conservant l’ossature de base d’une architecture GPT decoder-only
- Les performances qualitatives de modélisation restent principalement tirées par la qualité et la quantité des données ainsi que la recette d’entraînement
- À ce stade, le Transformer reste le status quo des architectures SOTA, même s’il existe des alternatives comme les modèles de diffusion
- Le bloc Transformer de base pouvait se coder en 50 à 100 lignes de PyTorch, mais les variantes récentes de l’attention et autres ajouts ont fait augmenter la complexité du code d’environ 10x
- Cette hausse de complexité n’est pas uniquement négative puisqu’elle réduit le coût d’exécution, mais elle rend de plus en plus difficile une compréhension claire des composants individuels et de leurs interactions
- Approche d’apprentissage recommandée : partir des LLM de style decoder originel (GPT/GPT-2), puis ajouter progressivement les nouveaux composants un par un
Aucun commentaire pour le moment.