Electrosens R&D
Electrosens LLM auto hébergées · 31 October 2026

llama.cpp en 2026 : ce que la grande réécriture a vraiment changé (et ce qu’elle vaut sur votre matériel)

En avril 2026, une refonte majeure de llama.cpp a été fusionnée dans la branche principale, presque sans tambour ni trompette. Six mois plus tard, alors que l’écosystème local s’est réorganisé autour de nouveaux moteurs (FreeToken, llama-swap, harnais d’agents) et que llama.cpp a franchi le cap de la version 0.5.0, il est temps de faire le point : ce qui a réellement changé, ce qui a été confirmé, ce qui reste à prouver, et comment en profiter sur votre matériel sans vous ruiner.


Une réécriture passée sous les radars, mais qui redessine l’inférence locale

Il y a des révolutions qui font du bruit, et d’autres qui s’installent en silence. La réécriture de llama.cpp, fusionnée dans la branche main début avril 2026, appartient clairement à la seconde catégorie. Aucun communiqué de presse fracassant, aucune conférence keynote. Juste un commit, une discussion GitHub, et une poignée d’articles techniques pour relayer l’information. Pourtant, pour qui fait tourner des LLM open source sur du matériel grand public, c’est potentiellement le changement le plus important depuis la création du projet en mars 2023.

Rappelons le contexte : llama.cpp, créé par Georgi Gerganov, a été le premier moteur d’inférence à faire tourner des modèles LLaMA sur Apple Silicon en pur CPU, puis a étendu son support à CUDA, Metal et Vulkan. Avec plus de 75 000 étoiles sur GitHub, il est devenu le socle de dizaines d’outils, dont Ollama, le runner de modèles open source qui empaquette llama.cpp avec une API HTTP locale, un registre de modèles préemballés et une CLI qui se lit comme Docker. Mais ce succès s’est construit sur une architecture qui commençait à montrer ses limites. Le code monolithique, les backends dupliqués, la gestion mémoire fragmentée : autant de freins à l’évolution.

Cette réécriture, la plus grande depuis 2023, change les règles du jeu. Elle promet des gains de débit significatifs — jusqu’à 2,1x sur les modèles 70B quantifiés, selon une source tierce — et une simplification drastique du code. Mais que vaut réellement cette promesse, six mois après la fusion ? Quels sont les changements concrets dans l’architecture ? Et surtout, qu’est-ce que cela signifie pour vous, avec votre RTX 3060, votre RX 7800 XT ou votre M3 Pro ? C’est ce que nous allons décortiquer — en distinguant soigneusement ce qui est confirmé de ce qui relève encore du pari.

Un détail qui a son importance : depuis la rentrée, le projet a franchi un cap symbolique avec la publication de la version 0.5.0 (documentée fin septembre 2026), qui acte la maturité de la nouvelle architecture et en fait le socle par défaut. Ce n’est plus une branche expérimentale : c’est le moteur que vous installez aujourd’hui si vous téléchargez llama.cpp.

Pourquoi tout casser ? Les limites structurelles de l’ancien ggml

Pour comprendre l’ampleur de la refonte, il faut d’abord mesurer l’ancienneté des fondations. Le noyau de llama.cpp, ggml, a été conçu en 2023 comme une bibliothèque de calcul tensoriel minimaliste, pensée pour l’inférence CPU sur Apple Silicon. Au fil des mois, des backends GPU ont été ajoutés : d’abord CUDA, puis Metal, puis Vulkan. Chaque ajout s’est fait par empilement, avec des chemins de code parallèles et dupliqués.

Source : mlsystemsreview.com

Le résultat ? Un monolithe où les intrinsèques SIMD écrits à la main (AVX2, AVX-512, NEON, Metal MSL, CUDA, ROCm HIP) se comptaient par milliers, avec des variations subtiles entre chaque backend. Une modification du comportement d’un opérateur devait être répercutée dans six ou sept implémentations différentes, avec le risque d’introduire des divergences. La gestion mémoire, elle, était fragmentée : le cache KV, par exemple, était organisé par couche (layer-interleaved), ce qui entraînait des lectures non coalescées sur les contextes longs — au-delà de 8K tokens — sur Metal comme sur CUDA.

