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 ·

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

FormatMoteurs
GGUFllama.cpp, Ollama
SafeTensorsvLLM, HuggingFace
MLXApple Silicon
AWQ / GPTQvLLM, TensorRT
EXL2 / EXL3ExLlamaV2

Nomenclature GGUF (K-quants)

QuantPrécisionNote
Q2_K~2,5 bpwTrès dégradé
Q3_K_S/M/L~3 bpwÉconomique
Q4_K_M~4,5 bpwRecommandé
Q5_K_M~5,5 bpwQualité
Q6_K~6,5 bpwHaute fidélité
Q8_0~8 bpwQuasi 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èleTaille
7B @ Q4_K_M~4,5 Go
13B @ Q4_K_M~8 Go
Qwen3.6-27B @ Q4_K_XL~18 Go
Qwen3.6-35B-A3B @ Q5_K_XL~26 Go
70B @ Q4_K_M~42 Go
KV cacheEffet
Qwen3.6-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

UsageTempTop-PTop-K
Code / factuel0.10.9540
Chat général0.70.940
Créatif0.90.95100
Roleplay1.00.950

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.6-27B-Instruct-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 pousse 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