Points clés
- llama.cpp : Latence par token la plus faible. Idéal pour le chat interactif. Dépendances minimales.
- Ollama : Le plus simple. Une commande, téléchargement auto des modèles. Légèrement plus lent que llama.cpp (5–10 %).
- vLLM : Meilleur débit sur les requêtes batch. Idéal pour les serveurs API en production. Courbe d'apprentissage plus élevée.
- Chat monoposte : llama.cpp ou Ollama (vitesses quasi identiques).
- API multi-utilisateurs : vLLM (débit 3–5× supérieur).
- Usage occasionnel : Ollama (simplicité imbattable).
- Les trois produisent des sorties identiques — seuls la vitesse et le débit diffèrent.
- Les trois peuvent coexister sur la même machine (ports différents), sans conflit.
Benchmarks de vitesse — RTX 4090 24 Go
llama.cpp mène avec 38 tok/s en mode monoposte ; vLLM domine avec 250+ tok/s en batch. Mesuré sur RTX 4090 24 Go, Llama 3.3 70B Q4_K_M, requête unique, avril 2026 :
| Backend | Tokens/s | ms/token | VRAM utilisé | Débit par lots |
|---|---|---|---|---|
| llama.cpp | 38 | 26 | 39 Go | N/A (pas de batch) |
| Ollama | 36 | 28 | 39 Go | N/A (lot unique) |
| vLLM | 34 | 29 | 41 Go | 250+ tok/s (continu) |
Benchmarks de vitesse — RTX 3060 12 Go
Mesuré sur RTX 3060 12 Go, Llama 3.2 8B Q4_K_M, requête unique, avril 2026 :
| Backend | Tokens/s | ms/token | VRAM utilisé | Débit par lots |
|---|---|---|---|---|
| llama.cpp | 52 | 19 | 5.2 Go | N/A |
| Ollama | 48 | 21 | 5.4 Go | N/A |
| vLLM | 45 | 22 | 6.1 Go | 180 tok/s (lot=8) |
Tableau comparatif
llama.cpp : meilleure quantification & vitesse brute. Ollama : installation la plus simple. vLLM : meilleur batching pour la production.
| Fonctionnalité | llama.cpp | Ollama | vLLM |
|---|---|---|---|
| Temps d'installation | 30 min (compilation) | 5 min (une commande) | 15 min (pip install) |
| API OpenAI-compatible | ✅ (llama-server) | ✅ (native) | ✅ (native) |
| Format de modèle | GGUF | GGUF | SafeTensors / HF |
| Support GPU | CUDA, ROCm, Metal | CUDA, ROCm, Metal | CUDA uniquement |
| Traitement par lots | ❌ | ❌ | ✅ continu |
| Multi-GPU | ❌ | ❌ | ✅ parallèle tenseur |
| Apple Silicon | ✅ Metal | ✅ Metal | ❌ |
| Interface de chat | ❌ (serveur uniquement) | ❌ (requiert Open WebUI) | ❌ (API uniquement) |
| Licence | MIT | MIT | Apache 2.0 |
Batching & débit
vLLM traite 32+ requêtes en parallèle ; llama.cpp et Ollama traitent une requête à la fois. Voici l'avantage de vLLM :
- llama.cpp : Pas de batching natif. Une requête à la fois. Latence : 27 ms/token. Débit : 36 tok/s.
- Ollama : Batch unique seulement. Impossible de traiter 2+ requêtes en parallèle. Même débit que llama.cpp.
- vLLM : Batching continu natif (gère dynamiquement les requêtes simultanées). Traite 32 requêtes en même temps. Débit : 250+ tok/s sur le même RTX 4090.
- L'avantage de vLLM se multiplie avec le nombre d'utilisateurs. Pour des serveurs API avec 10+ utilisateurs : vLLM est incontournable.
Complexité d'installation
Ollama est le plus simple (5 min) ; vLLM nécessite Python (15 min) ; llama.cpp nécessite une compilation (30 min).
llama.cpp : Compilation depuis les sources ou téléchargement d'un binaire. Gestion manuelle des fichiers modèles. 30 min.
Ollama : `brew install ollama` ou téléchargement de l'installeur. `ollama run llama3.2`. 5 min.
vLLM : `pip install vllm`, puis `python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3.3-8B-Instruct`. 15 min (Python + dépendances).
Vainqueur pour la simplicité : Ollama.
Compatibilité API
Les trois supportent désormais les API compatibles OpenAI ; Ollama et vLLM sont les plus simples.
llama.cpp : API compatible OpenAI (via `llama-server`, ajouté fin 2024). Compatible avec les extensions IDE.
Ollama : API compatible OpenAI (via `ollama serve` + bibliothèque cliente). Compatible avec la plupart des extensions IDE.
vLLM : API compatible OpenAI (endpoint natif `/v1/chat/completions`). Meilleure compatibilité.
Pour l'intégration IDE (VS Code, Cursor) : Ollama ou vLLM. Évitez llama.cpp.
Quand utiliser chaque backend ?
llama.cpp : Dépendances minimales, vitesse brute. Idéal pour construire un moteur d'inférence personnalisé. Meilleur choix sur Mac (accélération Metal).
Ollama : Simplicité tout-en-un. Idéal pour les interfaces de chat et l'usage personnel. Compatible Mac, Linux, Windows.
vLLM : Serveur API en production. Idéal pour les déploiements multi-utilisateurs et les besoins de débit élevé. Nécessite NVIDIA CUDA — incompatible avec Apple Silicon (M1/M2/M3/M4).
Erreurs courantes dans le choix du backend
- Erreur : Supposer que llama.cpp est toujours le plus rapide. C'est vrai uniquement pour la latence par token. vLLM est jusqu'à 7× plus rapide pour les requêtes batch (10+ utilisateurs simultanés).
- Erreur : Sous-estimer Ollama. Ollama n'est que 5–10 % plus lent que llama.cpp pur — une différence négligeable pour le chat interactif où 34 tok/s paraît instantané.
- Erreur : Croire qu'il faut choisir un seul backend. Les trois peuvent coexister sur des ports différents. Ollama pour le chat personnel, vLLM pour votre serveur API.
- Erreur : Utiliser vLLM pour un chat monoposte. L'avantage de vLLM est le batching. Pour un utilisateur unique, l'installation plus simple d'Ollama est préférable.
Contexte régional & résidence des données
UE/RGPD : Les trois backends fonctionnent entièrement on-premises. Aucune donnée ne quitte votre infrastructure, ce qui dispense de la conclusion d'un accord de sous-traitance au sens de l'article 28 du RGPD. La CNIL recommande l'inférence locale pour le traitement de données professionnelles sensibles (financières, médicales, juridiques). Recommandé pour les secteurs financier, santé et juridique en Europe.
Japon/APPI : L'inférence on-premises satisfait aux exigences de l'APPI pour les données personnelles sensibles. vLLM est utilisé dans des déploiements d'entreprise japonais pour le traitement de documents en batch.
Chine/Loi sur la sécurité des données (2021) : L'inférence locale évite les restrictions au transfert transfrontalier de données. llama.cpp et Ollama sont couramment utilisés en Chine avec les modèles Qwen2.5.
FAQ
Quel backend utiliser en tant que débutant ?
Ollama. Une commande, téléchargement automatique des modèles, interface claire.
Lequel est le plus rapide ?
Pour une requête unique : llama.cpp (~3 % plus rapide qu'Ollama). Pour 10 requêtes simultanées : vLLM (~7× plus rapide).
Puis-je utiliser llama.cpp à la place d'Ollama ?
Oui, mais installation plus complexe. Le gain de vitesse est négligeable (3–5 %) pour la plupart des usages.
vLLM est-il prêt pour la production ?
Oui. Utilisé dans de vrais déploiements. Courbe d'apprentissage plus élevée, mais idéal pour un débit élevé.
Puis-je changer de backend sans réentraîner ?
llama.cpp et Ollama utilisent le format GGUF (interchangeables directement). vLLM utilise SafeTensors et nécessite une conversion du modèle.
Quel backend est le plus stable ?
Ollama (architecture simple, moins de bugs). llama.cpp est également stable. vLLM se met à jour fréquemment (nouvelles fonctionnalités, changements majeurs occasionnels).
vLLM fonctionne-t-il sur Mac ?
Non. vLLM nécessite NVIDIA CUDA. Pour Mac, utilisez llama.cpp ou Ollama avec accélération Metal.
Articles connexes
- Ollama vs LM Studio : Lequel choisir ? — Comparaison côte à côte des deux interfaces LLM locales les plus populaires
- Meilleure stack LLM locale par cas d'usage (2026) — Combinaisons recommandées pour le chat, le code et le serving API
- Text Generation WebUI vs vLLM vs llama.cpp — Comparaison approfondie incluant les frontends de type AUTOMATIC1111
- Meilleurs frontends LLM locaux (2026) — OpenWebUI, Chatbot UI et 8 autres options classées
- Installer Ollama — Guide d'installation en 2 minutes pour macOS, Windows & Linux
- API compatible OpenAI pour LLM local — Remplacement drop-in de l'API OpenAI avec des modèles locaux