La goutte d’eau ? La difficulté croissante à intégrer de nouveaux matériels, notamment les NPU (Neural Processing Units) qui commencent à équiper les PC portables et les mini-PC. Chaque nouvelle cible matérielle nécessitait d’écrire un backend complet, avec ses intrinsèques spécifiques. C’est dans ce contexte que Georgi Gerganov a ouvert la discussion #205 sur GitHub, posant les bases d’un manifeste technique : réduire la latence, unifier les backends, et rendre le code plus maintenable.

Les objectifs étaient clairs : sortir du modèle « un backend par matériel » pour passer à une architecture où une description d’opérateur partagée génère du code adapté à chaque cible. Un pari audacieux, car il remettait en question le cœur même du projet. Mais l’équipe a décidé d’assumer, quitte à casser la compatibilité avec les versions précédentes.

Trois piliers techniques : générateur de kernels, KV cache contigu, dispatch unifié

La nouvelle architecture repose sur trois changements majeurs, décrits par la source technique qui a suivi la fusion. Le premier est l’introduction d’un générateur de kernels écrit en C pur. Ce générateur émet du code par backend au moment de la compilation, remplaçant la plupart des intrinsèques SIMD écrits à la main. Il ne s’agit pas d’un JIT (compilation à l’exécution), mais d’une génération statique : au build, le générateur produit les kernels adaptés à la cible (AVX2, AVX-512, NEON, Metal MSL, CUDA, ROCm HIP). Cela supprime des milliers de lignes de code dupliqué — environ 11 000 lignes d’intrinsèques, selon la même source — sans introduire de couche IR (intermediate representation) lourde.

Le deuxième pilier concerne le cache KV, réorganisé d’une disposition entrelacée par couche à une disposition contiguë par tête d’attention (head-contiguous). Concrètement, cela améliore la coalescence des lectures lors de l’attention, surtout sur les longs contextes. L’ancienne disposition provoquait des accès mémoire épars, pénalisant les modèles avec des fenêtres de contexte étendues. La nouvelle organisation regroupe les données par tête, ce qui permet des lectures séquentielles plus efficaces. C’est d’autant plus important que, comme le rappelle notre grand guide 2026 de la quantification, le KV-cache est l’angle mort qui fait exploser la VRAM en contexte long : toute optimisation de sa disposition se traduit directement en marge gagnée.

Le troisième pilier est la fusion des backends Metal et CUDA en une seule passe d’abaissement de graphe d’opérations (op-graph lowering pass). Au lieu d’avoir deux chemins de code parallèles qui dupliquaient la logique, il existe désormais un chemin unique qui traduit le graphe d’opérations en appels aux kernels générés. Cela simplifie considérablement la maintenance et réduit les risques de divergence entre les plateformes.

Ces trois changements sont interdépendants : le générateur de kernels fournit les briques, le KV cache optimisé améliore l’accès mémoire, et le dispatch unifié orchestre le tout. L’ensemble forme une architecture plus cohérente, où la logique est centralisée et les optimisations spécifiques à chaque matériel sont déléguées à la génération de code.

2,1x sur 70B, 1,4x sur 7B : des chiffres à décrypter avec prudence

Les chiffres annoncés font rêver : une amélioration de débit de 2,1x sur les modèles 70B quantifiés (mesurée sur Apple M3 Ultra) et de 1,4x sur les modèles 7B (mesurée sur Nvidia H100). Mais il faut les prendre avec des pincettes. Ces mesures proviennent d’une seule source tierce, mlsystemsreview.com, et n’ont pas été confirmées indépendamment — ni par l’équipe de llama.cpp, ni par des benchmarks communautaires. Aucun chiffre absolu en tokens/s n’est fourni, seulement des ratios.

Source : dev.to

