Le meilleur LLM local pour coder — choisir par la VRAM d'abord
Paliers 8/12/16/24 Go : Qwen2.5 Coder 7B à 8 Go, 14B en Q4 à 12–16 Go, Qwen3 Coder 30B A3B à 24 Go — la marge KV et le quant d'abord, la taille ensuite, chaque commande tourne telle quelle.
■ space · voie prose
24 GB → Qwen3 Coder 30B A3B; 12–16 GB → Qwen2.5 Coder 14B at Q4; 8 GB → 7B at Q4.
Descendez d'un cran de quant avant de descendre de taille de modèle — et laissez 1–2 Go de VRAM pour le cache KV.
En local, la boucle d'édition gagne (refactors, boilerplate, tests) ; les modèles hébergés de frontière gagnent encore le raisonnement multi-fichiers long.
LA BANDE DES PALIERS
Lisez votre VRAM — nvidia-smi --query-gpu=memory.total --format=csv,noheader — puis placez-vous sur votre barreau :
deux règles font marcher la bande : 1–2 Go de marge pour le cache KV · quantiser avant de rapetisser
| VRAM | Modèle | Quant | Poids sur disque | Pourquoi il gagne ce palier |
|---|---|---|---|---|
| 8 GB | Qwen2.5 Coder 7B Instruct | Q4_K_M | ~4.7 GB | Meilleur ratio tokens-par-seconde/qualité pour l'autocomplétion et les petits refactors |
| 12 GB | Qwen2.5 Coder 14B Instruct | Q4_K_M | ~9.0 GB | Les éditions de fichiers entiers tiennent dans le contexte ; toujours 30+ tok/s sur une carte de classe 3060 |
| 16 GB | Qwen3 14B or gpt-oss-20b | Q4_K_M | ~9–12 GB | Meilleur raisonnement sur des specs ambiguës ; les cartes de classe 4090 le gardent rapide |
| 24 GB | Qwen3 Coder 30B A3B | Q4_K_M | ~18.6 GB | MoE : seulement ~3B de paramètres actifs par token, donc la vitesse reste utilisable |
Deux règles rendent cette table praticable : laisser 1–2 Go de marge de VRAM pour le cache KV — un 14B en Q4 plus un contexte de 8K tokens ne rentrent pas dans un budget de 10 Go, car le contexte compte dans le total. Et descendre d'un quant avant de descendre d'une taille de modèle — les quants Q5/Q4 coûtent quelques pourcents de qualité ; passer d'un 14B à un 7B coûte bien plus que ça.
DE COMBIEN DE VRAM AVEZ-VOUS BESOIN ?
The honest rule of thumb: La règle honnête du pouce : Un contexte 8K fait environ 1 Go — donc un 14B en Q4 (~9 Go) plus 8K tokens ne rentrent pas dans 10 Go. En chiffres clairs : 8 GB8 Go12 Go est le point doux pour un 14B en Q4 avec un contexte de code réaliste de 8K–16K. 16 Go ouvre les modèles denses de classe 20B et Qwen3 14B avec un contexte plus long. 24 GB fait tourner le Qwen3 Coder 30B A3B MoE en Q4 — la chose la plus proche d'un modèle de codage de qualité cloud que vous puissiez héberger vous-même. CPU seul ? Ça marche — llama.cpp fera tourner un 7B Q4 sur un CPU de portable à 5–10 tok/s — mais traitez ça comme un exercice de patience, pas un daily driver.
QWEN3 CODER CONTRE DEEPSEEK
Le duel que les bars d'autocomplétion posent vraiment, et la réponse se coupe net :
- Qwen3 Coder (30B A3B) est taillé pour la boucle d'édition : il suit les conventions de format d'instructions pour l'appel d'outils, produit des diffs cohérents et — la partie décisive — le design MoE n'active que ~3B de paramètres par token, donc une seule carte 24 Go tient 40–60 tok/s. Pour un usage à la IDE, la réactivité est la qualité.
- DeepSeek V3/R1 lineLa ligne DeepSeek V3/R1 raisonne à un étage supérieur : décisions d'architecture, algorithmes vicieux, raisonnement multi-étapes. Mais le navire fait 600B+ de paramètres ; en local vous n'avez que
Choix local : Qwen3 Coder comme quotidien, DeepSeek seulement si vous avez le matériel pour l'héberger presque à pleine précision. À 8–16 Go le débat est sans objet — les modèles Qwen2.5/3 Coder sont le plus fort qui rentre.
CINQ COMMANDES POUR ÊTRE OPÉRATIONNEL
# 1. install Ollama (Linux)
curl -fsSL https://ollama.com/install.sh | sh
# 2. pull the model that fits your VRAM bracket (8 GB card shown)
ollama pull qwen2.5-coder:7b
# 3. chat with it interactively
ollama run qwen2.5-coder:7b
# 4. use it as an OpenAI-compatible API from any tool
curl http://localhost:11434/v1/chat/completions \\
-d '{
"model": "qwen2.5-coder:7b",
"messages": [{"role": "user", "content": "Refactor this fn to be async: add(a,b){return a+b}"}]
}'
# 5. point tools that expect OPENAI_BASE_URL at it
export OPENAI_BASE_URL=http://localhost:11434/v1
vérifiez : curl -s $OPENAI_BASE_URL/models → "qwen2.5-coder:7b" dans la liste
Là où le local gagne, précisément : la boucle d'édition — refactors, boilerplate, squelettes de tests, « rends cette fonction async » — là où la latence est le produit et le diff petit. Là où il perd : le raisonnement long multi-fichiers sur une architecture inconnue, où les modèles hébergés de frontière gagnent encore leurs tokens. Faites tourner les deux contre le même endpoint et utilisez chacun là où il gagne.
fin des paliers · rien de récupéré · tout est local