Intermédiaire 13 minllama.cpp

llama.cpp : c'est quoi, et faut-il quitter Ollama ?

llama.cpp est le moteur d'inférence écrit en C et C++ qui exécute les modèles au format GGUF sur CPU, sur GPU NVIDIA, AMD et Intel, et sur Mac. Au 20 septembre 2026, la plupart des applications de LLM local s'appuient sur lui ou sur sa bibliothèque ggml : Ollama, LM Studio, KoboldCpp, Jan. L'utiliser directement ne rend pas votre modèle plus rapide. Cela vous donne la main sur des réglages que les surcouches décident à votre place.

Par Mohamed Meguedmi·Màj 2026-09-20·Testé sur macOS 14+

#llama.cpp en bref

Le projet a été lancé en mars 2023 par Georgi Gerganov, avec un objectif simple : faire tourner le modèle LLaMA de Meta sur un MacBook, sans Python ni dépendance lourde. Il est publié sous licence MIT. Trois ans plus tard, le dépôt (passé sous l'organisation ggml-org) prend en charge des centaines d'architectures, et le format de fichier qu'il a défini en août 2023, le GGUF, est devenu le standard de fait pour distribuer un modèle quantifié.

Deux choix techniques expliquent ce succès. Le premier est la quantification : llama.cpp sait exécuter des poids compressés de 2 à 8 bits, ce qui fait tenir un modèle de 8 milliards de paramètres dans 5 Go au lieu de 16. Le second est le partage entre processeur et carte graphique : quand un modèle ne rentre pas entièrement en VRAM, une partie des couches reste en RAM et le reste part sur le GPU. C'est plus lent qu'un chargement complet, mais cela fonctionne, et peu de moteurs le proposent.

#Ce qu'il y a dans la boîte

Le kit IA Locale

Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.

  • Espace en ligne à vie
  • PDF + fichiers
  • Remboursé 30 j
llama-cli
Le chat en ligne de commande. Utile pour tester un modèle ou un réglage en quelques secondes.
llama-server
Un serveur HTTP avec une API compatible OpenAI et une interface web intégrée, sur le port 8080. C'est la pièce que la plupart des utilisateurs avancés font tourner en permanence.
llama-bench
L'outil de mesure. Il donne séparément la vitesse de lecture du prompt et la vitesse de génération, ce qui permet de comparer deux réglages sans se raconter d'histoires.
llama-quantize
Convertit un GGUF en précision complète vers une quantification plus légère (Q4_K_M, Q5_K_M, Q8_0).

#Ce que les surcouches ajoutent, et cachent

Ollama, LM Studio et KoboldCpp apportent ce que llama.cpp ne fait pas : un catalogue de modèles, le téléchargement en une commande, une interface, le chargement et le déchargement automatiques. En échange, ils fixent des valeurs par défaut. Le tableau ci-dessous ne compare pas des performances, il indique qui décide de quoi.

Comparatif de contrôle, pas de vitesse · état au 20/09/2026
Réglagellama.cpp nuOllamaLM StudioKoboldCpp
Taille du contexteOption -c, libreValeur par défaut prudente, modifiable par variable ou ModelfileCurseur par modèleOption au lancement
Choix de la quantificationN'importe quel fichier GGUFTag du catalogue, Q4 par défautListe proposée au téléchargementN'importe quel fichier GGUF
Couches envoyées au GPUOption -ngl, couche par coucheAutomatiqueCurseurOption au lancement
Quantification du cache KVOptions -ctk et -ctvVariable d'environnement globaleRéglage avancéOption au lancement
APIllama-server, compatible OpenAIAPI propre + compatibilité OpenAIServeur compatible OpenAIAPI propre + compatibilité OpenAI
Mises à jour du moteurLe jour même, à chaque commitAvec un décalageAvec un décalageAvec un décalage

La dernière ligne compte plus qu'il n'y paraît. Quand une nouvelle architecture de modèle sort, elle est d'abord prise en charge dans llama.cpp, puis dans les surcouches quelques jours ou semaines plus tard. Si vous voulez tester un modèle la semaine de sa publication, c'est souvent le seul chemin.

#Les quatre réglages qui changent tout

-ngl (n-gpu-layers)
Le nombre de couches du modèle placées en VRAM. La valeur 99 signifie « tout ce qui rentre ». Si le modèle dépasse votre VRAM, baissez ce nombre jusqu'à ce que le chargement passe : chaque couche laissée au CPU ralentit la génération, mais un modèle qui tourne à 8 tokens par seconde vaut mieux qu'un modèle qui ne démarre pas.
-c (ctx-size)
La fenêtre de contexte allouée. Le cache KV grandit avec elle : sur un modèle 8B, passer de 8 000 à 32 000 tokens coûte plusieurs Go de VRAM. Allouez ce dont vous avez besoin, pas le maximum annoncé par le modèle.
-fa (flash-attn)
Active Flash Attention, qui réduit la mémoire et accélère la lecture des longs prompts. C'est aussi un prérequis pour quantifier le cache KV.
--n-cpu-moe
Pour les modèles MoE, garde les experts d'un certain nombre de couches en RAM et laisse le reste sur le GPU. C'est ce qui permet de faire tourner un MoE de 30 ou 120 milliards de paramètres sur une carte de 16 Go à une vitesse utilisable.

#Quel backend pour votre carte

llama.cpp se compile, ou se télécharge, pour un backend de calcul donné. Le bon choix dépend uniquement de votre matériel. Le tableau reprend les familles de notre base de 90 configurations.

Familles issues de la base matérielle QuelLLM (90 GPU et puces) · 20/09/2026
Votre matérielBackend conseilléRemarque
NVIDIA GTX 10 à RTX 50, fixes et portablesCUDALe chemin le plus rapide et le mieux testé.
AMD Radeon RX 7000 et RX 9000ROCm (HIP) ou VulkanROCm est plus rapide quand il fonctionne. Vulkan s'installe sans friction, y compris sous Windows.
AMD Radeon RX 6000 et plus anciennesVulkanPrise en charge ROCm partielle ou absente selon la carte.
Apple M1 à M5MetalActivé par défaut dans les binaires macOS. Toute la mémoire unifiée est utilisable.
GPU intégré Intel ou AMD, Intel ArcVulkan ou SYCLGain réel face au CPU seul sur les petits modèles.
Aucun GPUCPU (AVX2, AVX-512, NEON)Fonctionne partout. Visez des modèles de 8 milliards de paramètres au plus.

#Nos mesures avec llama.cpp

llama.cpp est le moteur de référence de notre banc de test, précisément parce qu'il tourne à l'identique sur toutes les plateformes. Voici les vitesses de génération relevées sur Llama 3.1 8B en Q4, contexte de 2 048 tokens, une seule requête, Flash Attention activée.

Mesuré · banc QuelLLM, llama.cpp b4280, relevés du 18/04/2026 · tableau complet sur la page Benchmarks
MachineMémoireLlama 3.1 8B Q4
RTX 509032 Go172 tok/s
RTX 409024 Go128 tok/s
RTX 407012 Go76 tok/s
Mac M3 Max64 Go unifiés64 tok/s
RTX 306012 Go44 tok/s
Ryzen 7 7700, CPU seulRAM système7,8 tok/s

Deux lectures. D'abord, l'écart entre une RTX 3060 et un processeur seul est d'un facteur cinq à six : même une carte d'entrée de gamme change l'expérience. Ensuite, ces chiffres seraient pratiquement les mêmes dans Ollama ou LM Studio sur les mêmes machines, puisque le moteur de calcul est le même.

#Rester sur Ollama ou passer à llama.cpp

Restez sur Ollama ou LM Studio si…Passez à llama.cpp si…
Vous voulez discuter avec un modèle sans lire de documentation.Votre modèle dépasse la VRAM et vous voulez régler finement la répartition GPU et CPU.
Vous changez souvent de modèle et appréciez le catalogue intégré.Vous voulez tester une architecture sortie cette semaine.
Vos outils (Open WebUI, extensions d'éditeur) attendent l'API d'Ollama.Vous montez un serveur durable et voulez maîtriser chaque option, du contexte au cache KV.

#Démarrer en dix minutes

Nul besoin de compiler pour essayer. Des binaires précompilés sont publiés pour Windows, macOS et Linux à chaque version, et les gestionnaires de paquets font le reste. La commande ci-dessous télécharge un petit modèle depuis Hugging Face et ouvre l'interface web sur http://localhost:8080.

Installer puis lancer le serveur
# macOS et Linux (Homebrew)
brew install llama.cpp

# Windows
winget install llama.cpp

# Télécharger un modèle et ouvrir l'interface web
llama-server -hf ggml-org/gemma-3-4b-it-GGUF -ngl 99 -c 8192

Pour un modèle du catalogue plus ambitieux, récupérez le fichier GGUF de votre choix et pointez dessus avec l'option -m. La compilation depuis les sources ne devient utile que pour activer un backend précis ou suivre le développement au jour le jour.

#FAQ

llama.cpp est-il plus rapide qu'Ollama ?+
À réglages identiques, non : Ollama s'appuie sur le même moteur de calcul, donc la vitesse de génération est très proche. L'écart vient des réglages. llama.cpp vous laisse choisir précisément le nombre de couches sur le GPU, la taille du contexte et la quantification du cache, ce qui permet parfois de faire tenir en VRAM un modèle qu'Ollama aurait partiellement laissé au CPU.
Faut-il savoir compiler pour utiliser llama.cpp ?+
Non. Des binaires précompilés sont publiés à chaque version pour Windows, macOS et Linux, et le paquet est disponible dans Homebrew et winget. La compilation ne sert qu'à activer un backend particulier ou à suivre la branche de développement.
Peut-on utiliser llama.cpp sans carte graphique ?+
Oui, c'est même son usage d'origine. Sur un processeur récent, un modèle 8B en Q4 tourne autour de 8 tokens par seconde sur notre banc, ce qui est lent mais lisible. Au-delà de 14 milliards de paramètres, le CPU seul devient pénible.
Quelle différence entre llama.cpp et vLLM ?+
llama.cpp vise une machine personnelle, tous matériels confondus, avec des modèles quantifiés en GGUF. vLLM vise un serveur GPU qui sert beaucoup de requêtes en parallèle, avec les poids Hugging Face. Le premier maximise ce qui tourne chez vous, le second le débit d'un GPU partagé.
Et sur Mac, llama.cpp ou MLX ?+
Les deux exploitent le GPU Apple. MLX, la bibliothèque d'Apple, prend l'avantage en vitesse sur les puces récentes ; llama.cpp garde pour lui l'immense catalogue de GGUF et des réglages plus fins. Notre comparatif dédié donne les mesures.

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.