Meilleurs LLMs pour Ollama sur GPU avec 16 Go de VRAM

Test de vitesse de LLM sur RTX 4080 avec 16 Go de VRAM

Sommaire

Exécuter de grands modèles de langage localement vous offre une confidentialité, une capacité hors ligne et des coûts d’API nuls. Ce benchmark révèle exactement ce que l’on peut attendre de 9 modèles de langage populaires LLMs sur Ollama sur un RTX 4080.

Avec une carte graphique de 16 Go de VRAM, j’ai dû faire un compromis constant : des modèles plus grands avec potentiellement une meilleure qualité, ou des modèles plus petits avec une inférence plus rapide.

7 llamas - Comparaison des LLMs sur Ollama

TL;DR

Voici le tableau comparatif des performances des LLM sur RTX 4080 16GB avec Ollama 0.15.2 :

Modèle RAM+VRAM Utilisée Répartition CPU/GPU Tokens/seconde
gpt-oss:20b 14 Go 100% GPU 139,93
ministral-3:14b 13 Go 100% GPU 70,13
qwen3:14b 12 Go 100% GPU 61,85
qwen3-vl:30b-a3b 22 Go 30%/70% 50,99
glm-4.7-flash 21 Go 27%/73% 33,86
nemotron-3-nano:30b 25 Go 38%/62% 32,77
devstral-small-2:24b 19 Go 18%/82% 18,67
mistral-small3.2:24b 19 Go 18%/82% 18,51
gpt-oss:120b 66 Go 78%/22% 12,64

Insight clé : Les modèles qui rentrent entièrement dans la VRAM sont considérablement plus rapides. GPT-OSS 20B atteint 139,93 tokens/seconde, tandis que GPT-OSS 120B avec un déchargement important vers le CPU rampe à 12,64 tokens/seconde—une différence de vitesse de 11 fois.

Configuration Matérielle du Test

Le benchmark a été réalisé 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 haut de gamme courante pour l’inférence locale de LLM. La VRAM de 16 Go est la contrainte critique—elle détermine quels modèles s’exécutent entièrement sur le GPU par rapport à ceux nécessitant un déchargement vers le CPU.

Comprendre comment Ollama utilise les cœurs Intel CPU devient important lorsque les modèles dépassent la capacité de la VRAM, car la performance du CPU impacte 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. Je savais déjà par expérience que Mistral Small 3.2 24B excelle en qualité linguistique tandis que Qwen3 14B offre un meilleur suivi d’instructions pour mes cas d’utilisation spécifiques.

Ce benchmark répond à la question pratique : À quelle vitesse chaque modèle peut-il générer du texte, et quelle est la pénalité de vitesse pour dépasser les limites de la VRAM ?

Les paramètres du test étaient :

  • Taille du contexte : 19 000 tokens
  • Invite : “comparer le temps et le climat entre les capitales de l’Australie”
  • Métrique : taux d’évaluation (tokens par seconde pendant la génération)

Installation et Version d’Ollama

Tous les tests ont utilisé la version Ollama 0.15.2, la dernière version disponible au moment du test. Pour une référence complète des commandes Ollama utilisées dans ce benchmark, consultez le guide de triche Ollama.

Pour 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 autre disque 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 été benchmarkés :

Modèle Paramètres Quantification Notes
gpt-oss:20b 20B Q4_K_M Le plus rapide au total
gpt-oss:120b 120B Q4_K_M Le plus grand testé
qwen3:14b 14B Q4_K_M Meilleur suivi d’instructions
qwen3-vl:30b-a3b 30B Q4_K_M Capable de vision
ministral-3:14b 14B Q4_K_M Modèle efficace de Mistral
mistral-small3.2:24b 24B Q4_K_M Qualité linguistique solide
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
nemotron-3-nano:30b 30B Q4_K_M Offre de NVIDIA

Pour télécharger n’importe quel modèle :

ollama pull gpt-oss:20b
ollama pull qwen3:14b

Comprendre le Déchargement vers le CPU

Lorsque les exigences en 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. Le résultat montre cela sous forme de pourcentage comme “18%/82% CPU/GPU”.

Cela a des implications majeures sur les performances. Chaque génération de token nécessite un transfert de données entre la mémoire CPU et GPU—un goulot d’étranglement qui s’aggrave 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 tokens/seconde
  • Modèles 70-82% GPU : 19-51 tokens/seconde
  • 22% GPU (majoritairement CPU) : 12,6 tokens/seconde

Cela explique pourquoi un modèle de 20B paramètres peut surpasser 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 des capacités.

Résultats du Benchmark Détaillés

Modèles S’exécutant à 100% sur le 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 Go    100% GPU     19000

eval count:           2856 token(s)
eval duration:        20,410517947s
eval rate:            139,93 tokens/s

