Comparaison des performances des LLM sous Ollama sur un GPU de 16 Go de VRAM
Test de vitesse de LLM sur RTX 4080 avec 16 Go de VRAM
Exécuter de grands modèles de langage localement offre de la confidentialité, une capacité hors ligne et des coûts API nuls. Ce benchmark révèle exactement ce que l’on peut attendre de 14 modèles LLM sur Ollama avec une RTX 4080.
Avec un GPU de 16 Go de VRAM, j’ai dû constamment trouver un compromis : des modèles plus volumineux offrant potentiellement une meilleure qualité, ou des modèles plus petits permettant une inférence plus rapide. Pour en savoir plus sur les performances des LLM—débit par rapport à la latence, limites de VRAM, requêtes parallèles et benchmarks entre différents environnements d’exécution—consultez Performances des LLM : Benchmarks, Goulots d’étranglement et Optimisation.
Cet article se concentre sur Ollama. Pour la même classe de GPU de 16 Go mesurée avec llama.cpp pour des contextes de 19K, 32K et 64K jetons (VRAM, charge GPU, jetons par seconde pour les checkpoints denses et MoE), consultez Benchmarks de LLM avec 16 Go de VRAM utilisant llama.cpp (vitesse et contexte).
Une fois que le débit et la répartition de la VRAM semblent acceptables, les charges de travail de type agent ont toujours besoin de réglages raisonnables pour la température et les pénalités pour les stacks de type Qwen et Gemma ; consultez Paramètres d’inférence agentique pour Qwen et Gemma.

