Benchmarks de LLM avec 16 Go de VRAM utilisant llama.cpp (vitesse et contexte)

Vitesse de génération de tokens de llama.cpp sur 16 Go de VRAM (tableaux).

Sommaire

Voici je compare la vitesse de plusieurs LLMs exécutés sur un GPU avec 16 Go de VRAM, et je choisis le meilleur pour l’auto-hébergement.

J’ai exécuté ces LLMs sur llama.cpp avec des fenêtres de contexte de 19K, 32K et 64K tokens.

Stylized GPU with VRAM blocks and benchmark-style charts

Dans cet article, je consigne mes tentatives pour extraire le maximum de performance en termes de vitesse.

Tableau de comparaison de vitesse des LLMs (tokens par seconde et VRAM)

Modèle Taille 19K VRAM 19K GPU/CPU 19K T/s 32K VRAM 32K Charge 32K T/s 64K VRAM 64K Charge 64K: T/s
Qwen3.6-35B-A3B-UD-IQ3_XXS 13.2 13.8GB 96%/100% 147.5 14.0GB 96%/101% 149.1 14.7GB 96%/101% 145.8
Qwen3.6-35B-A3B-UD-IQ4_XS 17.7 14.3GB 62%/266% 95.0 14.9GB 58%/279% 92.3 14.9GB 57%/293% 86.4
Qwen3.5-35B-A3B-UD-IQ3_S 13.6 14.3GB 93%/100% 136.4 14.6GB 93%/100% 138.5 14.9GB 88%/115% 136.8
Qwen3.5-27B-IQ3_XXS-bartowsky 11.3 12.8 98/100 44.9 13.5 98/100 44.9 14.5 45/415 23.6
Qwen3.5-27B-UD-IQ3_XXS 11.5 12.9 98/100 45.3 13.7 98/100 45.1 14.7 45/410 22.7
Qwen3.5-27B-IQ4_XS.gguf 15.0 14.6 49/406 20.5 14.7 37/465 17.4 14.7 23/533 13.3
Qwen3.5-122B-A10B-UD-IQ3_XXS 44.7 14.7 30/470 22.3 14.7 30/480 21.8 14.7 28/490 21.5
Qwen3.5-122B-A10B-UD-IQ3_S 46.5 14.7 25/516 19.4 14.7 24/516 19.5 14.7 24/516 19.6
Qwen3-Coder-Next-UD-IQ4_XS 38.4 14.6 32/460 41.1 14.7 29/440 41.3 14.8 32/460 38.3
Nemotron Super 120b IQ3_XXS 56.2 15.0 26/517 17.5 14.6 26/531 17.4 14.6 26/535 17.6
gemma-4-26B-A4B-it-UD-IQ4_XS 13.4 14.7 95/100 121.7 14.9 95/115 114.9 14.9 75/190 96.1
gemma-4-31B-it-UD-IQ3_XXS 11.8 14.8 68/287 29.2 14.8 41/480 18.4 14.8 18/634 8.1
GLM-4.7-Flash-IQ4_XS 16.3 15.0 66/240 91.8 14.9 62/262 86.1 14.9 53/313 72.5
GLM-4.7-Flash-REAP-23B IQ4_XS 12.6 13.7 92/100 122.0 14.4 95/102 123.2 14.9 71/196 97.1

19K, 32K et 64K correspondent aux tailles de contexte.

La charge ci-dessus désigne la Charge GPU. Si vous voyez un chiffre bas dans cette colonne, cela signifie que le modèle s’exécute principalement sur le CPU et ne peut pas atteindre une vitesse décente sur ce matériel. Ce schéma correspond à ce que les gens observent lorsque trop peu du modèle tient sur le GPU ou lorsque le contexte repousse le travail vers l’hôte.

À propos de llama.cpp, de la performance des LLMs, OpenCode et autres comparaisons

Si vous souhaitez connaître les chemins d’installation, les exemples llama-cli et llama-server, ainsi que les drapeaux (flags) importants pour la VRAM et les tokens par seconde (taille de contexte, regroupement, -ngl), commencez par llama.cpp Quickstart avec CLI et Server.

