Méthodologie mémoire et bande passante LLM selon l’architecture
VRAMLab modélise la mémoire d’inférence des LLM à partir des dimensions tensorielles fondamentales plutôt que de multiplicateurs heuristiques fixes, avec une exécution 100 % côté client sur des ressources statiques.
1. Quantification des poids et bits effectifs par poids (bpw)
Les formats quantifiés stockent des facteurs d’échelle et des points zéro par bloc aux côtés des poids entiers compressés. Un checkpoint GGUF Q4_K_M 4 bits occupe en moyenne 4.85 bits effectifs par paramètre (et non 4.00), tandis que Q8_0 atteint 8.50 bpw. Pour les architectures Mixture-of-Experts, l’ensemble des experts routés et partagés reste résident en mémoire afin d’éviter la pagination hôte à chaque token.
| Précision / Format | bpw effectifs | 32B Weights | 70B Weights | vLLM / Ollama / GGUF |
|---|---|---|---|---|
| FP16 / BF16 (16-bit Native) | 16.00 bpw | 61.09 Go | 131.50 Go | native · fp16 · F16 / BF16 |
| FP8 E4M3 (Hopper / Ada / Blackwell) | 8.50 bpw | 32.46 Go | 69.86 Go | fp8 · fp8 · FP8_E4M3 |
| INT8 SmoothQuant / bitsandbytes | 8.50 bpw | 32.46 Go | 69.86 Go | bitsandbytes · q8_0 · INT8 |
| GGUF Q8_0 (8.50 bpw) | 8.50 bpw | 32.46 Go | 69.86 Go | gguf · q8_0 · Q8_0 |
| GGUF Q6_K (6.56 bpw) | 6.56 bpw | 25.05 Go | 53.92 Go | gguf · q6_K · Q6_K |
| GGUF Q5_K_M (5.69 bpw) | 5.69 bpw | 21.73 Go | 46.77 Go | gguf · q5_K_M · Q5_K_M |
| GGUF Q4_K_M (4.85 bpw — Recommended) | 4.85 bpw | 18.52 Go | 39.86 Go | gguf · q4_K_M · Q4_K_M |
| AWQ / GPTQ INT4 (4.50 bpw) | 4.50 bpw | 17.18 Go | 36.99 Go | awq · q4_K_M · AWQ_4BIT |
| GGUF IQ4_XS (4.25 bpw Importance Matrix) | 4.25 bpw | 16.23 Go | 34.93 Go | gguf · iq4_XS · IQ4_XS |
| GGUF Q3_K_M (3.91 bpw) | 3.91 bpw | 14.93 Go | 32.14 Go | gguf · q3_K_M · Q3_K_M |
| GGUF Q2_K (3.35 bpw Extreme) | 3.35 bpw | 12.79 Go | 27.53 Go | gguf · q2_K · Q2_K |
2. Équations du cache KV selon l’attention (MHA, GQA, MLA et SWA hybride)
L’attention à requêtes groupées standard alloue 2 × L × H_kv × d_head × S × B × bytes_kv sur l’ensemble des couches. L’attention latente multi-têtes de DeepSeek (MLA) compresse clés et valeurs en L × (d_kv_lora + d_qk_rope) × S × B × bytes_kv, réduisant de plus de 90 % l’empreinte mémoire sur long contexte. Les modèles hybrides à fenêtre glissante plafonnent les couches locales à min(S, window_size) tout en faisant croître linéairement les couches globales avec S.
- Attention multi-têtes (MHA) / Attention à requêtes groupées (GQA)
- 2 × L × H_kv × d_head × S × B × bytes_kv
- Attention latente multi-têtes (MLA)
- L × (kv_lora_rank + qk_rope_dim) × S × B × bytes_kv
- Fenêtre glissante hybride (SWA)
- (L_global × S + L_local × min(S, W)) × 2 × H_kv × d_head × B × bytes_kv
- Mélange d’experts (MoE)
- Weights ∝ P_total · Decode tok/s ∝ BW / P_active
3. Mémoire unifiée Apple Silicon et borne supérieure de bande passante au décodage
Sur les systèmes macOS Apple Silicon, l’allocation GPU verrouillée par défaut s’arrête vers 75 % de la RAM physique unifiée sauf ajustement via sysctl iogpu.wired_limit_mb (modélisé jusqu’à un plafond sûr de 88 % préservant la stabilité du système). La vitesse de décodage autorégressif est bornée par la bande passante mémoire externe effective divisée par les octets des paramètres actifs plus les octets actifs du cache KV lus à chaque étape, vérifiée toutes les 12 heures par le pipeline automatisé de VRAMLab.
| Accélérateur / Système | Mémoire physique | Default Usable | Tuned Ceiling | Bande passante mémoire |
|---|---|---|---|---|
| NVIDIA GeForce RTX 3090 (24 GB GDDR6X) | 24 Go | 22.1 Go (92%) | 23.0 Go (96%) | 936 GB/s |
| NVIDIA GeForce RTX 4090 (24 GB GDDR6X) | 24 Go | 22.1 Go (92%) | 23.0 Go (96%) | 1,008 GB/s |
| NVIDIA GeForce RTX 5090 (32 GB GDDR7) | 32 Go | 29.4 Go (92%) | 30.7 Go (96%) | 1,792 GB/s |
| Apple Silicon M-Series Max (64 GB Unified Memory) | 64 Go | 48.0 Go (75%) | 56.3 Go (88% sysctl) | 546 GB/s |
| Apple Mac Studio M4 Max (128 GB Unified Memory) | 128 Go | 96.0 Go (75%) | 112.6 Go (88% sysctl) | 546 GB/s |
| Apple Mac Studio M2/M3 Ultra (192 GB Unified Memory) | 192 Go | 144.0 Go (75%) | 169.0 Go (88% sysctl) | 800 GB/s |
| NVIDIA A100 SXM4 (80 GB HBM2e) | 80 Go | 73.6 Go (92%) | 76.8 Go (96%) | 2,039 GB/s |
| NVIDIA H100 SXM5 (80 GB HBM3) | 80 Go | 73.6 Go (92%) | 76.8 Go (96%) | 3,350 GB/s |
4. Ateliers d’ingénierie connectés de CodeAP Studio
Associez la planification de capacité sur VRAMLab aux tarifs en direct de plus de 460 API LLM et à la modélisation des limites 429 sur DevToken, au suivi des dépréciations sur 7 écosystèmes avec LLMEOL et à la compression de tokens PDF/DOCX/HTML vers Markdown sur ToMarkdown.
Questions fréquentes
Comment DeepSeek MLA réduit-il la VRAM du cache KV par rapport au GQA standard ?
L’attention latente multi-têtes projette les clés et valeurs dans un vecteur latent partagé de faible rang (tel que kv_lora_rank = 512 plus qk_rope_head_dim = 64) au lieu de mettre en cache des tenseurs 2 × H_kv × head_dim par couche, réduisant la mémoire du cache KV sur long contexte de plus de 90 % par rapport au MHA non compressé.
Pourquoi les modèles Mixture-of-Experts (MoE) exigent-ils beaucoup de VRAM tout en décodant rapidement ?
Chaque expert routé doit rester résident en mémoire GPU ou unifiée pour éviter la saturation PCIe/SSD, de sorte que la VRAM évolue avec le total des paramètres (p. ex. 235B pour Qwen3-235B-A22B). Le débit de décodage en tok/s dépend en revanche de la bande passante mémoire sur les seuls paramètres actifs par token (22B), offrant une vitesse proche d’un modèle dense 32B une fois chargé.
Pourquoi macOS déclenche-t-il une erreur OOM sur Apple Silicon avant d’utiliser 100 % de la RAM unifiée ?
macOS réserve une partie de la mémoire unifiée au noyau et au compositeur graphique via iogpu.wired_limit_mb (~75 % de la RAM physique par défaut). Les modèles occupant entre 75 % et 88 % de la RAM nécessitent d’élever iogpu.wired_limit_mb avec sysctl avant de lancer Ollama ou llama.cpp.
D’où proviennent les dimensions d’architecture utilisées par VRAMLab ?
Notre pipeline automatisé de vérification d’architectures toutes les 12 heures valide les champs numériques des configurations Transformer à partir des publications officielles à poids ouverts et les compile en HTML statique, sans aucun appel API à l’exécution ni télémétrie utilisateur.