2026 Faire tourner DeepSeek V4 Flash en local sur Mac avec ds4 (DwarfStar 4) :
moteur antirez, niveaux de quantification q2/q4 et tableau de benchmarks Mac 96/128/256/512 Go

Les développeurs, chercheurs et équipes attentives à la confidentialité qui veulent exécuter DeepSeek V4 Flash sur Apple Silicon se posent toutes les mêmes questions : qu'est-ce exactement que ds4, écrit en une semaine par antirez ; combien de mémoire les niveaux q2 et q4 exigent-ils vraiment ; quels jetons par seconde obtient-on entre un MacBook Pro 128 Go et un Mac Studio 512 Go ; et à partir de quand la location à la journée bat-elle l'achat d'une machine entièrement configurée ?

ds4 DwarfStar 4 exécutant DeepSeek V4 Flash en local sur un Mac, visuel abstrait de circuits

En mai 2026, le créateur de Redis Salvatore « antirez » Sanfilippo publie une petite engine en C qui ne fait qu'une chose : ds4 (DwarfStar 4) est un backend d'inférence natif dédié exclusivement à DeepSeek V4 Flash. Ce n'est ni un runner GGUF générique, ni un wrapper autour de llama.cpp ou Ollama, ni un framework. Son backend Metal vise les Mac à partir de 96 Go, tandis que le chemin CUDA cible le DGX Spark de NVIDIA. Combiné à un cache KV persistant sur SSD et à une API compatible OpenAI embarquée, ds4 devient le premier projet qui rend l'inférence locale d'un modèle frontière vraiment utilisable en production sur un Mac grand public. Cet article s'adresse à trois publics : les développeurs indépendants qui veulent faire tourner DeepSeek V4 Flash sur Apple Silicon, les utilisateurs avancés qui veulent rediriger Cursor ou opencode vers un backend local, ainsi que les petits studios et équipes sensibles à la confidentialité qui préfèrent louer à la journée plutôt que d'investir un budget à six chiffres. Vous y trouverez la philosophie d'ingénierie, le décompte exact des poids q2 / q4 / MTP, un tableau de benchmarks 96/128/256/512 Go, un mode d'emploi en cinq étapes, et le seuil où la location bat l'achat.

01. Ce qu'est vraiment ds4 : l'engine V4 Flash d'antirez, 11k stars en une semaine

ds4 signifie DwarfStar 4, écrit par l'auteur de Redis, Sentinel et Cluster. En quelques jours, le dépôt franchit la barre des 11 000 stars GitHub, et la raison est simple : c'est aujourd'hui la seule engine qui amène DeepSeek V4 Flash sur la ligne pragmatique « ça tourne vraiment sur un Mac 128 Go ».

Le projet résout une réalité gênante. DeepSeek V4 Flash est une architecture MoE d'environ 284 milliards de paramètres, 165 Go de poids F16. llama.cpp et Ollama peinent encore à supporter le modèle correctement ; antirez a réécrit un exécuteur de graphe Metal / CUDA en C pur, et l'a appairé avec son propre GGUF asymétrique 2/8 bits. L'expérience « premier token » se réduit dès lors à deux commandes : make puis ./ds4 -p.

02. ds4 vs llama.cpp / Ollama : le pari « étroit et profond »

llama.cpp et Ollama sont des engines larges : un runtime, cent familles de modèles. ds4 fait le pari opposé et concentre tout son effort sur une seule famille. Trois différences concrètes en découlent.

  • Pas de taxe d'abstraction. Chargement du modèle, rendu de prompt, état KV et appels d'outils sont écrits directement pour V4 Flash. Aucune surcharge pour « laisser une interface au prochain modèle ».
  • Alignement officiel des logits. antirez compare numériquement la sortie de ds4 aux logits de l'implémentation officielle de DeepSeek. La quantification ne dérive donc pas vers du ressenti.
  • Tout dans un seul dépôt. CLI (ds4), serveur OpenAI-compatible (ds4-server), agent de codage intégré, outils GGUF et imatrix : aucun code-colle à écrire.

Dans le README, antirez résume sa doctrine : les nouveaux modèles sortent plus vite qu'aucun runtime générique ne peut suivre, donc ds4 vise un modèle à la fois et le pousse à un niveau crédible sur une machine personnelle haut de gamme. L'utilité pour le développeur est évidente : plus besoin de lire 200 issues pour empêcher V4 Flash de planter sur un Mac.

03. Le décompte des trois niveaux : q2 (80,8 GiB) / q4 (153,3 GiB) / MTP (3,6 GiB)