À 139,93 tokens/seconde, GPT-OSS 20B est le gagnant clair pour les applications critiques de vitesse. Il utilise seulement 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 Go    100% GPU     19000

eval count:           3094 token(s)
eval duration:        50,020594575s
eval rate:            61,85 tokens/s

Qwen3 14B offre le meilleur suivi d’instructions selon mon expérience, avec une empreinte mémoire confortable de 12 Go. À 61,85 tokens/seconde, 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 Go    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 offre 70,13 tokens/seconde tout en rentrant entièrement dans la VRAM. Un choix solide lorsque vous avez besoin de la qualité de la famille Mistral à la vitesse maximale.

Modèles Nécessitant un Déchargement vers le CPU

Qwen3-VL 30B — Meilleure Performance Partiellement Déchargée

ollama run qwen3-vl:30b-a3b-instruct --verbose
/set parameter num_ctx 19000

NAME                         SIZE     PROCESSOR          CONTEXT
qwen3-vl:30b-a3b-instruct    22 Go    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 tokens/seconde—plus rapide que certains modèles 100% GPU. La capacité de vision ajoute de la polyvalence pour les tâches multimodales.

Mistral Small 3.2 24B — Compromis Qualité vs Vitesse

ollama run mistral-small3.2:24b --verbose
/set parameter num_ctx 19000

NAME                    SIZE     PROCESSOR          CONTEXT
mistral-small3.2:24b    19 Go    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 un prix élevé en vitesse. À 18,51 tokens/seconde, il semble nettement plus lent pour un chat interactif. Cela vaut la peine 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 Go    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 30B-A3B—30B paramètres totaux avec seulement 3B actifs par token. En tant que modèle de “réflexion”, il génère un raisonnement interne avant les réponses. Le taux de 33,86 tokens/seconde inclut à la fois les tokens de réflexion et de sortie. Malgré le déchargement vers le CPU, l’architecture MoE le maintient raisonnablement rapide.

GPT-OSS 120B — Le Gros Calibre

ollama run gpt-oss:120b --verbose
/set parameter num_ctx 19000

NAME            SIZE     PROCESSOR          CONTEXT
gpt-oss:120b    66 Go    78%/22% CPU/GPU    19000

eval count:           5008 token(s)
eval duration:        6m36,168233066s
eval rate:            12,64 tokens/s

Exécuter un modèle de 120B sur 16 Go de VRAM est techniquement possible mais douloureux. Avec 78% sur le CPU, les 12,64 tokens/seconde rendent l’usage interactif frustrant. Mieux adapté au traitement par lots où la latence n’a pas d’importance.

Recommandations Pratiques

Pour le Chat Interactif

Utilisez des modèles qui rentrent à 100% dans la VRAM :

  1. GPT-OSS 20B — Vitesse maximale (139,93 t/s)
  2. Ministral 3 14B — Bonne vitesse avec qualité Mistral (70,13 t/s)
  3. Qwen3 14B — Meilleur suivi d’instructions (61,85 t/s)

Pour une meilleure expérience de chat, envisagez les interfaces de chat open-source pour Ollama local.

Pour le Traitement par Lots

Lorsque la vitesse est moins critique :

  • Mistral Small 3.2 24B — Qualité linguistique supérieure
  • Qwen3-VL 30B — Capacité vision + texte

Pour le Développement et la Programmation

Si vous construisez des applications avec Ollama :

Options d’Hébergement Alternatives

Si les limitations d’Ollama vous préoccupent (voir les préoccupations d’enshittification d’Ollama), explorez d’autres options dans le Guide d’hébergement local de LLM ou comparez Docker Model Runner vs Ollama.

Conclusion

Avec 16 Go de VRAM, vous pouvez exécuter des LLMs performants à des vitesses impressionnantes – si vous choisissez judicieusement. Les principales conclusions :

  1. Restez dans les limites de la VRAM pour une utilisation interactive. Un modèle de 20 milliards de paramètres à 140 tokens/seconde surpasse un modèle de 120 milliards de paramètres à 12 tokens/seconde pour la plupart des usages pratiques.

  2. GPT-OSS 20B l’emporte en vitesse pure, mais Qwen3 14B offre le meilleur équilibre entre vitesse et capacité pour les tâches de suivi d’instructions.

  3. Le déchargement sur CPU fonctionne, mais attendez-vous à des ralentissements de 3 à 10 fois. Acceptable pour le traitement par lots, frustrant pour le chat.

  4. La taille du contexte compte. Les 19 000 tokens de contexte utilisés ici augmentent 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 des LLMs locaux avec des résultats web, voir l’auto-hébergement de Perplexica avec Ollama.

Liens utiles

Ressources internes

Références externes