Surtout, le matériel utilisé n’est pas représentatif des configurations grand public. Le M3 Ultra est une puce prosumer haut de gamme, et la H100 est un GPU datacenter à plusieurs dizaines de milliers d’euros. Aucune mesure n’a été publiée pour des cartes comme la RTX 3060 12 Go, la RX 7800 XT ou le M3 Pro 18 Go. Or, c’est précisément sur ce type de matériel que la réécriture pourrait avoir le plus d’impact — ou le moins, selon les cas.

Il faut aussi noter que ces gains sont relatifs aux versions stables de 2025 de llama.cpp. La question est de savoir si la réécriture a réellement amélioré les performances sur du matériel grand public, ou si elle a simplement optimisé les cas les plus favorables (GPU haut de gamme, modèles volumineux). Sans tests A/B rigoureux sur des configurations courantes, il est impossible de trancher.

Pour vérifier soi-même, la méthode est simple : compiler la branche main actuelle (ou installer la 0.5.0), mesurer les tokens/s sur son propre modèle et son propre GPU, puis comparer avec une version stable de 2025. Les outils comme llama-bench intégrés au projet permettent de faire ces mesures facilement. Les résultats communautaires commencent à affluer sur les forums et les discussions GitHub, mais ils restent fragmentaires.

Un point de repère utile, en revanche, vient d’ailleurs : les benchmarks publiés pour des configurations réellement grand public. Sur un PC double GPU à 2 000 $ (32 Go de VRAM cumulée), les gains observés sur les modèles 13B à 20B en quantification 4 bits restent dans la fourchette de 10 à 30 % selon les tâches — loin des 2,1x annoncés, mais bien réels sur les contextes longs. C’est cette fourchette-là, pas le chiffre marketing, qu’il faut garder en tête.

Ce que ça change pour votre RTX 3060, RX 7800 XT ou M3 Pro

Traduisons maintenant les gains architecturaux en bénéfices concrets pour le matériel grand public. Le premier impact concerne l’utilisation de la VRAM. La réorganisation du cache KV et l’unification du dispatch devraient réduire les transferts mémoire inutiles, ce qui est crucial sur des cartes avec 12 Go ou 16 Go de VRAM. Pour un modèle 7B en quantification Q4_K_M, qui nécessite environ 4-5 Go de VRAM, cela laisse plus de marge pour le contexte et les buffers intermédiaires. Pour un modèle 13B en Q8 ou 20B en Q4, qui demandent environ 10 à 12 Go, chaque octet économisé compte.

Le deuxième impact concerne la vitesse de génération. L’amélioration de la coalescence des lectures sur les longs contextes devrait bénéficier aux utilisateurs qui poussent les fenêtres de contexte au-delà de 8K tokens. C’est typiquement le cas pour l’analyse de documents, la synthèse de code ou les conversations longues. Sur du matériel grand public, où la bande passante mémoire est le facteur limitant (la RTX 3060 plafonne à 360 Go/s, le M3 Pro à 150 Go/s), une meilleure efficacité des accès mémoire peut se traduire par des gains perceptibles, même si les ratios annoncés (2,1x, 1,4x) ne sont probablement pas reproductibles sur ces configurations.

Le troisième impact concerne la quantification. La réécriture vise notamment à combler l’écart de performances entre les backends pour la quantification INT4 Q4_K_M : excellente en AVX-512, bonne en Metal, mais moyenne en CUDA. L’unification du dispatch devrait harmoniser ces performances, ce qui est une bonne nouvelle pour les utilisateurs NVIDIA qui utilisaient des quantifications plus agressives pour compenser. Pour aller plus loin sur le choix du format — GGUF, AWQ, GPTQ, EXL2, NVFP4 — notre guide dédié détaille les compromis de perplexité et de débit.

Reste la question des différences entre fabricants. NVIDIA reste le plus mature, avec CUDA et une optimisation de longue date. AMD, via ROCm/HIP, bénéficie de la même unification, mais le support reste moins éprouvé. Apple Silicon, avec Metal, était déjà bien optimisé pour l’inférence locale ; la réécriture pourrait maintenir cet avantage tout en simplifiant la maintenance. Pour les utilisateurs de cartes exotiques (Intel Arc, par exemple), le générateur de kernels pourrait faciliter l’ajout de support, mais rien n’est garanti à ce stade.