Le dépôt antirez/deepseek-v4-gguf sur Hugging Face livre exactement trois fichiers, un par palier mémoire :

Niveau quant Taille Stratégie RAM Mac cible Usage typique
q2 (IQ2_XXS + Q2_K) 80,8 GiB Experts de routage en 2 bits, attention / experts partagés en Q8_0 96 / 128 Go MacBook Pro M4/M5 Max en entrée
q4 (Q4_K Experts) 153,3 GiB Tous les experts en Q4_K, HC / Compressor / Indexer en F16 256 / 512 Go Mac Studio Ultra en inférence principale
MTP (speculative) 3,6 GiB Modèle auxiliaire multi-token prediction Option additionnelle À combiner à q2 ou q4 pour accélérer la génération

Trois chiffres à retenir. D'abord, les 80,8 GiB de poids q2 plus un cache KV plein de 26 Go entrent tout juste dans un Mac 128 Go : il faut quitter Chrome et Xcode avant de lancer. Ensuite, q4 pèse 153,3 GiB, ce qui ne laisse que quelques dizaines de Go pour le contexte sur un Mac 256 Go. Enfin, MTP est une option de 3,6 GiB à charger en plus de q2 ou q4 ; elle accélère sensiblement la génération via le décodage spéculatif.

04. Benchmark mémoire Mac : ce que livrent réellement 96, 128, 256 et 512 Go

Les chiffres ci-dessous proviennent du README ds4 et de runs communautaires, exprimés en tokens par seconde (prefill / generate) :

Matériel Quant Contexte Prefill t/s Generate t/s
MacBook Pro M5 Max 128Go q2 court 463,0 34,0
Mac Studio M3 Ultra 512Go q2 court 384,43 36,86
Mac Studio M3 Ultra 512Go q2 11 709 tokens 250,11 27,39
Mac Studio M3 Ultra 512Go q4 court 78,95 35,50
Mac Studio M3 Ultra 512Go q4 12 018 tokens 448,82 26,62
DGX Spark GB10 128Go (référence) q2 7 047 tokens 343,81 13,75

Trois enseignements. Un MacBook Pro 128 Go M5 Max atteint déjà 463 t/s en prefill q2 sur prompt court — un score remarquable pour un portable. Un Mac Studio 512 Go en q4 avec un prompt de 12k tokens grimpe à 448,82 t/s de prefill, la meilleure expérience V4 Flash qu'on puisse acheter aujourd'hui dans une seule machine. Et le DGX Spark GB10 ne génère qu'à 13,75 t/s, loin derrière les 36,86 t/s du M3 Ultra — illustration directe de l'avantage structurel de la mémoire unifiée d'Apple Silicon pour l'inférence MoE.

05. Cinq étapes pour faire tourner ds4 sur un Mac Studio M3 Ultra

Le chemin le plus court entre une installation macOS propre et le premier token généré dure environ 30 à 45 minutes ; le téléchargement du modèle domine la durée totale.

  1. Cloner et compiler. git clone https://github.com/antirez/ds4 && cd ds4 && make. macOS choisit Metal par défaut ; aucune chaîne CUDA requise.
  2. Télécharger les poids. Sur 128 Go, ./download_model.sh q2 ; à partir de 256 Go, ./download_model.sh q4 ; en option ./download_model.sh mtp pour le décodage spéculatif.
  3. Test de fumée. ./ds4 -p "Explain Redis streams in one paragraph." valide loader, tokenizer et backend Metal en un seul appel.
  4. Démarrer le serveur OpenAI-compatible. ./ds4-server --ctx 100000 --kv-disk-dir /tmp/ds4-kv --kv-disk-space-mb 8192 écoute par défaut sur 127.0.0.1:8080.
  5. Enregistrer la baseline. Un prompt d'ingénierie réel de 12k tokens fournit les t/s prefill / generate et le pic mémoire GPU comme référence pour les optimisations à suivre.
# 1. Cloner + compiler (Metal) $ git clone https://github.com/antirez/ds4 && cd ds4 && make # 2. Télécharger les poids (Mac 128 Go : q2) $ ./download_model.sh q2 # 3. Lancer le serveur OpenAI-compatible avec KV persistant $ ./ds4-server --ctx 100000 --kv-disk-dir /tmp/ds4-kv --kv-disk-space-mb 8192 # 4. Vérification $ curl -s http://127.0.0.1:8080/v1/models | jq .

06. Cache KV sur disque et zone sûre de la fenêtre 1M

