Aller au contenu

L'attention hybride 3:1

Le compromis fondamental

Attention softmax Attention linéaire
Expressivité Maximale : accès exact à toute position Limitée : mémoire compressée de taille fixe
Coût en calcul \(O(T^2)\) \(O(T)\)
Mémoire par requête Croît avec \(T\) Constante
Position Nécessite un encodage explicite Portée par la décroissance

Aucune des deux ne domine l'autre. La solution retenue par Kimi K3 — et par la plupart des modèles long contexte de 2025-2026 — est l'hybridation par couches : alterner les deux types dans la pile.

Le motif exact

bloc = [ KDA , KDA , KDA , Gated MLA ]     répété 23 fois → 92 couches
                                          + 1 Gated MLA  → couche 93

Ce motif se lit directement dans config.json :

"full_attn_layers": [4, 8, 12, 16, ..., 84, 88, 92, 93]

Notez le 93 collé au 92 : c'est la couche MLA supplémentaire de fin de pile, qui rompt la périodicité.

Grandeur Valeur
Ratio KDA : MLA 3 : 1
Couches KDA 69
Couches Gated MLA 24
Fraction de calcul quadratique 24/93 ≈ 26 %

Pourquoi 3:1 ?

Ce que le rapport ne dit pas

Le rapport ne justifie pas le ratio 3:1 par une ablation. Il l'hérite de Kimi Linear, où ce ratio avait été étudié. Aucune courbe comparant 1:1, 3:1, 7:1 n'est publiée pour K3.

C'est un exemple typique de ce que le rapport transmet comme acquis. Si vous réimplémentez, c'est un hyperparamètre à retester à votre échelle.

L'intuition disponible :

  • Trop peu de couches globales → le modèle perd la capacité de rappel exact à longue distance. Les tâches de type « aiguille dans une botte de foin » s'effondrent.
  • Trop de couches globales → le coût quadratique redevient dominant, et l'intérêt de l'hybridation disparaît.
  • 3:1 place le curseur à 26 % de couches quadratiques, ce qui divise approximativement par 4 le coût d'attention à contexte long, tout en gardant 24 points d'accès global répartis sur toute la profondeur.

La division du travail

L'idée la plus élégante de cette architecture

Les deux types de couche ne font pas la même chose, et c'est délibéré.

  • Les couches KDA portent la position et la récence. Leur décroissance \(\mathbf{\alpha}_t\) décrémente naturellement l'influence des jetons anciens, ce qui encode implicitement « à quelle distance » se trouve une information.
  • Les couches MLA portent le contenu global pur. Comme elles utilisent NoPE, elles n'ont aucune notion de distance : elles ne comparent que des contenus.

Le rapport le formule ainsi : the intervening KDA layers provide position-sensitive and recency-aware sequence mixing, while the MLA layers provide unrestricted global content interaction.

Cette séparation a une conséquence pratique majeure, développée au chapitre suivant sur NoPE : allonger le contexte ne demande aucune modification de l'encodage positionnel.

Ce que l'hybridation coûte en infrastructure

Une architecture hybride n'est pas gratuite côté système. Elle crée deux caches de natures incompatibles :

Cache MLA État KDA
Structure Une entrée par jeton Une matrice par requête
Taille Croît avec \(T\) Fixe
Granularité naturelle de cache Fine (512 jetons) Grossière (checkpoints rares)
Mise à jour Ajout En place

Le problème que cela crée

Un préfixe mis en cache n'est réutilisable que si les deux caches peuvent être restaurés à la même frontière. Or l'état KDA est une grosse matrice : on ne peut pas en sauvegarder une copie tous les 512 jetons.

Naïvement, il faut donc aligner la granularité de hachage sur celle des checkpoints KDA — soit 1 024 à 6 144 jetons. À cette granularité, le cache de préfixe devient presque inutile : toute requête plus courte qu'un bloc n'est jamais réutilisable.

La solution de Kimi K3 — découpler les deux granularités — occupe une section entière du rapport, résumée en Cache de préfixe hybride.

De même, la mise à jour en place de l'état KDA complique le décodage spéculatif : si la vérification rejette des jetons, l'état a déjà avancé trop loin. Voir Noyaux d'inférence.

La leçon générale

Une innovation architecturale qui divise le calcul par quatre peut créer trois problèmes de systèmes qui coûtent, en travail d'ingénierie, bien plus cher que le gain algorithmique. C'est ce que le rapport Kimi K3 illustre mieux que la plupart : la moitié du papier existe pour rendre l'autre moitié déployable.

Vérification de compréhension

Si on remplaçait les 69 couches KDA par des couches MLA, que se passerait-il ?

Le modèle redeviendrait un Transformer MLA classique de 93 couches — soit l'architecture de Kimi K2, en plus profond. Le coût d'attention à 1 M de contexte serait multiplié par environ 4, et le cache KV par environ 4 également. C'est précisément ce que le rapport considère comme économiquement impraticable.

Les couches KDA et MLA voient-elles la même entrée ?

Non, et c'est important : chaque couche lit ses entrées via AttnRes, donc chacune calcule sa propre combinaison pondérée des représentations de blocs précédents. Deux couches voisines peuvent puiser à des profondeurs très différentes.


Chapitre précédent : Vue d'ensemble · Chapitre suivant : Kimi Delta Attention