Gros plan sur des barrettes mémoire — choix de configuration mémoire unifiée pour Ollama et MLX sur M4 Mac Mini

Sur un M4 Mac Mini en inférence locale, le débat le plus fréquent n'est pas « Ollama ou MLX », mais est-ce que 16 Go suffisent. Quelqu'un installe qwen2.5:14b, trouve que « ça tourne », puis au troisième tour de dialogue le swap s'enclenche : tok/s de 11 à 3. Un autre passe à 24 Go et voit le 7B monter vers 50 tok/s — se tromper de palier mémoire est plus fatal qu'un mauvais choix de framework.

Au Macstripe Lab, trois Mac Mini M4 (16 Go / 24 Go / 32 Go) ont été testés en parallèle avec Ollama 0.6.2 et MLX : tableau décision mémoire × usage × framework, point de rupture swap et checklist en sept étapes. Prix et tarifs Apple US au 2026-07-21. Pour le choix de modèle, voir le benchmark 7B vs 14B ; pour la couche framework, Ollama vs MLX.

1. Conclusion d'abord : palier mémoire × usage × combinaison recommandée

Mémoire unifiéeUsage typiqueModèle recommandéRuntimetok/s mesurés (médiane)Risque
16 Go Chat perso, scripts légers, essai local qwen2.5:7b / llama3.1:8b Ollama 7B ~29 · 8B ~28,8 14B → swap facile ; Chrome + IDE simultanés = saturation
24 Go Claude Code Agent, dev multi-fichiers qwen2.5-coder:14b Ollama 14B ~15,1 · 7B ~51,1 Palier idéal ; decode 14B plus lent que 7B — normal
32 Go Grand ctx + Xcode sur la même machine, nœud léger d'équipe 14B + num_ctx 32K Ollama serve 14B ~16–18 Coût > 24 Go ; ROI perso à calculer
48 Go+ Inférence partagée, exploration 32B qwen2.5:32b (Q4) Cluster ollama serve 32B ~8–12 Voir le guide de déploiement M4
Réponse rapide : fixez d'abord le palier mémoire, puis le modèle, enfin Ollama / MLX. Scénario Agent → Ollama ; MLX pour benchmarks offline et validation de modèles, pas pour le runtime quotidien. Ne forcez pas le 14B sur 16 Go ; 24 Go est le minimum stable pour le 14B.

2. Trois pièges : pourquoi la mémoire compte plus que le framework

Au Lab, trois situations reviennent sans cesse — « j'ai bien choisi », mais la RAM ne suit pas :

Type de piègeSymptôme typiqueChiffres mesurésBonne pratique
Se fier aux classements tok/s « Le 14B fait 15 tok/s en ligne », chez vous : 3 14B sur 16 Go : 11,2 → 8,4 → 3,4 tok/s (trois tours décroissants) Croiser Swapins ; les benchmarks sont souvent sur 24 Go propres
Ignorer l'arrière-plan « Je ne lance qu'Ollama », mais 30 onglets Chrome + index Xcode 8B propre 28,8 tok/s → avec Chrome 20,8 (hors médiane) Fermer les onglets avant mesure ; ou budgéter 4–6 Go pour OS + IDE
Confondre framework et mémoire Croire que MLX « natif » libère assez de RAM pour le 14B sur 16 Go Même modèle Ollama vs MLX : écart mémoire <5 % Quelques points de pourcentage côté framework ; un palier RAM = un ordre de grandeur

Retour typique d'un dev indépendant : « 16 Go, Claude Code + qwen2.5-coder:14b — les deux premiers tours OK, au troisième TTFT de 1,9 s à 5,8 s » — ce n'est pas le modèle qui « s'égare », c'est la mémoire unifiée qui entre en zone swap. Fondements dans Mémoire unifiée et inférence LLM.

3. Forme : limites de 16 Go / 24 Go / 32 Go

Le M4 Mac Mini (modèle de base) propose trois paliers de mémoire unifiée, GPU 10 cœurs, bande passante ~ 120 Go/s. Le nombre de Go ne change pas le plafond L2, mais détermine si modèle + KV + apps au premier plan tiennent sans effondrement de pression L3.

3.1 Formule de budget mémoire (estimation)

Poste7B Q414B Q4Remarque
Poids quantifiés~4,5 Go~9 GoOllama Q4_K_M par défaut
Cache KV (num_ctx=2048)~0,5 Go~1 GoCroît linéairement avec ctx
macOS + premier plan4–6 Go4–6 GoChrome/IDE : 1–3 Go chacun
Daemon Ollama~0,3 Go~0,3 GoService HTTP permanent
Total (approx.)~10 Go~15 Go14B sur 16 Go : quasi plus de marge

3.2 Trois paliers : OK / limite / déconseillé

Mémoire7B/8B14B32BNotes
16 Go✅ Stable⚠️ Swap fréquentPremier palier usage léger perso
24 Go✅ Très rapide✅ Zone idéale⚠️ SerréPalier recommandé Agent / dev
32 Go✅ Grand ctx⚠️ Q4 testableCI + LLM sur la même machine

Si votre scénario principal est « Claude Code local + 14B », 24 Go est le meilleur rapport qualité-prix — ce n'est pas « +8 Go = +8 tok/s » linéaire, mais repousser le déclenchement du swap pour sortir le 14B de la zone d'effondrement. Méthodologie complète dans le Hub benchmarks LLM locaux.

4. Configuration : empreinte mémoire Ollama vs MLX mesurée

Beaucoup pensent que MLX, « plus natif », consomme moins — les mesures disent le contraire. Même modèle, même quantification : poids et KV quasi identiques ; la différence est l'architecture runtime, pas le nombre de Go.

ComparaisonOllamaMLXÉcart mesuré
Poids modèle (Llama 3.1 8B Q4)~4,9 Go~4,8 GoNégligeable
Processus permanent~200–400 Mo (daemon)Chargement à la demande, pas de daemonOllama un peu plus gourmand
tok/s (16 Go propre, 8B)médiane ~28,8~28–32MLX +0–12 % (offline)
tok/s (24 Go propre, 8B)médiane ~51,2~52–55Écart réduit
Intégration Claude Code✅ Natif :11434❌ HTTP à construireAgent → Ollama
Après déclenchement swap11,2 → 3,4 tok/sMême effondrement à palier égalLe palier RAM décide de tout
Conseil config : Agent / Claude Code quotidien → Ollama + modèle selon la RAM. Benchmarks Python, régression CI, scripts recherche → MLX. Ne passez pas à MLX sur 16 Go pour « économiser » du 14B — ça ne tient pas.

Besoin de faire tourner le 14B à distance sans upgrader la machine locale ? Essayez une semaine sur un nœud cloud Macstripe 24 Go, validez le workflow Agent, puis décidez achat ou palier supérieur.

5. Données mesurées : tok/s, TTFT et point de rupture swap

Environnement : Mac Mini M4 (Mac14,3), macOS 15.4.1, Ollama 0.6.2, Q4_K_M par défaut. Machines m4-16gb-lab-01, m4-24gb-lab-02. Période 2026-05-28 au 2026-07-18.

5.1 16 Go : 7B stable vs 14B en effondrement

Modèlerun 1run 2run 3médianeSwapins
qwen2.5:7b28,731,426,929,10
qwen2.5:14b11,28,43,4— (session interrompue)8421+

Le 14B sur 16 Go n'est pas « un peu lent » — c'est un effondrement en trois phases : run 1 acceptable → run 2 swap → run 3 memorystatus: WARN → runner tué OOM.

5.2 24 Go : le 14B entre dans la zone idéale

Modèletok/s cinq runsmédianeTTFTSwapins
qwen2.5:7b49,2 / 53,8 / 51,1 / 48,6 / 52,451,1~2,0 s0
qwen2.5:14b14,2 / 16,8 / 15,1 / 17,3 / 14,915,1~2,7 s0

5.3 Extrait de log brut

--- m4-16gb-lab-01 · qwen2.5:14b ---
run 1: tok/s=11.2  TTFT=2.71s
run 2: tok/s=8.4   Swapins: 1204
run 3: tok/s=3.4   memorystatus: WARN  TTFT=5.81s
run 4: ERROR runner killed (oom?)  Swapins: 8421

--- m4-24gb-lab-02 · qwen2.5:14b ---
tok/s: 14.2  16.8  15.1  17.3  14.9  median: 15.1

Log complet : resources/sample-benchmark-7b-14b-run.log ; script de reproduction : resources/benchmark-m4-mac-mini-ollama.sh.

6. Canal : montée en palier sur site vs location Mac cloud

VoiePour quiAvantagesInconvénients
Achat sur site (16→24 Go) Agent local plusieurs fois/semaine, usage offline long terme Investissement unique, données restent sur la machine Surcoût Apple au configurateur ; machine liée au bureau
Location cloud jour/mois Essai 14B, pics de charge, nœud d'équipe Activation en minutes ; 24 Go/48 Go à la demande Réseau requis ; ROI long terme à calculer
Hybride : 16 Go local + 24 Go cloud 7B au quotidien en local, grosses tâches dans le cloud Coût flexible, pics sans swap Deux environnements à maintenir

Un dev iOS + IA en hybride : 16 Go local pour 7B (complétion), Claude Code lourd en SSH sur un nœud Macstripe 24 Go pour le 14B — ~$103/mois, plus prévisible que le surcoût d'upgrade matériel 24 Go. Comparatif location dans Mac mini M4 : comparatif tarifs location 2026.

7. Écart de palier : combien coûte la montée en mémoire