La décision de conception la plus sous-estimée de ds4 est la persistance du cache KV sur SSD. Sur un Mac équipé d'un SSD NVMe rapide, les sessions n'ont plus besoin d'un prefill complet ; un contexte de 100k tokens se rétablit en quelques secondes après un redémarrage du serveur. Trois bornes à respecter :

  • Un contexte 1M complet consomme environ 26 Go de mémoire GPU, dont 22 Go rien que pour l'indexer compressé. Sur un Mac 128 Go déjà chargé avec 81 Go de poids q2, forcer 1M provoque presque toujours un OOM.
  • Sur 128 Go, commencez avec --ctx 100000–300000. La communauté rapporte des contextes de 250k sur 96 Go, mais seulement après avoir fermé Chrome, Xcode et autres processus gourmands.
  • --kv-disk-space-mb doit valoir au moins 8192 ; 16384 ou plus pour les longues sessions ou les usages multi-utilisateurs.
Conseil pratique : sur un MacBook Pro 128 Go, démarrez à --ctx 100000, surveillez la mémoire GPU et la mémoire câblée dans le Moniteur d'activité, puis montez progressivement vers 200k. Si la mémoire câblée frôle la limite physique, repli immédiat — sinon le système gèle.

07. Brancher ds4-server à Cursor et opencode comme backend OpenAI