Pour une vue d’ensemble plus large sur la performance (débit versus latence, limites de VRAM, requêtes parallèles et comment les benchmarks s’articulent selon le matériel et les runtime), consultez LLM Performance en 2026 : Benchmarks, Goulots d’étranglement & Optimisation.

La qualité des réponses est analysée dans d’autres articles, par exemple :

J’ai également effectué des tests similaires pour les LLMs sur Ollama : Meilleurs LLMs pour Ollama sur GPU 16GB VRAM.

Pourquoi la longueur du contexte change les tokens par seconde

Lorsque vous passez de 19K à 32K ou 64K tokens, le cache KV s’agrandit et la pression sur la VRAM augmente. Certaines lignes montrent une baisse importante des tokens par seconde à 64K tandis que d’autres restent stables ; c’est le signal qu’il faut reconsidérer les quantifications, les limites de contexte ou le déchargement des couches, plutôt que de supposer que le modèle est « lent » en général.

Les modèles et quantifications que j’ai choisis de tester sont destinés à être exécutés par moi-même pour voir s’ils offrent un bon gain en termes de rapport coût/avantage sur cet équipement ou non. Donc, pas de quantifications q8 ici avec un contexte de 200k :) …

GPU/CPU est une charge, mesurée par nvitop.

Lorsque llama.cpp configure automatiquement le déchargement des couches vers le GPU, il essaie de garder 1 Go libre. Nous spécifions manuellement ce paramètre via le paramètre de ligne de commande -ngl, mais je ne l’ajuste pas finement ici ; il suffit de comprendre que s’il y a une baisse significative de performance lors de l’augmentation de la taille de la fenêtre de contexte de 32k à 64k, nous pouvons essayer d’augmenter la vitesse à 64k en ajustant finement le nombre de couches déchargées.

Matériel de test et configuration de llama.cpp

J’ai testé la vitesse des LLMs sur un PC avec cette configuration :

  • CPU i-14700
  • RAM 64GB 6000Hz (2x32GB)
  • GPU RTX-4080
  • Ubuntu avec pilotes NVidia
  • llama.cpp/llama-cli, aucune couche déchargée spécifiée
  • VRAM initiale utilisée, avant le démarrage de llama-cli : 300MB

Tests supplémentaires à 128K de contexte (Qwen3.5 27B et 122B)

Modèle 128K Charge 128K: T/s
Qwen3.5-27B-UD-IQ3_XXS 16/625 9.6
Qwen3.5-122B-A10B-UD-IQ3_XXS 27/496 19.2

Exécutés avec réglages finaux

Pour certains modèles et quantifications intéressants, j’ai essayé de trouver des paramètres de ligne de commande spécifiques à llama-cpp pour mieux exploiter la VRAM. Voici ce que j’ai pu obtenir :

Modèle Contexte Couches sur GPU Charge CPU/CPU Vitesse
Qwen3.5-27B-IQ4_XS.gguf 18k 65 98%/100% 38.0
Qwen3.5-27B-IQ4_XS.gguf 64k 53 33%/488% 15.7

Conclusions pour les builds 16 GB VRAM

  • Mon favori actuel, Qwen3.5-27B-UD-IQ3_XXS, se comporte bien sur sa zone idéale de 50k de contexte (j’obtiens environ 36t/s).
  • Qwen3.5-122B-A10B-UD-IQ3_XXS dépasse en termes de performance le Qwen3.5 27B sur les contextes supérieurs à 64K.
  • Je peux pousser Qwen3.5-35B-A3B-UD-IQ3_S pour qu’il gère un contexte de 100k tokens, et il rentre dans la VRAM, donc pas de baisse de performance.
  • Je n’utiliserai pas gemma-4-31B sur 16GB VRAM, mais gemma-4-26B pourrait être moyen-bien…, il faut tester.
  • Il faut tester à quel point Nemotron cascade 2 et GLM-4.7 Flash REAP 23B fonctionnent. Seront-ils meilleurs que Qwen3.5-35B q3 ? J’en doute, mais je vais tout de même tester pour confirmer le soupçon.

S'abonner

Recevez de nouveaux articles sur les systèmes, l'infrastructure et l'ingénierie IA.