En bref
Voici un tableau comparatif mis à jour des performances des LLM sur une RTX 4080 16Go avec Ollama 0.17.7, (09/03/2026) ajout des modèles Qwen 3.5 9b, 9bq8, 27b et 35b :
| Modèle | RAM+VRAM Utilisée | Répartition CPU/GPU | Jetons/secondes |
|---|---|---|---|
| gpt-oss:20b | 14 Go | 100 % GPU | 139,93 |
| qwen3.5:9b | 9,3 Go | 100 % GPU | 90,89 |
| ministral-3:14b | 13 Go | 100 % GPU | 70,13 |
| qwen3:14b | 12 Go | 100 % GPU | 61,85 |
| qwen3.5:9b-q8_0 | 13 Go | 100 % GPU | 61,22 |
| qwen3-coder:30b | 20 Go | 25 %/75 % CPU/GPU | 57,17 |
| qwen3-vl:30b-a3b | 22 Go | 30 %/70 % CPU/GPU | 50,99 |
| glm-4.7-flash | 21 Go | 27 %/73 % CPU/GPU | 33,86 |
| nemotron-3-nano:30b | 25 Go | 38 %/62 % CPU/GPU | 32,77 |
| qwen3.5:35b | 27 Go | 43 %/57 % CPU/GPU | 20,66 |
| devstral-small-2:24b | 19 Go | 18 %/82 % CPU/GPU | 18,67 |
| mistral-small3.2:24b | 19 Go | 18 %/82 % CPU/GPU | 18,51 |
| gpt-oss:120b | 66 Go | 78 %/22 % CPU/GPU | 12,64 |
| qwen3.5:27b | 24 Go | 43 %/57 % CPU/GPU | 6,48 |
Point clé : Les modèles qui tiennent entièrement dans la VRAM sont nettement plus rapides. GPT-OSS 20B atteint 139,93 jetons/s, tandis que GPT-OSS 120B, avec un déchargement CPU important, rampe à 12,64 jetons/s — une différence de vitesse de 11 fois.
Matériel de test
Le benchmark a été effectué sur le système suivant :
- GPU : NVIDIA RTX 4080 avec 16 Go de VRAM
- CPU : Intel Core i7-14700 (8 cœurs P + 12 cœurs E)
- RAM : 64 Go DDR5-6000
Cela représente une configuration grand public haut de gamme courante pour l’inférence locale des LLM. Les 16 Go de VRAM sont la contrainte critique — ils déterminent quels modèles tournent entièrement sur le GPU par rapport à ceux qui nécessitent un déchargement CPU.
Comprendre comment Ollama utilise les cœurs CPU Intel devient important lorsque les modèles dépassent la capacité de la VRAM, car les performances du CPU influencent directement la vitesse d’inférence des couches déchargées.
Objectif de ce benchmark
L’objectif principal était de mesurer la vitesse d’inférence dans des conditions réalistes. J’avais déjà constaté par expérience que Mistral Small 3.2 24B excelle en termes de qualité linguistique, tandis que Qwen3 14B offre un suivi des instructions supérieur pour mes cas d’utilisation spécifiques.
Ce benchmark répond à la question pratique suivante : À quelle vitesse chaque modèle peut-il générer du texte, et quelle est la pénalité de vitesse en cas de dépassement des limites de VRAM ?
Les paramètres de test étaient les suivants :
- Taille de contexte : 19 000 jetons. C’est une valeur moyenne dans mes requêtes Generate.
- Invite (Prompt) : « compare weather and climate between capital cities of australia »
- Métrique : taux d’évaluation (jetons par seconde pendant la génération)
Installation et version d’Ollama
Tous les tests ont utilisé la version 0.15.2 d’Ollama, la dernière version disponible au moment des tests. Plus tard, j’ai réexécuté les tests sur Ollama v 0.17.7 - pour ajouter les modèles Qwen3.5. Pour une référence complète des commandes Ollama utilisées dans ce benchmark, consultez le Aide-mémoire Ollama.
Pour résumer rapidement - installer Ollama sur Linux :
curl -fsSL https://ollama.com/install.sh | sh
Vérifier l’installation :
ollama --version
Si vous devez stocker les modèles sur un disque différent en raison de contraintes d’espace, consultez comment déplacer les modèles Ollama vers un autre disque.
Modèles testés
Les modèles suivants ont fait l’objet de benchmarks, dans l’ordre alphabétique :
| Modèle | Paramètres | Quantification | Notes |
|---|---|---|---|
| devstral-small-2:24b | 24B | Q4_K_M | Axé sur le code |
| glm-4.7-flash | 30B | Q4_K_M | Modèle de réflexion |
| gpt-oss:20b | 20B | Q4_K_M | Le plus rapide globalement |
| gpt-oss:120b | 120B | Q4_K_M | Le plus grand testé |
| ministral-3:14b | 14B | Q4_K_M | Modèle efficace de Mistral |
| mistral-small3.2:24b | 24B | Q4_K_M | Qualité linguistique solide |
| nemotron-3-nano:30b | 30B | Q4_K_M | L’offre de NVIDIA |
| qwen3:14b | 14B | Q4_K_M | Meilleur suivi des instructions |
| qwen3.5:9b | 9B | Q4_K_M | Rapide, entièrement sur GPU |
| qwen3.5:9b-q8_0 | 9B | Q8_0 | Qualité supérieure, entièrement sur GPU |
| qwen3.5:27b | 27B | Q4_K_M | Excellence qualité, lent sur Ollama |
| qwen3-vl:30b-a3b | 30B | Q4_K_M | Capacités visuelles |
| qwen3-coder:30b | 30B | Q4_K_M | Axé sur le code |
| qwen3.5:35b | 35B | Q4_K_M | Bonnes capacités de codage |
Pour télécharger un modèle :
ollama pull gpt-oss:20b
ollama pull qwen3:14b
Comprendre le déchargement CPU
Lorsque les besoins mémoire d’un modèle dépassent la VRAM disponible, Ollama distribue automatiquement les couches du modèle entre le GPU et la RAM système. La sortie affiche cela sous forme de pourcentage comme « 18 %/82 % CPU/GPU ».
Cela a des implications majeures sur les performances. Chaque génération de jeton nécessite un transfert de données entre la mémoire CPU et la mémoire GPU — un goulot d’étranglement qui se renforce avec chaque couche déchargée vers le CPU.
Le schéma est clair à partir de nos résultats :
- Modèles 100 % GPU : 61-140 jetons/s
- Modèles 70-82 % GPU : 19-51 jetons/s
- 22 % GPU (majoritairement CPU) : 12,6 jetons/s
Cela explique pourquoi un modèle de 20B paramètres peut surperformer un modèle de 120B de 11 fois en pratique. Si vous prévoyez de servir plusieurs requêtes simultanées, comprendre comment Ollama gère les requêtes parallèles devient essentiel pour la planification de la capacité. La répartition du déchargement CPU ci-dessus est en réalité un problème de budget de KV-cache et de poids déguisé — KV Cache sur GPU 16 Go détaille les mathématiques exactes et les réglages OLLAMA_KV_CACHE_TYPE qui vous permettent de récupérer de la place sans passer à un modèle plus petit.
Résultats détaillés du benchmark
Modèles fonctionnant à 100 % sur GPU
GPT-OSS 20B — Le champion de la vitesse
ollama run gpt-oss:20b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
gpt-oss:20b 14 GB 100% GPU 19000
eval count: 2856 token(s)
eval duration: 20.410517947s
eval rate: 139.93 tokens/s
À 139,93 jetons/s, GPT-OSS 20B est le grand gagnant pour les applications critiques en termes de vitesse. Il n’utilise que 14 Go de VRAM, laissant de la marge pour des fenêtres de contexte plus grandes ou d’autres charges de travail GPU.
Qwen3 14B — Excellent équilibre
ollama run qwen3:14b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
qwen3:14b 12 GB 100% GPU 19000
eval count: 3094 token(s)
eval duration: 50.020594575s
eval rate: 61.85 tokens/s
Qwen3 14B offre, selon mon expérience, le meilleur suivi des instructions, avec une empreinte mémoire confortable de 12 Go. À 61,85 jetons/s, il est suffisamment réactif pour un usage interactif.
Pour les développeurs intégrant Qwen3 dans des applications, consultez Sortie structurée de LLM avec Ollama et Qwen3 pour extraire des réponses JSON structurées.
Ministral 3 14B — Rapide et compact
ollama run ministral-3:14b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
ministral-3:14b 13 GB 100% GPU 19000
eval count: 1481 token(s)
eval duration: 21.11734277s
eval rate: 70.13 tokens/s
Le modèle plus petit de Mistral délivre 70,13 jetons/s tout en tenant entièrement dans la VRAM. Un choix solide lorsque vous avez besoin de la qualité de la famille Mistral à la vitesse maximale.
qwen3.5:9b - rapide et nouveau
ollama run qwen3.5:9b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:9b 6488c96fa5fa 9.3 GB 100% GPU 19000
eval count: 3802 token(s)
eval duration: 41.830174597s
eval rate: 90.89 tokens/s
qwen3.5:9b-q8_0 - quantification q8
Cette quantification réduit les performances de qwen3.5:9b de 30 % par rapport à q4.
ollama run qwen3.5:9b-q8_0 --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:9b-q8_0 441ec31e4d2a 13 GB 100% GPU 19000
eval count: 3526 token(s)
eval duration: 57.595540159s
eval rate: 61.22 tokens/s
Modèles nécessitant un déchargement CPU
qwen3-coder:30b - le plus rapide de l’ensemble des LLM 30b en raison de son caractère textuel uniquement
ollama run qwen3-coder:30b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3-coder:30b 06c1097efce0 20 GB 25%/75% CPU/GPU 19000
22%/605%
eval count: 559 token(s)
eval duration: 9.77768875s
eval rate: 57.17 tokens/s
Qwen3-VL 30B — Meilleure performance avec déchargement partiel
ollama run qwen3-vl:30b-a3b-instruct --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
qwen3-vl:30b-a3b-instruct 22 GB 30%/70% CPU/GPU 19000
eval count: 1450 token(s)
eval duration: 28.439319709s
eval rate: 50.99 tokens/s
Malgré 30 % des couches sur le CPU, Qwen3-VL maintient 50,99 jetons/s — plus rapide que certains modèles 100 % GPU. La capacité visuelle ajoute de la polyvalence pour les tâches multimodales.
Mistral Small 3.2 24B — Compromis Qualité contre Vitesse
ollama run mistral-small3.2:24b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
mistral-small3.2:24b 19 GB 18%/82% CPU/GPU 19000
eval count: 831 token(s)
eval duration: 44.899859038s
eval rate: 18.51 tokens/s
Mistral Small 3.2 offre une qualité linguistique supérieure mais paie une pénalité de vitesse élevée. À 18,51 jetons/s, il se sent nettement plus lent pour une discussion interactive. Cela vaut le coup pour les tâches où la qualité compte plus que la latence.
GLM 4.7 Flash — Modèle de réflexion MoE
ollama run glm-4.7-flash --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
glm-4.7-flash 21 GB 27%/73% CPU/GPU 19000
eval count: 2446 token(s)
eval duration: 1m12.239164004s
eval rate: 33.86 tokens/s
GLM 4.7 Flash est un modèle Mixture of Experts (MoE) de 30B-A3B — 30B paramètres au total avec seulement 3B actifs par jeton. En tant que modèle de « réflexion », il génère un raisonnement interne avant les réponses. Les 33,86 jetons/s incluent à la fois les jetons de réflexion et de sortie. Malgré le déchargement CPU, l’architecture MoE le maintient raisonnablement rapide.
qwen3.5:35b - Nouveau modèle avec de bonnes performances auto-hébergées
ollama run qwen3.5:35b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:35b 4af949f8bdf0 27 GB 43%/57% CPU/GPU 19000
eval count: 3418 token(s)
eval duration: 2m45.458926548s
eval rate: 20.66 tokens/s
GPT-OSS 120B — Le poids lourd
ollama run gpt-oss:120b --verbose
/set parameter num_ctx 19000
NAME SIZE PROCESSOR CONTEXT
gpt-oss:120b 66 GB 78%/22% CPU/GPU 19000
eval count: 5008 token(s)
eval duration: 6m36.168233066s
eval rate: 12.64 tokens/s
Faire tourner un modèle de 120B sur 16 Go de VRAM est techniquement possible mais douloureux. Avec 78 % sur le CPU, les 12,64 jetons/s rendent l’usage interactif frustrant. Mieux adapté au traitement par lots où la latence n’a pas d’importance.
qwen3.5:27b - Intelligent mais lent sur Ollama
ollama run qwen3.5:27b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia
NAME ID SIZE PROCESSOR CONTEXT
qwen3.5:27b 193ec05b1e80 24 GB 43%/57% CPU/GPU 19000
eval count: 3370 token(s)
eval duration: 8m40.087510281s
eval rate: 6.48 tokens/s
J’ai testé qwen3.5:27b et j’ai eu une opinion extrêmement positive sur les performances de ce modèle avec OpenCode. Il est très capable, instruit, avec un excellent appel d’outils, bien qu’il soit lent sur ma machine sur Ollama. J’ai essayé d’autres plateformes d’auto-hébergement de LLM et j’ai obtenu des vitesses beaucoup plus élevées. Je crois que c’est le moment de laisser Ollama de côté. J’en écrirai un peu plus tard.
Recommandations pratiques
Pour la discussion interactive
Utilisez des modèles qui tiennent à 100 % dans la VRAM :
- GPT-OSS 20B — Vitesse maximale (139,93 j/s)
- Ministral 3 14B — Bonne vitesse avec la qualité Mistral (70,13 j/s)
- Qwen3 14B — Meilleur suivi des instructions (61,85 j/s)
Pour une meilleure expérience de discussion, envisagez des Interfaces de discussion open source pour Ollama local.
Pour le traitement par lots
Ceci est encore, sur mon équipement - 14 Go de VRAM.
Lorsque la vitesse est moins critique :
- Mistral Small 3.2 24B — Qualité linguistique supérieure
- Qwen3-VL 30B — Capacité Vision + texte
Lorsque la vitesse n’est pas du tout critique :
- Qwen3.5:35b - Bonnes capacités de codage
- Qwen3.5:27b - Excellent, mais lent sur Ollama. J’ai eu un assez grand succès en auto-hébergeant ce modèle sur llama.cpp.
Pour le développement et le codage
Si vous créez des applications avec Ollama :
Options d’hébergement alternatives
Si les limites d’Ollama vous inquiètent (voir Préoccupations quant à la dégradation d’Ollama), explorez d’autres options dans le Guide d’hébergement de LLM local ou comparez Docker Model Runner contre Ollama.
Conclusion
Avec 16 Go de VRAM, vous pouvez faire tourner des LLM capables à des vitesses impressionnantes — si vous faites un choix judicieux. Les principales conclusions :
-
Restez dans les limites de la VRAM pour un usage interactif. Un modèle de 20B à 140 jetons/s bat un modèle de 120B à 12 jetons/s pour la plupart des usages pratiques.
-
GPT-OSS 20B remporte sur la vitesse pure, mais Qwen3 14B offre le meilleur équilibre entre vitesse et capacité pour les tâches de suivi des instructions.
-
Le déchargement CPU fonctionne mais attendez-vous à des ralentissements de 3 à 10 fois. Acceptable pour le traitement par lots, frustrant pour la discussion.
-
La taille du contexte compte. Le contexte de 19K utilisé ici augmente considérablement l’utilisation de la VRAM. Réduisez le contexte pour une meilleure utilisation du GPU.
Pour une recherche alimentée par l’IA combinant LLM locaux et résultats web, consultez Auto-hébergement de Perplexica avec Ollama.
Pour explorer davantage de benchmarks, les compromis entre VRAM et débit, et l’optimisation des performances entre Ollama et d’autres environnements d’exécution, consultez notre hub Performances des LLM : Benchmarks, Goulots d’étranglement et Optimisation.
Liens utiles
Ressources internes
- Aide-mémoire Ollama : Les commandes Ollama les plus utiles
- Comment Ollama gère les requêtes parallèles
- Comment Ollama utilise les cœurs Performance et Efficient du CPU Intel
- Hébergement de LLM local : Guide complet 2026 - Ollama, vLLM, LocalAI, Jan, LM Studio & Plus