Aller au contenu principal

Référence

Aide-mémoire LLM : formats, quantification et commandes

La référence rapide pour l'inférence locale : formats, K-quants GGUF, calcul mémoire, paramètres de génération et flags llama.cpp, vLLM et Ollama.

Par Antoine Michéa, Fondateur & ingénieur infrastructure · · mis à jour le

L’essentiel de l’inférence LLM locale rassemblé en une page : choix du logiciel, formats, quantification, formules de mémoire, paramètres de génération et commandes clés. À garder sous la main.

Quel logiciel choisir ?

  • Apple Silicon → MLX ou LM Studio.
  • GPU NVIDIA, production multi-utilisateurs → vLLM (throughput) ou TensorRT-LLM (latence min).
  • GPU NVIDIA, dev local → Ollama ou LM Studio.
  • iGPU AMD / mémoire unifiée → llama.cpp (Vulkan).
  • CPU ou GPU limité → llama.cpp ou Ollama.
  • Qualité locale max (EXL2/EXL3) → ExLlamaV2 / TabbyAPI.

Formats et quantification

Format Moteurs
GGUF llama.cpp, Ollama
SafeTensors vLLM, HuggingFace
MLX Apple Silicon
AWQ / GPTQ vLLM, TensorRT
EXL2 / EXL3 ExLlamaV2

Nomenclature GGUF (K-quants)

Quant Précision Note
Q2_K ~2,5 bpw Très dégradé
Q3_K_S/M/L ~3 bpw Économique
Q4_K_M ~4,5 bpw Recommandé
Q5_K_M ~5,5 bpw Qualité
Q6_K ~6,5 bpw Haute fidélité
Q8_0 ~8 bpw Quasi lossless

bpw = bits per weight. S = Small, M = Medium, L = Large.

Règle qualité : ≥ Q4_K_M est acceptable, Q5_K_M/Q6_K est le meilleur compromis. Préférez un modèle plus petit bien quantifié à un gros modèle fortement compressé (un 7B Q5 bat un 13B Q2). Lors de nos tests sur Strix Halo, Q5_K_XL se situe sur le front de Pareto qualité/taille.

Calcul de la mémoire requise

RAM modèle = Params × (bpw / 8) + overhead
KV cache   = 2 × layers × d_kv × ctx × bytes
Total      = Modèle + KV cache + ~10 %
Empreinte modèle Taille
7B @ Q4_K_M ~4,5 Go
13B @ Q4_K_M ~8 Go
Qwen3.8-27B @ Q4_K_XL ~18 Go
Qwen3.6-35B-A3B @ Q5_K_XL ~26 Go
70B @ Q4_K_M ~42 Go
KV cache Effet
Qwen3.8-27B @ 32K (FP16, GQA) ~8 Go
Avec KV cache Q8 ÷2 vs FP16
Avec KV cache Q4 ÷4 vs FP16
Attention MLA (DeepSeek) ÷10 vs MHA standard

Paramètres de génération

Usage Temp Top-P Top-K
Code / factuel 0.1 0.95 40
Chat général 0.7 0.9 40
Créatif 0.9 0.95 100
Roleplay 1.0 0.95 0

Repères : Temperature 0.0 = déterministe, >1.0 = très aléatoire. Top-P 0.7-0.9 équilibré, 1.0 = désactivé. Top-K 40-100 (0 = off). Repeat penalty 1.0-1.2. Min-P 0.05-0.1. Top-P et Temperature étant multiplicatifs, ajustez l’un en gardant l’autre fixe.

Commandes essentielles

# Ollama
ollama run qwen3.6:27b        # télécharge et lance
ollama list                   # modèles installés
ollama pull model:tag         # télécharge sans lancer
ollama serve                  # serveur API

# llama.cpp — flags clés
--ngl 999                     # offload GPU (toutes couches)
-fa 1                         # Flash Attention
--no-mmap                     # OBLIGATOIRE sur mémoire unifiée (UMA)
--cache-type-k q8_0 --cache-type-v q8_0   # KV cache quantifié
--parallel 2                  # requêtes concurrentes
--n-predict 32768             # budget de tokens en sortie
--spec-draft-n-max 3          # décodage spéculatif

# HuggingFace CLI
huggingface-cli download unsloth/Qwen3.8-27B-GGUF \
    --include "*UD-Q4_K_XL*" --local-dir ./models

Optimisations clés

  • Flash Attention : mémoire O(N) au lieu de O(N²), speedup 2-4× sur GPU. Auto sous Ollama et vLLM, -fa 1 sous llama.cpp.
  • KV cache quantifié : Q8_0 → -50 % mémoire pour ~0 % de perte ; Q4_0 → -75 % avec légère perte. Sur notre RTX 3090, un KV cache fp8 poussait Qwen3.6-27B à 81k de contexte.
  • Batching : continuous batching (vLLM), tensor/pipeline parallel en multi-GPU.
  • Décodage spéculatif : 2-3× de speedup via un modèle draft.

Règle d’or

Un modèle qui tient entièrement en RAM/VRAM bat un modèle partiellement offloadé. Un 7B Q5 entièrement sur GPU sera toujours plus rapide qu’un 70B Q4 partagé entre CPU et GPU. Et sur mémoire unifiée, un MoE comme Qwen3.6-35B-A3B exploite la grande capacité tout en ne lisant que 3B de poids actifs par token.

Pour aller plus loin

← Toutes les découvertes