Ce qui se passe
slotstream fait tourner Qwen3.8-Flash-Next — un mélange d'experts de 125 milliards de paramètres, 103,8 Go de poids sur disque en 4 bits — sur un Mac incapable de le contenir en mémoire. C'est un binaire Swift unique, sans Python, qui parle les API d'Ollama et d'OpenAI : les outils existants fonctionnent sans modification.
Le principe tient à la structure du modèle. Dans un mélange d'experts, seule une fraction des poids sert à chaque token. slotstream ne charge au démarrage qu'un tronc de 3,8 Go — environ 2 secondes — puis maintient en mémoire les experts les plus utiles et va chercher les autres sur le SSD.
Ce que chaque machine obtient
| Mémoire de la machine | slotstream prend | Décodage à chaud |
|---|---|---|
| 8 Go | 8,1 Go (plancher) | ~3 tok/s, avec avertissement de swap |
| 16 Go | 10 Go | ~4 tok/s |
| 24 Go | 16 Go | ~8 tok/s |
| 32 Go | 22 Go | ~9 tok/s |
| 48 Go et plus | 33 Go | ~12 tok/s |
L'auteur est explicite sur le statut de ces chiffres : seule la ligne 48 Go est
mesurée sur du matériel réel, les autres sont extrapolées de la courbe, et les
Mac plus petits ont aussi des SSD plus lents. Le tableau se reproduit avec
slotstream doctor --sim-ram N.
Installer et servir
curl -fsSL https://raw.githubusercontent.com/carloslfu/slotstream/main/install.sh | sh
slotstream doctor # plan de la machine, avant tout téléchargement
slotstream pull # 103,8 Go sur 24 fichiers, vérifiés en SHA-256
slotstream serve # port 11434, sous-ensemble Ollama et OpenAILes artefacts sont construits en CI avec attestation de provenance, vérifiable par
gh attestation verify slotstream-arm64.tar.gz --repo carloslfu/slotstream.
Le téléchargement ouvre huit connexions TCP : 16 minutes depuis un lien datacenter
à 1 Gbit/s, environ 2 h 20 à 100 Mbit/s, 9 h à 25 Mbit/s. Une interruption reprend
où elle s'est arrêtée.
Les limites, annoncées
Le disque mord avant la mémoire : il faut ~110 Go libres, donc un Mac de 512 Go au minimum, quelle que soit la RAM.
Surtout, l'axe lent est le prompt. Tout le contexte est traité avant le premier
token : 8 000 tokens font attendre environ une minute sur un Mac de 48 Go, plus
de trois sur un 16 Go. Le total prompt + complétion est plafonné à 32 768 tokens
(--max-context). Dans une conversation, on ne paie ce prix qu'une fois : les tours
suivants ne préremplissent que le nouveau — 6,0 s au huitième tour au lieu de 25,8 s.
Ce qui n'est pas supporté — outils, images, sortie JSON schématisée, logprobs — renvoie un 400 explicite plutôt que d'être ignoré en silence.
À retenir
- Lancer
slotstream doctoravant de télécharger : il refuse si le disque ne suit pas. - Le compromis est un décodage correct contre un temps au premier token élevé : c'est un moteur pour les longues réponses, pas pour l'interactif nerveux.
- Le cache de préfixe n'est pas bit-à-bit identique à un recalcul ;
--no-prefix-cachesi vous avez besoin de reproductibilité exacte.
Source : slotstream