ds4-server implémente /v1/chat/completions, /v1/models et OpenAI Function Calling. Vu de l'extérieur, c'est un endpoint OpenAI-compatible classique : Cursor, opencode et Continue s'y connectent sans changement de code.

  1. Dans les réglages Cursor, créez un nouveau provider de modèle personnalisé avec baseURL = http://127.0.0.1:8080/v1 et un apiKey non vide quelconque.
  2. Choisissez deepseek-v4-flash comme nom de modèle (l'id renvoyé par /v1/models).
  3. Pour l'accès distant, placez le Mac Studio sur un mesh Tailscale et pointez baseURL sur l'IP du mesh. Ne jamais exposer le port 8080 sur Internet.
  4. Les appels d'outils — édition de fichiers, exécution de commandes, lecture de diff git — passent par Function Calling ; l'agent de codage embarqué dans ds4 a déjà validé le chemin de bout en bout.
  5. En cas de souci, loguez les requêtes ds4-server dans un fichier et comparez-les aux payloads Cursor : les divergences de schéma d'outils sautent aux yeux.

08. Achat d'un Mac haut de gamme vs location à la journée : le seuil

Quand on veut V4 Flash en configuration ultime sans débourser six chiffres tout de suite, l'instinct premier est l'achat. La grille de prix n'est pas tendre :

  • MacBook Pro M5 Max 128 Go : environ 4 500 EUR ; fait tourner q2 et constitue le ticket d'entrée.
  • Mac Studio M4 Ultra 256 Go : environ 9 000 EUR ; q4 avec un contexte modéré.
  • Mac Studio M3 Ultra 512 Go au top : environ 16 000 EUR ; la seule configuration qui exécute confortablement q4 en long contexte.

La location à la journée d'un Mac Studio M3 Ultra 512 Go se situe dans la fourchette de quelques dizaines d'euros par jour. Trois règles pratiques :

  • Seuil à environ 200 jours d'usage par an. En dessous, la location l'emporte et vous évite le risque de dépréciation.
  • Le partage en équipe accentue les économies. Cinq ingénieurs sur un même Studio loué divisent encore les coûts effectifs par cinq.
  • Le risque de renouvellement matériel est réel. À la sortie de M5 Ultra ou M6 Max, la valeur d'occasion d'un Studio haut de gamme chute de 20 à 30 % en une nuit. La location absorbe ce risque pour vous.

09. Deux vrais pièges sous macOS : panic CPU et mur thermique

antirez signale deux pièges dans le README, tous deux gagnés à la dure :

  • Le backend CPU déclenche des kernel panics. Un bug actuel de la VM macOS se manifeste sur le chemin CPU de ds4 et fait redémarrer la machine. Conclusion claire : sur macOS, toujours utiliser Metal ; ne jamais lancer make cpu. Le chemin CPU n'est réservé qu'aux vérifications de correction sous Linux.
  • Le mur thermique et électrique attaque vite. Un MacBook Pro en inférence continue dépasse 90 °C, ventilateurs à fond. Préférez l'alimentation secteur, surélevez le châssis et envisagez un pad refroidisseur. Un Mac Studio, avec ses couloirs d'air dédiés, tient bien mieux la longueur qu'un portable.

Détail facile à oublier : ne laissez pas Time Machine sauvegarder pendant que l'inférence tourne. Le conflit d'I/O étrangle le débit du cache KV et divise par deux la vitesse de génération en quelques secondes.

10. Inférence locale vs API commerciale : vie privée, RGPD, contrôle

La vraie raison de rapatrier V4 Flash en local n'est presque jamais le prix ; c'est de garder les données sur la machine. Comparée à une API hébergée, vous gagnez :

  • Confidentialité. Zéro egress. Code interne, journaux utilisateurs, données médicales ou financières ne quittent pas la machine.
  • RGPD et conformité. Localisation des poids et résidence des données sont satisfaites nativement ; les politiques internes de conformité s'écrivent en deux lignes.
  • Contrôle. Les fournisseurs hébergés modifient à leur guise les quotas, les poids et les protocoles. Un snapshot ds4 + V4 Flash épinglé reste reproductible et auditable.
  • Coûts prévisibles. Les API facturent au token ; les agents à long contexte créent des pics de facture. L'inférence locale, c'est de l'amortissement, du loyer et de l'électricité — des grandeurs budgetisables par une équipe finance.

11. Planning de location 1 à 3 jours : du build ds4 à l'intégration Cursor

Voici un plan sur trois jours, prêt à copier pour une petite équipe qui souhaite tester ds4 avant tout achat :

  1. Jour 0, soir. Soumettez un ticket de location chez macdate.com pour un Mac Studio M3 Ultra 512 Go avec une fenêtre 1–3 jours. Préparez votre fork ds4, vos clés SSH et vos identifiants Tailscale.
  2. Jour 1, matin. SSH, brew install git, clone ds4, build Metal avec make, puis ./download_model.sh q4 (153 GiB ; 1,5 à 3 heures sur 1 Gbit/s).
  3. Jour 1, après-midi. ds4 -p pour le test de fumée, puis ds4-server --ctx 200000 --kv-disk-dir ~/kv --kv-disk-space-mb 16384. Faites passer un workload réel de 12k tokens et enregistrez la baseline.
  4. Jour 2. Rejoignez le mesh via Tailscale, pointez Cursor et opencode sur l'IP du mesh, et passez une demi-journée à coder pour comparer t/s et latence ressentie.
  5. Jour 3, matin. Activez MTP en décodage spéculatif et comparez les gains de génération ; sondez la limite 1M en partant de --ctx 400000.
  6. Jour 3, après-midi. Exportez le CSV des benchmarks, supprimez /tmp/ds4-kv, nettoyez clés SSH et nœud Tailscale, puis relâchez l'instance. Facturation au nombre de jours réellement utilisés.

Trois chiffres à citer. Le téléchargement q4 pèse environ 153 GiB, soit 30 à 40 minutes sur 1 Gbit/s. Une seule location de 1 à 3 jours suffit à boucler la décision « tester puis trancher ». Le point de bascule location / achat se situe vers 200 jours actifs par an. Voir aussi le guide complet de la location Mac à la journée et la feuille de coûts Mac mini M4 location vs achat.

12. Limites honnêtes et meilleure alternative

Faire tourner ds4 + DeepSeek V4 Flash en local revient à accepter le consensus selon lequel un Mac haut de gamme est en 2026 la meilleure plateforme grand public pour l'inférence MoE frontière. Trois limites restent inévitables :

  • Sol matériel élevé. q2 exige déjà 96–128 Go de mémoire unifiée, q4 demande 256 Go, PRO veut 512 Go. Aucune de ces configurations n'est standard chez Apple.
  • Pollution de la machine principale. 80 GiB de poids, plus de 100 Go de KV persistant et de longues sessions sous tension prennent leur dîme sur votre éditeur, votre Xcode et vos visioconférences quand cela tourne sur la même machine.
  • Risque d'amortissement. M5 Ultra et M6 Max arrivent. La courbe de revente sur trois ans d'un Studio top niveau est largement plus défavorable que 1 095 jours de location.

La combinaison la plus propre consiste à exécuter ds4 + DeepSeek V4 Flash sur un Mac Studio M3 Ultra 512 Go physique en location à la journée. Vous obtenez l'expérience complète q4 + long contexte, une bande passante dédiée, un trousseau isolé et un répertoire KV propre. À l'extinction, le problème de dépréciation n'est plus le vôtre. Cursor et opencode rejoignent la machine via Tailscale, vous codez en local et inférez dans le cloud, et votre poste principal reste propre. Choisissez ds4 + V4 Flash pour le modèle et laissez macdate.com fournir le matériel Mac physique qui rend l'exploitation ennuyeusement fiable.

Lectures complémentaires