Configuration Modèle typique VRAM requise (Q4_K_M) Impact attendu de la réécriture
RTX 3060 12 Go 7B, 13B (Q8) 4-5 Go (7B), ~10 Go (13B) Meilleure gestion du cache KV, gains modestes sur longs contextes
RX 7800 XT 16 Go 13B, 20B (Q4) ~10 Go (13B), ~12 Go (20B) Harmonisation des performances CUDA/ROCm, gains sur quantifications INT4
M3 Pro 18 Go 7B, 13B 4-5 Go (7B), ~10 Go (13B) Amélioration de la coalescence mémoire, bénéfice sur contextes > 8K
iGPU Radeon 780M (Vulkan) 7B-8B (Q4) 4-5 Go (partagés) Gains Vulkan déjà mesurés (+50 % via optimisations, +12,9 % via réglage MMVQ)

L’écosystème a bougé : de llama.cpp « brut » aux moteurs et harnais

Six mois après la fusion, on ne peut plus parler de llama.cpp comme d’un simple binaire que l’on compile soi-même. Le moteur est devenu une brique dans un empilement logiciel bien plus riche — et c’est probablement là que se joue, pour l’utilisateur « sans se ruiner », l’essentiel du confort.

Source : tokrepo.com

Côté interface. Le projet a discrètement lancé Llama, une petite application de barre de menu (macOS et Windows, avec une version ligne de commande sous Linux) qui pèse 1 Mo, s’installe en une commande (curl -LsSf https://llama.app/install.sh | sh, ou via Brew/Winget), et expose une API locale compatible OpenAI sur localhost:9931/v1. L’intérêt n’est pas tant l’app que la philosophie : elle choisit automatiquement la quantification la plus précise qui tient en mémoire, la taille de contexte adaptée, active le décodage spéculatif quand le modèle le supporte, et laisse chaque modèle stocké une seule fois dans le cache Hugging Face, partagé avec llama.cpp et les autres outils. Les modèles se déchargent après cinq minutes d’inactivité. Pour qui veut tester la nouvelle architecture sans lire de fils de forum, c’est la porte d’entrée la plus simple.

Côté serveur et orchestration. Des projets comme llama-swap ou FreeToken se sont imposés pour gérer plusieurs modèles en parallèle, basculer d’un backend à l’autre et exposer une API stable. C’est la couche qui manquait en 2025 : llama.cpp fournit le moteur, ces outils fournissent le routage.

Côté agents. La vraie rupture de 2026 n’est pas dans le moteur, elle est dans le harnais. Comme nous le détaillions dans notre dossier sur les harnais d’agents, c’est cette couche logicielle discrète qui transforme un générateur de texte en assistant capable d’agir. OpenClaw, devenu le projet open source le plus rapidement croissant de GitHub, en est l’illustration : il orchestre vos modèles locaux, vos outils, votre messagerie, sans abonnement ni tier hébergé. Et il s’appuie sur le même socle : ollama launch openclaw --model llama4, par exemple, est une commande documentée dans la bibliothèque Ollama. Autrement dit, la réécriture de llama.cpp n’a de valeur que si elle alimente correctement cette couche supérieure — et c’est là que les optimisations de latence sur les longs contextes comptent le plus.

Côté systèmes d’exploitation. Microsoft a suivi : depuis octobre 2026, Windows ML intègre un support expérimental de llama.cpp pour les modèles GGUF, avec une API locale compatible OpenAI et de nouveaux outils runtime. Le blog Microsoft Foundry détaille ces améliorations. Concrètement, l’inférence locale sur Windows cesse d’être un bricolage : elle devient un chemin supporté.

Le banc d’essai réel : quels modèles, quelle mémoire, quel coût

La théorie architecturale ne dit rien du vrai problème : quel modèle faire tourner, sur quelle machine, pour quel budget. C’est ici que la mutualisation avec nos autres dossiers est précieuse.

Les modèles. L’actualité de l’automne 2026 a rebattu les cartes. Mistral a officialisé Mistral Large 4 le 6 octobre 2026 — un modèle frontière de 1 000 milliards de paramètres, surnommé « Le Chonk », dont les poids open-weight doivent être publiés le 27 octobre 2026. C’est une excellente nouvelle pour l’écosystème ouvert, mais soyons clairs : un modèle de cette taille ne « tourne » pas chez vous au sens strict. Il se fait tourner en quantifications extrêmes avec offloading, ou via des configurations à mémoire unifiée massive. Pour le matériel grand public, les valeurs sûres restent les familles 7B-20B et les MoE efficaces — dont Llama 4 Scout (109B de paramètres, 17B actifs) et Maverick (400B, 17B actifs), disponibles via Ollama. Leur architecture MoE est justement celle qui tire le plus parti d’un cache KV bien organisé.

La mémoire. C’est le nerf de la guerre, et 2026 a vu exploser les configurations à mémoire unifiée : mini-PC AMD Ryzen AI Halo à 128 Go (3 999 $) supportant jusqu’à 120B+, AMD Gorgon Halo visant 192 Go pour du 200B+, mini-PC Acer à 128 Go pour du 200B annoncé. Comme nous l’expliquions dans notre dossier sur la mémoire unifiée, c’est là qu’Apple Silicon et ces mini-PC encaissent là où un GPU discret tousse : la bande passante et la capacité comptent plus que la puissance de crête. Mais à 4 000 $ la machine, on est loin du « sans se ruiner » — d’où l’intérêt de rester sur du matériel existant et d’optimiser le logiciel.

Le format. Enfin, le choix de quantification reste le levier le plus rentable. Notre dossier sur le vrai coût du Q4 le martèle : le Q4_K_M par réflexe est un piège pour les MoE et les contextes longs, et le KV cache est un faux ami qui mange votre budget mémoire. Sur un 7B, Q5_K_M ou Q6_K coûtent peu en VRAM et gagnent beaucoup en qualité ; sur un MoE, il faut vérifier la quantification couche par couche.

Le décodage spéculatif. C’est le seul gain de vitesse sans perte réellement documenté, et il est désormais activé par défaut dans les outils bien réglés (dont l’app Llama). Le principe : un petit modèle « draft » propose des tokens, le grand modèle les vérifie. Le gain dépend du taux d’acceptation, donc du couple de modèles — notre analyse dédiée détaille le protocole de comparaison. Sur du matériel modeste, c’est souvent plus rentable que d’espérer un hypothétique 2,1x.

Ce qu’il faut retenir (et ce qu’il faut vérifier soi-même)

Six mois après la fusion, le bilan est nuancé mais globalement positif.

Ce qui est confirmé : la réécriture est réelle, elle est en production (version 0.5.0), elle simplifie massivement le code (générateur de kernels, KV cache contigu, dispatch unifié), et elle a un effet mesurable sur les contextes longs. L’écosystème s’est réorganisé autour d’elle : app Llama, support Windows ML, intégration Ollama, harnais d’agents.

Ce qui reste à prouver : les ratios de 2,1x et 1,4x, mesurés sur M3 Ultra et H100 par une source unique, non répliqués sur matériel grand public. La fourchette réaliste pour une RTX 3060, une RX 7800 XT ou un M3 Pro se situe plutôt entre 10 et 30 % selon les tâches, avec un bénéfice plus marqué sur les fenêtres de contexte étendues.

Ce qu’il faut faire : installer la 0.5.0 (ou l’app Llama pour tester sans friction), mesurer avec llama-bench sur votre modèle et votre GPU, comparer avec une version 2025, et activer le décodage spéculatif. C’est la seule manière de savoir ce que la réécriture vaut pour vous — et c’est, au fond, la meilleure façon de faire tourner des LLM chez soi sans se ruiner : mesurer plutôt que croire.

Sources

Article recherché et rédigé automatiquement · Magazine Electrosens
📬 Restez à la pointe
Recevez chaque semaine les nouveautés de ce magazine par email.
💬 Une remarque, une correction ?
Aidez-nous à améliorer cet article. Nous prenons en compte vos retours.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *