2026 OLLAMA
MLX_PREVIEW_
ROLLBACK_
RUNBOOK.

Poste Apple Silicon et inférence locale

Activer la couche MLX preview dans Ollama sur Apple Silicon peut accélérer le décodage, mais les modes d’échec glissent vers les contrats dtype, les saccades Metal et les trous de quantification. Ce guide classe les symptômes (pas de chargement, crash après le premier jeton, une seule quant qui tombe), propose un rollback en cinq étapes vers llama.cpp stable et une matrice pour un nœud Mac distant de contrôle afin que veille thermique et sommeil du portable ne faussent pas la preuve. Lectures croisées : benchmark MLX, comparatif stacks, SSH/VNC.

1. Décomposition des douleurs

Les canaux preview privilégient le débit à la couverture. Un portable avec Xcode, Electron et CI sous-estime les backends sensibles à la bande passante mémoire. Même nom commercial avec digest différent = autre binaire. TTFT et débit doivent être mesurés séparément (N≥24).

2. Matrice symptômes

SignalPisteÀ éviter
Erreur juste après pull OKdtype/quant ≠ build previewchanger de tag sans pin semver
Crash GPU après token 1Metal + rafales parallèlesstress GUI + API headless
Une seule quant HScouverture MLX partielle« plus petit = plus sûr »
Reprod solocache/sommeilrefuser un second hôte propre

3. Cinq étapes de rollback

Step 1 Triplet figé

Version Ollama, digest modèle, patch macOS → ticket.

Step 2 Couper preview explicitement

Flags/env officiels, diff d’une ligne.

Step 3 Chirurgie cache

Supprimer blobs suspects, journal avant/après digest.

Step 4 Sondes 1→4 flux

Refléter la concurrence IDE.

Step 5 Politique écrite

Preview lab-only ? Second backend obligatoire ?

curl -sS http://127.0.0.1:11434/api/generate -d '{ "model":"YOUR_MODEL", "prompt":"ping", "stream":true }'

4. Matrice décision

DéclencheurPrioritéSecours
Reprod sur 2e Mac même génération + digestsuivi régressionpin build stable
Spikes seulement portablethermique/alim/sommeilMac mini distant
Charge multi-clientsséparer interactif/batchmonoprocess tout-en-un

5. Note de terrain

« Ce n’était pas la RAM : preview off + deux blobs supprimés, la tempête de recompilations dtype s’est arrêtée. »

Six flux CI vers localhost : RSS plat, tokens figés visuellement. Rollback + journaux digest ont isolé des recompilations Metal intermittentes sur une voie quant étroite. Rejeu sur Mac distant au rack : courbes normalisées. La vélocité preview exige artefacts figés et hôte de contrôle thermiquement honnête.

6. Langage Ops & créatif

Traiter semver comme des majors Node et digest comme lockfile. Pour les studios créatifs, préservez la stabilité couleur/audio en isolant l’inférence lourde sur un Mac distant Apple Silicon — workflow GPU/Metal plus prévisible qu’un portable en déplacement.

Louer une capacité MACGPU permet de rejouer ce runbook à l’identique sur un second silicium Apple sans CAPEX Ultra pour toute l’équipe.

7. Garde-fous Metal/quant

A : dtype+manifest+digest ensemble. B : séparer premier shader-build et TTFT nominal. C : inventaire concurrence implicite clients. Rejeu distant tranche environnement vs code.

8. Seuils MR

N≥24 ; TTFT p95 4 flux >2.8× mono → revue d’architecture ; swap moyen 90s >768MB bloque nouveaux clients.

9. FAQ

mlx_lm.server en parallèle ? Isolez ports/budget RAM. Uniquement M5 ? Alignez patch OS + build. Logs warnings ? Montez verbose, rattachez stderr au ticket.