Monarch v3 : Pagination KV inspirée du NES pour une inférence LLM 78 % plus rapide

Ce que fait Monarch v3
Monarch v3 est une implémentation open-source de pagination mémoire inspirée de la NES pour l'inférence des transformers, qui traite la croissance linéaire du cache KV avec la longueur de séquence. À 4K tokens, la plupart du cache KV reste inutilisé tout en consommant de la VRAM en pleine précision.
Comment ça fonctionne
Le système divise le cache KV en deux régions :
- Région chaude : Tokens récents conservés en pleine précision
- Région froide : Tokens plus anciens compressés à ~20 octets chacun (contre 64-128 octets pour les chauds)
Quatre composants travaillent ensemble :
- Compression TurboQuant : Quantise KV en entiers 4 bits avec encodage polaire et correction résiduelle, obtenant ~97 % de réduction de taille avec ~0,3 % de perte de perplexité
- Éviction par fenêtre glissante : Les N tokens récents restent chauds par défaut, les anciens tokens se compressent en stockage froid
- Promotion pondérée par l'attention : Les tokens à haute attention reviennent à l'état chaud avec un mécanisme collant pour éviter le battement
- Échanges de pages : De petits lots de tokens froids se matérialisent à l'accès avec une boucle de décodage locale remplaçant le matmul par lots
Résultats de benchmark
Configuration : TinyLlama-1.1B fp16, 50 tokens générés
- Standard : 17,01 tok/s, 2112 Mo VRAM
- Monarch-v3 : 30,42 tok/s, 2131 Mo VRAM, 512 tokens chauds, 1024 tokens froids
- Gain : +78,7 % de débit, +0,9 % de VRAM
Boucle de décodage simplifiée
for step in 1..100:
q = project_query(next_token)
# Calculer l'attention : chaude uniquement (rapide)
scores_hot = q @ kv_hot.T
# Accéder au froid si haute attention (rare)
if max(scores_hot) < threshold:
kv_cold_promoted = decompress(cold_pages)
scores_cold = q @ kv_cold_promoted.T
# Déplacer vers le chaud pour l'étape suivante
# Agrégation, softmax, application de l'attention ...
# Évincer les anciens tokens du chaud → froid
if len(kv_hot) > window_size:
evict_oldest_to_cold()État actuel
- Implémentation : Fonctionne sur Hugging Face Transformers avec un backend de cache personnalisé
- Licence : Apache 2.0
- Article : Spécification technique complète disponible
- Suivant : Fusion de noyaux CUDA pour la décompression froide prévue
Comment l'essayer
git clone https://github.com/JohannaWeb/Monarch.git
cd Monarch
pip install -r requirements.txt
python train_tinyllama_fp16.py
python src/benchmark_monarch.py \
--model models/tinyllama_fp16 \
--mode both \
--max-new-tokens 100 \
--promotion-threshold 0.15 \
--sticky-threshold 3 \
--jsonLimitations
L'approche repose sur la récence (tokens récents = haute attention), ce qui fonctionne pour la plupart des tâches mais peut ne pas convenir aux charges de travail intensives en récupération. L'extraction d'attention est disponible dans les modèles de base mais pas dans les variantes de chat ; le repli utilise une pagination uniquement par fenêtre.
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

Application de Débat Multi-Agents Construite avec Claude, ElevenLabs et Flux
Un développeur a créé une application de débat multi-agents alimentée par Claude. L'application permet aux utilisateurs de choisir deux personnages et un sujet, puis Claude génère des arguments pour chaque côté en restant dans le personnage. Un juge IA évalue le débat et désigne un gagnant.

Application macOS gratuite pour la barre de menu surveillant l'utilisation de Claude en temps réel
Un développeur a créé une application gratuite pour la barre de menu macOS afin de surveiller l'utilisation de Claude entièrement avec Claude Code et Opus. L'application affiche des barres d'utilisation pour les sessions de 5 heures et 7 jours, le pourcentage de remplissage de la fenêtre de contexte, et envoie des notifications lorsque les limites approchent.

MCP Marketplace lance un répertoire sécurisé de plus de 1 900 plugins d'outils MCP.
MCP Marketplace (mcp-marketplace.io) propose un répertoire axé sur la sécurité de plus de 1 900 serveurs MCP, avec une analyse de sécurité multicouche, un score de risque et une installation en un clic pour Claude Desktop, Cursor, ChatGPT et VS Code.

Serveurs MCP Hébergés Publiquement pour les Données de Santé, Académiques et Gouvernementales
Un développeur a construit et héberge publiquement 14 serveurs MCP offrant un accès aux ensembles de données du CDC, aux essais cliniques, aux données de la FDA, aux publications académiques, aux informations du Congrès, aux données météorologiques et à d'autres utilitaires. Ces serveurs ne nécessitent aucune configuration, clés API ou installation locale.