La réutilisation du cache KV pour les conversations longues sur Apple Silicon offre une accélération de 200x

Ce que c'est
Un développeur a partagé des résultats expérimentaux de la mise en œuvre de la réutilisation du cache KV (clé-valeur) basée sur des sessions pour l'inférence LLM locale sur Apple Silicon en utilisant le framework MLX. L'objectif était de rendre les longues conversations (100K+ tokens) pratiques en éliminant le besoin de retraiter l'intégralité du contexte à chaque tour.
Principales découvertes et benchmarks
L'approche principale consistait à conserver le cache KV en mémoire à travers les tours de conversation et à ne traiter que les nouveaux tokens. Cette idée simple a produit des améliorations de performances spectaculaires :
- Amélioration de 200x du TTFT à 100K de contexte : Sans cache : 126 secondes. Avec cache : 0,5 seconde. Cela représente une réduction de 99,9 % des tokens traités.
- Nombres de session en conditions réelles : Les tests avec un modèle Qwen3.5-397B sur un Mac Studio M3 Ultra 512GB lors d'une session d'agent OpenClaw de 266 messages ont montré :
- Taux de succès du cache : 93,8 %
- TTFT pour les succès du cache (<500 nouveaux tokens) : 1,0-1,3 secondes
- TTFT pour un échec complet du cache (124K tokens) : 528 secondes (8,8 minutes)
Ce qui n'a pas fonctionné
Le développeur a testé plusieurs tentatives d'optimisation qui ont échoué ou dégradé les performances :
- Élagage des tokens de réflexion : Tenter de retirer les tokens de raisonnement interne du modèle du cache pour économiser de l'espace a provoqué un comportement pathologique. Les réponses sont devenues 31 % plus longues et la qualité a chuté, car le modèle fait référence à son raisonnement passé à travers les tours.
- Rotation du cache KV (8192 tokens) : Bien que cela ait fourni le meilleur taux de tokens par seconde (TPS), cela a fait perdre au modèle le contexte antérieur, avec un rappel chutant significativement (à 4 éléments sur 8).
- Quantification 8 bits du KV : Cela a entraîné une baisse de 16,5 % du TPS, car la surcharge de calcul dépassait les économies de bande passante mémoire.
Implémentation et matériel
L'implémentation fait partie d'un projet personnel open-source appelé SoloHeaven, disponible sous licence MIT sur GitHub : https://github.com/joongom/mlx-soloheaven. Le README contient les tables de benchmarks complètes.
Les tests ont été réalisés sur un Mac Studio M3 Ultra avec 512 Go de RAM et 4 To de stockage, en utilisant les modèles suivants convertis pour MLX :
- Qwen3.5-122B-A10B-bf16
- Qwen3.5-397B-A17B-MLX-8bit
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

E2a : Passerelle de messagerie open source pour agents IA avec vérification SPF/DKIM et livraison par webhook/WebSocket
E2a est une passerelle e-mail authentifiée pour les agents IA qui vérifie SPF/DKIM sur les courriels entrants, délivre via webhook ou WebSocket, et prend en charge les courriels sortants avec approbation humaine dans la boucle.

L'application iOS OpenClaw ajoute la synchronisation des données historiques d'Apple Health jusqu'à 18 mois.
La dernière version de l'application iOS OpenClaw permet l'exportation des données historiques d'Apple Health, permettant aux utilisateurs de synchroniser jusqu'à 18 mois de données de santé avec leur agent pour des analyses personnalisées ou l'entraînement d'IA.

Plugin Claude Code /verify : Tests de navigateur automatisés depuis votre plan
/verify est un plugin open source pour Claude Code qui lit votre plan, lance un vrai navigateur via Playwright MCP, vérifie chaque exigence et vous fournit un rapport succès/échec avec des captures d'écran.

Lightpanda : navigateur headless open-source pour agents LLM avec serveur MCP natif et sortie en markdown
Lightpanda est un navigateur headless open-source conçu pour les agents alimentés par LLM qui utilise 16 fois moins de mémoire que Chrome (215 Mo contre 2 Go) et termine les benchmarks de crawling web en 5 secondes au lieu de 47 secondes. Il fournit une sortie markdown native, un arbre sémantique avec détection d'interactivité, et un serveur MCP intégré.