MontéeSurcoût Apple US (env.)Écart location cloud/mois (env.)Quand ça vaut le coup
16 Go → 24 Go+$200 (à l'achat)+~$30–50/mois3+ fois/semaine où le 7B « ne corrige pas »
24 Go → 32 Go+$200Selon fournisseurXcode CI + 14B sur la même machine
16 Go → 48 Go (M4 Pro)Changer de modèleNœud Macstripe 48 GoPartage d'équipe / exploration 32B

ROI grossier : si la qualité 7B vous coûte 2 h/semaine de rework (à $50/h), ~$400/mois — au-delà du surcoût Apple de +$200 pour 16→24 Go. Monter en RAM est souvent l'upgrade le moins cher et le plus efficace, bien plus qu'un changement de framework ou de réglages.

8. Checklist et mise en œuvre en sept étapes

Avant commande ou installation, alignez les attentes :

  • ☐ Usage principal : chat (7B suffit) ou Agent dev (plutôt 14B)
  • ☐ Chrome 20+ onglets + IDE en parallèle ?
  • ☐ Besoin de Claude Code / Cursor branché sur un modèle local ?
  • ☐ Runtime : Ollama (Agent) ou MLX (benchmarks uniquement) ?
  • ☐ Machine locale permanente ou pics de charge dans le cloud ?
  • ☐ Budget couvrant 16 Go / 24 Go / 32 Go — lequel ?
  • ☐ Besoin de partage d'équipe (→ 24 Go+ ou nœud cloud)
  • ☐ Acceptation du risque swap (16 Go + 14B = risque élevé)

Sept étapes (chemin Ollama)

  1. Confirmer palier RAM et modèle cible (16 Go→7B ; 24 Go→14B)
  2. Installer Ollama : brew install ollama ou pkg officiel
  3. Tirer le modèle : ollama pull qwen2.5-coder:7b (16 Go) ou :14b (24 Go)
  4. Vérifier Metal : logs ollama serve contiennent ggml_metal_init
  5. Lancer le benchmark : ./resources/benchmark-m4-mac-mini-ollama.sh
  6. Surveiller la mémoire : vm_stat + indicateur de pression (Moniteur d'activité)
  7. Brancher l'Agent : Claude Code → http://127.0.0.1:11434

9. Tableau des prix de départ citables (au 2026-07-21)

ConfigurationPrix Apple US (USD)Prix éducation (env.)Location cloud Macstripe (USD/mois)
M4 Mac Mini 16 Go / 256 Go$599~$539~$102,9
M4 Mac Mini 24 Go / 256 Go$799~$719~$130–150 (selon nœud)
M4 Mac Mini 32 Go / 256 Go$999~$899Sur devis / personnalisé
M4 Pro 48 Go (nœud inférence)$1 299+Selon configVoir page tarifs

Prix Apple : informations publiques du site US ; tarif éducation sous conditions ; location cloud selon la page tarifs Macstripe en direct.

10. Synthèse par scénario : qui devrait choisir quel palier

ProfilRAM recommandéeModèle + frameworkAlternative
Étudiant / curieux16 Go7B + OllamaLocation à la journée pour tester le 14B
Dev indépendant + Agent24 Go14B + Ollama16 Go local + 24 Go cloud hybride
Dev iOS + LLM local32 Go14B + Xcode sur la même machineSéparer CI et inférence sur deux machines
Petite équipe, nœud inférence48 GoCluster ollama serveNœud Macstripe 48 Go

Pas sûr que 24 Go suffise ? Louez un Mac cloud une semaine avec votre vrai workflow Agent — plus fiable que dix articles de benchmark. Macstripe : SSH/VNC direct, ~5 minutes d'activation, sans engagement long — puis décidez achat sur site ou location durable.

FAQ

M4 Mac Mini pour LLM local : 16 Go ou 24 Go ?

7B/8B + IDE léger au quotidien : 16 Go. Pour un 14B stable, Claude Code Agent ou navigateur multi-onglets : 24 Go. Forcer le 14B sur 16 Go : tok/s mesurés de 11,2 à 3,4.

Ollama ou MLX : lequel consomme le plus de mémoire ?

Même modèle, même quantification : écart habituellement <5 %. Le goulot est le palier de mémoire unifiée, pas le framework. Scénario Agent → Ollama.

32 Go vaut-il le surcoût par rapport à 24 Go ?

Pour un 14B perso + ctx standard, 24 Go suffit souvent. 32 Go pour Xcode CI + LLM sur la même machine, ou num_ctx plus grand.

Comment savoir si la mémoire ne suffit plus ?

Indicateur de pression mémoire, vm_stat Swapins en hausse, tok/s en chute. memorystatus WARN précède le swap.

Peut-on louer un Mac cloud pour LLM local sans acheter la machine ?

Oui. Macstripe propose des nœuds M4 dédiés 16 Go/24 Go/48 Go ; installez Ollama après SSH — idéal pour essayer le 14B ou un nœud d'équipe.

Conclusion

Pour des LLM locaux sur M4 Mac Mini, le palier mémoire est un critère éliminatoire : 16 Go pour 7B + Ollama en usage perso ; 24 Go est la zone idéale pour Agent 14B ; 32 Go pour CI + grand contexte sur la même machine. L'écart mémoire Ollama/MLX est négligeable — le framework suit le scénario (Agent → Ollama, benchmark → MLX).

Si vous forcez encore le 14B sur 16 Go, lisez d'abord le benchmark 7B vs 14B sur les données swap, ou essayez un Mac cloud 24 Go une semaine avec votre workflow réel.

Lecture associée