Qwen3.5-9B dépense 32 Ko par jeton pour son cache KV
Qwen3.5-9B n'utilise l'attention complète que sur 8 de ses 32 couches, donc son cache KV coûte 32 Ko par jeton. Ce rapport décide s'il tient dans 8 Go.
3 min de lecture

En chiffres
- layers that use full attention
- 8 of 32
- KV cache per token
- 32KB
- native context length in tokens
- 262,144
Le Qwen3.5-9B d'Alibaba n'utilise l'attention complète que sur 8 de ses 32 couches. Les 24 autres emploient une méthode linéaire dont le coût en mémoire ne croît pas avec la conversation. C'est cette répartition qui permet à un modèle de 9 milliards de paramètres de tenir une longue discussion sur une carte graphique de 8 Go.
Le modèle est sorti en février 2026 sous licence Apache 2.0. La plupart des articles ont retenu ses résultats aux tests. VentureBeat a rapporté un score de 81,7 sur GPQA Diamond, un test de raisonnement scientifique de niveau doctoral, devant le gpt-oss-120b d'OpenAI à 80,1. Pour qui fait tourner le modèle sur sa propre machine, la disposition des couches compte plus que le score.
Ce qu'est un cache KV et pourquoi il grossit
Un modèle de langue relit toute la conversation avant d'écrire chaque nouveau mot. Refaire ce travail à chaque fois serait lent. Le modèle enregistre donc des valeurs intermédiaires, appelées clés et valeurs, dans une réserve nommée cache KV.
Les poids d'un modèle sont un coût fixe. Le cache KV, non. Il grossit avec chaque jeton de la conversation.
Sur une machine dotée de 8 Go de mémoire, cette différence décide beaucoup. Un fichier de modèle peut se charger sans problème et manquer quand même de place dès que la discussion s'allonge. Quand cela arrive, le logiciel déplace en général des couches vers le processeur principal au lieu d'échouer, et la vitesse chute fortement.
Comment Qwen3.5-9B répartit ses couches
La fiche du modèle Qwen3.5-9B décrit la pile comme 8 répétitions d'un bloc de 4 couches. Trois couches de chaque bloc utilisent Gated DeltaNet, une méthode d'attention linéaire. La quatrième utilise l'attention complète à porte.
L'attention linéaire conserve un état courant de taille fixe. Il ne grossit pas quand le texte s'allonge. Ces 24 couches coûtent donc autant à 4 000 jetons qu'à 200 000.
Seules les 8 couches à attention complète tiennent un cache qui grossit. La fiche du modèle donne leur forme : 4 têtes clé-valeur, chacune large de 256 dimensions.
Cela suffit pour calculer le coût par jeton. Multipliez les 8 couches par 2, car les clés et les valeurs sont toutes deux stockées, puis par 4 têtes, puis par 256 dimensions, puis par 2 octets par valeur. Le résultat est 32 768 octets, soit 32 Ko pour chaque jeton de la conversation.
Ce que cela coûte à des longueurs de contexte réelles
La fiche du modèle indique une longueur de contexte native de 262 144 jetons, extensible à environ 1 010 000. À 32 Ko par jeton, le coût du cache à chaque longueur relève de l'arithmétique simple.
La deuxième colonne ci-dessous montre ce que coûterait le même modèle si ses 32 couches utilisaient l'attention complète au lieu de 8. C'est une hypothèse, donnée pour montrer l'ampleur de l'économie.
| Longueur de contexte | Cache KV de Qwen3.5-9B | Si les 32 couches utilisaient l'attention complète |
|---|---|---|
| 8 192 jetons | 0,25 Gio | 1,0 Gio |
| 32 768 jetons | 1,0 Gio | 4,0 Gio |
| 131 072 jetons | 4,0 Gio | 16,0 Gio |
| 262 144 jetons | 8,0 Gio | 32,0 Gio |
Cette conception économise quatre fois la mémoire de cache, à toutes les longueurs. Sur une carte de 8 Go contenant environ 6,6 Go de poids en 4 bits, c'est la différence entre une conversation de 32 000 jetons et une de 4 000.
Qwen a depuis poussé la même idée plus loin. Sa version Qwen3.8-Flash-Next utilise elle aussi Gated DeltaNet dans trois couches sur quatre, avec en plus une conception à experts creux.
Ce que cela signifie pour les développeurs
Le nombre de paramètres est un mauvais guide pour savoir si un modèle tient dans une quantité de mémoire donnée. Deux modèles de même taille peuvent différer d'un facteur quatre ou plus sur le seul coût du cache. Vérifiez la disposition des couches avant de faire confiance à une estimation de taille.
Les nombres à chercher figurent dans la configuration publiée du modèle : combien de couches utilisent l'attention complète, combien de têtes clé-valeur chacune possède, et quelle est la largeur de chaque tête. Ces trois nombres, multipliés par deux pour les clés et les valeurs et par deux pour un stockage en 16 bits, donnent le coût par jeton. Multipliez ensuite par la longueur de contexte que vous comptez réellement utiliser.
Prévoyez le cache avant de choisir une fenêtre de contexte. Une erreur fréquente consiste à régler le contexte au maximum du modèle simplement parce que ce maximum existe. La plupart des environnements locaux acceptent un réglage qui ne tient pas, puis déplacent discrètement du travail vers le processeur. Cela ressemble à un ralentissement mystérieux plutôt qu'à une erreur.
Diviser le cache par deux est aussi possible. La plupart des environnements peuvent stocker le cache en 8 bits au lieu de 16, ce qui réduit de moitié les chiffres du tableau ci-dessus pour une faible perte de qualité. Sur une machine de 8 Go, c'est souvent le réglage qui fait passer un modèle d'inutilisable à confortable.
Sources
Articles liés

Qwen3.8-Flash-Next contient 125 milliards de paramètres mais n'en active que 6
Alibaba a publié Qwen3.8-Flash-Next le 26 août 2026. Le modèle active 6 des 125 milliards de paramètres par jeton et coûte 0,16 dollar par million de jetons d'entrée.

Ollama 0.33 fait tourner Qwen, DeepSeek et Kimi en local dans Claude Desktop
Ollama 0.33.0 ajoute un proxy local qui remplace le modèle derrière l'application Claude Desktop d'Anthropic par un modèle ouvert. Une tentative au printemps a échoué sur la vérification des identifiants de modèle.

Salesforce Koa part de poids ouverts mais sort fermé
Salesforce dit que Koa commet trois fois moins d'erreurs sur son propre CRM Bench, mais les poids sont propriétaires et le modèle ne tourne que chez Salesforce.