Exécuter Qwen3.8-Flash-Next localement avec Strata : Démarrage rapide 64 Go

125B MoE sur un seul GPU grand public — et là où 3 bits échouent

Sommaire

Qwen3.8-Flash-Next (QFN) possède 125 Md de paramètres au total, 6 Md de paramètres actifs par jeton, et une fenêtre de contexte native de 256K. La réflexion (thinking) est activée par défaut et le modèle enregistre les meilleurs résultats de référence en codage agentique de sa catégorie de modèles locaux.

Cet article décrit l’exécution d’une quantification 3 bits de QFN sur un ordinateur de bureau doté de 64 Go de RAM et d’une carte RTX 5090 à l’aide de Strata. Il documente également la raison pour laquelle les quantifications inférieures à Q4 ne produisent pas d’appels d’outils fiables pour les charges de travail agentiques.

Trois niveaux de mémoire pour un MoE de 125B : GPU, RAM verrouillée (pinned) et SSD

Les commandes d’installation, la RAM verrouillée par chaque quantification et les échecs d’appels d’outils sur un poste de 64 Go sont présentés ci-dessous. Les chiffres de vitesse et d’échecs mêlent les exécutions sur cette machine — une RTX 5090, 64 Go de RAM, Ubuntu 26.04 — aux rapports du suivi Strata et aux notes de version 0.2.11.

Les commandes et les valeurs par défaut du moteur ont été vérifiées le 06/11/2026 par rapport à Strata 0.2.11, lorsque le dépôt affichait 40 836 étoiles et que les paquets du moteur étaient à la version 0.1.57. La place de ce runtime par rapport à Ollama, llama.cpp et vLLM est traitée dans le guide d’hébergement LLM.

Qu’est-ce que Strata

Le moteur utilisé dans ce guide rapide est Niko1221/Strata, sous licence MIT. Un autre projet, le papier OSDI 2026 sur la mise en cache hiérarchique KV pour SGLang, utilise le même nom. Strata s’appuie sur llama.cpp et ggml, et le dépôt inclut une présentation disponible au docs/paper/Strata-Paper.pdf. Il exécute Qwen3.8-Flash-Next à travers un seul GPU grand public, la RAM système et un SSD. Le même moteur sert également Qwen3.6-35B et DeepSeek V4.1-Flash.

Qwen 3.8 Flash Next possède 24 576 experts routés répartis sur 48 couches ; chaque jeton active 10 experts (6 Md de paramètres actifs au total). Strata divise le modèle en trois niveaux de mémoire au lieu d’exiger qu’il tienne dans un seul et unique espace.

Niveau Contenu Fonction
GPU (VRAM) Attention, mélangeurs DeltaNet, poids résiduels avec portes, routeurs, experts partagés, tête de sortie, la couche de draft MTP, le cache KV (dès 64K : la partie la plus consultée ; le reste est streamé depuis la RAM), plus un cache d’experts Tout ce qui s’exécute par jeton ; le cache d’experts remplit la VRAM restante avec les experts les plus utilisés et s’adapte à la conversation en cours d’exécution
RAM Les 24 576 experts, verrouillés (pinned) Le CPU calcule les experts que le GPU ne possède pas, sur place, en même temps que le GPU traite les experts mis en cache (noyaux AVX-512/AVX2, ggml pour les i-quants)
SSD La table d’incorporation de n-grammes de 28,8 Go Lecture de quelques lignes par jeton via le cache de pages du système d’exploitation

Le bloc de 51 Md de paramètres n-grammes sert de table de recherche à 20 millions d’entrées indexées par bigrammes et trigrammes. Parce qu’il s’agit d’une recherche plutôt que d’une multiplication matricielle, il peut résider sur un SSD avec un coût d’exécution minimal.

La capacité en VRAM détermine l’axe de mise à l’échelle. Chaque gigaoctet supplémentaire de VRAM stocke environ 700 experts, et chaque expert mis en cache sur le GPU réduit le calcul du CPU. Une carte lente avec plus de VRAM surpasse une carte rapide avec moins.

La capacité en RAM est une contrainte rigide car tous les experts doivent être verrouillés pour un calcul simultané du CPU et du GPU. Strata ne prend pas en charge la cartographie paresseuse en mémoire (lazy memory mapping) vers le disque. La taille de téléchargement et l’utilisation de la RAM sont quasi identiques pour QFN.

Comment la vitesse de décodage est construite

Trois mécanismes alimentent le taux de décodage.

  1. Prédiction multi-jetons (Multi-token prediction). Le point de contrôle (checkpoint) inclut une couche MTP entraînée pour des brouillons multi-étapes. Strata élabore jusqu’à 3 jetons et les vérifie en un seul passage sur les 48 couches — le cycle de draft-vérification du guide du décodage spéculatif. Le projet mesure une acceptation moyenne de 2,4 à 3,2 jetons par passage, et le rapporte comme une vitesse de décodage de 1,6 à 1,8× avec la même sortie.

  2. Recherche dans le prompt (Prompt lookup). Le serveur récupère jusqu’à 5 jetons de brouillon depuis des copies antérieures du contexte lorsque le modèle le répète, comme dans une modification de code ou une citation. Le projet rapporte des modifications de code 6 à 11 % plus rapides, et d’autres textes inchangés.

  3. Préremplissage par blocs (Chunked prefill). Les prompts arrivent par blocs de jusqu’à 8 192 jetons, et les experts de la couche suivante transitent par PCIe pendant que l’attention de la couche courante s’exécute. Le projet situe l’ingestion de documents longs et de bases de code au-dessus de 1 000 jetons/s, et une suite démarre en quelques secondes car l’état de la conversation reste résident.

Le serveur fournit une interface de chat locale, en tant qu’application de bureau ou dans le terminal, ainsi que des points d’entrée compatibles OpenAI et Anthropic sur localhost. Claude Code, Codex CLI, OpenCode, Hermes Agent et OpenClaw se connectent via strata connect. Matériel listé par le projet : NVIDIA RTX 20/30/40/50 (les paquets de moteur CUDA 13 nécessitent le pilote 580 ou plus récent), AMD Radeon sur HIP, Intel Arc sur Linux, Apple Silicon et AMD Strix Halo. La version 0.2.11 est Strata-0.2.11-linux-x86_64.AppImage pour l’application de bureau ; le chemin terminal ci-dessous est celui que ce guide rapide parcourt.

Benchmarks de QFN face aux alternatives locales

La fiche modèle d’Alibaba compare Flash-Next avec Qwen3.8-27B, DeepSeek-V4-Flash (le point de contrôle 0731) et Claude Opus 4.6 (Max).

QFN Qwen3.8-27B DeepSeek-V4-Flash Claude Opus 4.6 (Max)
Paramètres totaux / actifs 125 Md / 6 Md 27 Md / 27 Md 284 Md / 13 Md –
Paramètres d’incorporation n-grammes 51 Md – – –
DeepSWE 1.1 (codage agentique) 58,7 42,2 54,4 –
SWE-bench Pro 62,5 61,7 56,0 53,4
SWE-bench Multilingue 81,0 73,8 – 77,5
Toolathlon Verified (utilisation d’outils) 73,5 67,1 70,3 –
JobBench (bureau agentique) 55,7 33,4 41,3 36,6
CoWorkBench 73,9 70,7 45,1 68,2
GPQA Diamond 91,7 89,2 90,8 91,3
LiveCodeBench v6 91,9 90,3 90,6 88,8

Les lignes de codage agentique de cette fiche ont utilisé une température de 1,0, un top_p de 0,95 et une fenêtre de 256K. DeepSWE rapporte le score le plus élevé entre les harnais Claude Code et mini-SWE-agent, et la fiche indique que le score supérieur de Flash-Next est sur mini-SWE-agent. SWE-bench Pro a réexécuté les références sur un jeu de tâches corrigé ; la case Claude Opus 4.6 est le score publié par le fabricant, et les autres cases sont Claude Code.

Deux lignes de la même fiche vont dans l’autre sens. NL2Repo-Bench est à 48,1 pour Flash-Next et à 54,2 pour DeepSeek-V4-Flash. HLE, jugé par GPT-4o, est à 35,9 contre Claude Opus 4.6 (Max) à 40,0.

Pour le travail agentique, les valeurs par défaut de la fiche sont preserve_thinking activé, afin que la trace de raisonnement reste entre les tours, et reasoning_effort à xhigh. Les autres niveaux sont medium et low. La page de la famille Qwen 4 suit ce qu’Alibaba a confirmé à propos de cette ligne, y compris la Qwen Community License 1.0 sur ces poids. Le tableau ci-dessus est la partie qui peut être mesurée aujourd’hui.

Paquets de quantification et tailles

ISTA-DASLab GSQ-RCO

Les GGUF ISTA-DASLab GSQ-RCO utilisent la quantification non uniforme. GSQ est une quantification scalaire faible bit par tenseur, et RCO attribue un type par tenseur dans un budget de taille. La méthode consacre presque toute la compression aux experts routés, qui représentent 95 % des poids recherchables. Chaque build est deux shards. Le second est la table de n-grammes à environ 4,5 bits par poids, et il peut être cartographié depuis le disque.

Build Bpw moyen Shard résident Shard n-grammes Total Notes
Q2_0 2,40 37,6 Go 28,8 Go 66,4 Go Build de vitesse : évite les formats à table de recherche ; 367 jetons prompt/s, 93,8 jetons décodés/s, 6,7 s de latence moyenne (vs 12,7 s pour IQ2_XS à une taille presque identique)
IQ2_XS 2,50 39,2 Go 28,8 Go 68,0 Go Le plus petit à qualité égale
IQ3_XXS 3,00 47,0 Go 28,8 Go 75,8 Go Le choix pour mémoire serrée ; égale le modèle de base sur AIME25, abandonne environ 1,5 point sur GPQA-Diamond
IQ3_S 3,50 54,8 Go 28,8 Go 83,6 Go Recommandation d’ISTA : égale ou dépasse le modèle de base sur chaque tâche de leur harnais (GPQA-Diamond 92,93 vs 91,92)

Ces chiffres GPQA proviennent du harnais d’ISTA, non des 91,7 de la fiche d’Alibaba. Une variante Coder conserve 256 des 512 experts routés par couche, à 58,4 Go et 1,89 bits effectifs par poids. Un projecteur vision BF16 de 0,91 Go est le module multimodal supplémentaire. La ligne ISTA s’arrête à IQ3_S ; elle n’a pas de build Q4.

Paquets Unsloth dans Strata 0.2.11

Le 04/11/2026, Unsloth a re-téléchargé ses GGUF Qwen3.8-Flash-Next en tant que Dynamic v3.1. Les notes de version 0.2.11 indiquent que Strata peut télécharger, préparer et exécuter sept d’entre eux depuis l’application, depuis strata launch --family unsloth, ou depuis un dossier que vous possédez déjà. Chaque fichier est vérifié par taille et SHA-256 par rapport à la révision Unsloth d9620119. Le dernier fichier de chaque ensemble est la table par jeton de 28,8 Go. Les ensembles qui partagent une table partagent le fichier : UD-IQ1_M avec UD-IQ2_XS, et UD-IQ3_XXS avec UD-IQ4_XS-v31.

Nom dans Strata Téléchargement Fichiers
UD-IQ1_M 68,0 Go 3
UD-Q2_0 70,6 Go 3
UD-IQ2_XS 75,8 Go 3
UD-Q2_K_XL 79,6 Go 4
UD-IQ3_XXS 83,6 Go 4
UD-Q3_K_XL 89,5 Go 4
UD-IQ4_XS-v31 93,7 Go 4

UD-IQ4_XS-v31 est un fichier différent de l’UD-IQ4_XS que Strata proposait déjà : d’autres types de tenseurs, quatre fichiers au lieu de trois. UD-Q4_K_XL, UD-Q5_K_XL, UD-Q6_K_XL et Q8_0 restent sur les fichiers du 30/09/2026. L’UD-Q4_K_XL du 04/11 est les mêmes poids dans une division en quatre fichiers, et Strata accepte cette division si vous la possédez déjà. UD-IQ1_S ne charge pas — une couche mélange deux formats d’experts — donc UD-IQ1_M est le choix 1 bit.

UD-IQ4_XS-v31 utilise le format d’experts Q5_0 dans 33 couches. Les mêmes notes indiquent que le calcul Q5_0 de Strata se situe à 1,2–1,3 % du résultat exact, contre 2,6–3,0 % pour la formule de llama.cpp sur ces tenseurs. Sur un Mac, l’application réécrit les experts dans un seul fichier GPU avant le premier démarrage, donc le budget disque est le téléchargement plus ce fichier plus quelques gigaoctets (environ 115 Go pour UD-IQ1_M).

Si la table de 28,8 Go reste mappée, le reste de UD-IQ4_XS-v31 est d’environ 64,9 Go avant le cache KV, ce qui dépasse déjà une machine de 64 Go selon la règle de verrouillage de Strata. Le reste de UD-IQ1_M est d’environ 39,2 Go. Ce fichier peut tenir là où IQ3_S ne peut pas, et c’est un pack 1 bit, plus éloigné du comportement des appels d’outils mesuré ci-dessous à 3 bits.

Guide rapide : Installation, Lancement et Configuration Initiale

Un ordinateur de bureau Linux a besoin d’une carte RTX 20/30/40/50 ou d’un autre GPU listé par le projet, de suffisamment de RAM pour le pack choisi plus une marge pour le cache KV, et d’espace SSD pour le téléchargement. Les paquets de moteur CUDA 13 nécessitent le pilote 580 ou plus récent.

Installation en terminal :

curl -fsSL https://github.com/Niko1221/Strata/releases/latest/download/install.sh -o install.sh && sh install.sh
strata launch

strata launch demande le modèle, la quantification, le contexte, le dossier de stockage et les paramètres d’accès, télécharge le moteur pour la carte, démarre le serveur et affiche un moniteur avec la vitesse, la mémoire et les données de requêtes. Le point d’entrée par défaut est http://127.0.0.1:8080.

Pour voir ce qui tient avant un téléchargement de 76 Go, ou pour démarrer sans les invites :

strata launch --family qwen --model q2_0 --plan      # essai à sec : ce qui manque, ce qui tient
strata launch --family qwen --model q2_0 --yes --no-tui   # démarrage en arrière-plan
strata launch --status
strata connect    # affiche la configuration pour Claude Code / OpenCode / Hermes / OpenClaw / ...
strata launch --stop

Ces drapeaux --family qwen --model q2_0 sont l’essai à sec utilisé pour le build ISTA Q2_0 sur Ubuntu 26.04. Les packs Unsloth utilisent --family unsloth et le nom du tableau ci-dessus. strata connect affiche un bloc de fournisseur par outil. Les deux formes d’API utilisent une URL de base compatible OpenAI (http://127.0.0.1:8080/v1) et le nom du modèle que le lancement affiche. Tout client qui accepte un point d’entrée personnalisé compatible OpenAI, y compris Cursor, utilise cette paire.

Deux paramètres à vérifier lors de la première exécution

  1. Échantillonnage (Sampling). Dans 0.2.11, une configuration de pack sans bloc sampling suit la fiche modèle. Les requêtes de réflexion obtiennent une température de 1,0, un top_p de 0,95 et un top_k de 20. Les requêtes non-réflexives obtiennent 0,7, 0,8 et 20, avec une presence_penalty de 1,5. La priorité est la requête, puis les paramètres de Chat de l’interface web, puis le bloc de configuration, puis la fiche. La température 0 s’applique uniquement lorsque la requête ou le bloc la définit, et ces exécutions gloutonnes sont celles qui sont tombées dans des boucles de répétition sur ce point de contrôle. Si une ancienne configuration de pack contient encore "sampling": {"temperature": 0}, remplacez-la par le préréglage de réflexion de la fiche.

  2. tool_call_recovery. La clé se trouve dans la configuration d’exécution du modèle (strata-*.json). Elle est activée par défaut depuis 0.2.8, et désactivée dans 0.2.7 et les versions antérieures. Les notes moteur de Strata, citant 1 462 tours d’agent, rapportent que 98,3 % des appels sont lus comme prévu avec le commutateur et 92,9 % sans. Il accepte quatre formes d’un appel dont le nom était dans la requête : une balise <parameter=NAME>, du JSON dans <tool_call>, un bloc <function=NAME> sans enveloppe <tool_call>, et un second appel dans un seul <tool_call>. Un nom non déclaré ou un JSON cassé reste du texte. Dans 0.2.7 et les versions antérieures, définissez "tool_call_recovery": true. Laissez la valeur par défaut de 0.2.11 activée pour le travail agentique.

Gardez le serveur sur localhost

Le serveur est lié à localhost par défaut, et les paramètres d’accès font partie de strata launch. Les points d’entrée exposent le modèle et la conversation sur cette machine, et ils n’ont pas été conçus pour un réseau ouvert. Lorsque une autre machine en a besoin, placez un proxy inverse authentifié devant le port.

ss -ltnp | grep :8080    # confirmer que l'auditeur est 127.0.0.1, pas 0.0.0.0
curl -s http://127.0.0.1:8080/v1/models   # le serveur répond sur localhost

Cartes avec 13 Go de VRAM ou moins

STRATA_ROUTE_PRIOR=1.5 indique au routeur de préférer les experts déjà sur la carte. Les notes de Strata pour une RTX 3060 12 Go exécutant IQ3_XXS rapportent +15 % sur le décodage de récit et +37 % sur le décodage de code par rapport au préréglage (prior) désactivé, et moins de tâches agentiques réussies : 4,5 sur 10 en moyenne sur 4 exécutions, contre 5,6 sur 7 exécutions avec le préréglage désactivé. La version 0.2.7 a activé 1,5 d’elle-même pour les cartes NVIDIA discrètes de 13 Gio ou moins. La version 0.2.8 l’a désactivé le 29/10/2026, après des répétitions et des sessions agentiques longues plus faibles (issue #4402). Avec la variable non définie, 0.2.11 route comme 0.2.6. Le projet oriente le préréglage vers le chat et les réponses courtes sur une carte de 12 Go, et s’éloigne des exécutions agentiques longues.

Banc d’essai : Un poste de 64 Go exécutant un Agent

La machine mesurée :

Composant Spécification
CPU Intel Core Ultra 7 265 (20 cœurs, DDR5-6400 double canal ≈ 102 Go/s)
GPU RTX 5090, 32 Go
RAM 64 Go
OS Ubuntu 26.04
Aussi en cours d’exécution Hôte KVM pour la VM Hermes, IDE Cursor, navigateur

Avec ISTA IQ3_XXS, le shard résident est de 47 Go. Parce que les experts sont verrouillés, environ 9 Go restent pour tout le reste. La VM Hermes — la pile agentique dans la configuration de production Hermes — plus Cursor laisse environ 5 Go, ce qui ne suffit pas pour le cache de pages ou le cache KV pour une session agentique longue.

ISTA IQ3_S ne tient pas sur cette machine comme poste quotidien. Le shard résident de 54,8 Go plus la table n-grammes mappée de 28,8 Go utilisent les 64 Go. Avec Cursor en cours d’exécution, 3 Go restent libres, et la VM Hermes n’a nulle part où aller.

Configuration Résident RAM Libre (modèle seul) RAM Libre (modèle + VM + Cursor) Décodage (mesuré) Verdict Agentique
IQ3_XXS (3,00 bpw) 47 Go ~9 Go ~5 Go – Les appels d’outils échouent régulièrement ; pas un conducteur quotidien
IQ3_S (3,50 bpw) 54,8 Go + 28,8 Go mmap ~3 Go (Cursor seul) – 100–130 jetons/s Aucune marge du tout ; inutilisable

IQ3_S a décodé à 100–130 jetons/s, la même classe de vitesse qu’un build 27B sur llama.cpp avec MTP 3 dans la comparaison Qwen 3.6 MTP. Le pack qui tient dans le budget RAM (IQ3_XXS) est celui qui manque le format d’appel d’outil. Le pack recommandé par ISTA (IQ3_S) ne laisse aucune place pour le reste du bureau.

Sur IQ3_XXS, le modèle a émis des arguments d’appel d’outil malformés, inventé des noms d’outils qui n’étaient pas dans le schéma, et réémis la même commande trois à cinq fois après un court bloc de réflexion. Le harnais traite chaque échec comme une tentative, donc la session se remplit de la même erreur. Sur ce matériel, IQ3_XXS n’est pas un modèle agentique.

Ce que rapporte la Communauté

Rapports de vitesse pour Qwen3.8-Flash-Next sur Strata, des fils de tickets et des notes 0.2.11 :

Configuration Résultat
2× RTX 4090 6 553 jetons prompt/s, 271 jetons décodés/s flux unique
RTX 5080 + 4060 Ti, 32 Go de RAM Pics de décodage à 200+ jetons/s
12 Go de VRAM + 32 Go de RAM, experts déchargés sur CPU ~65 jetons/s ; un commentaire avec un contexte de 199K et un KV q8 : 1 740 jetons prompt/s, ~21,5 jetons décodés/s
RTX 5070 12 Go + 64 Go de RAM, IQ3_S Décodage à 85–100 jetons/s
Pro 6000 + 2× 3090, 256 Go de RAM, Unsloth 6 bits, contexte 160K Décodage 70–80 → 150 jetons/s après passage de llama-server à Strata
RTX 2060 portable, 32 Go de RAM + 6 Go de VRAM Q2_0 fonctionnant du tout
RTX 3060 12 Go, UD-IQ1_M, prompts courts (notes 0.2.11) Décodage à 31–37 jetons/s, 18 % des experts sur la carte

Trois modes d’échec sont documentés pour Qwen3.8-Flash-Next faible bit dans les charges de travail agentiques.

  1. Émission d’appels d’outils déformée qui suit la taille du schéma. Le ticket #1431 rapporte que avec 39 schémas de fonctions (environ 12K jetons) et un prompt système de 6K, IQ3_XXS sur Strata 0.1.40 a produit un tour utilisable dans environ 30–50 % de 20 rejeux contrôlés ou plus. Le modèle a soit émis une forme d’appel d’outil que le parseur ne pouvait pas mapper — le texte atterri dans content avec finish_reason: stop — soit fermé le bloc de réflexion et émis la fin de séquence sans appel ni réponse. Les mêmes poids sur llama.cpp ont analysé les appels d’outils dans plus de 8 exécutions consécutives. llama.cpp contraint l’émission avec une grammaire PEG et relève le contenu déformé vers tool_calls. Un wrapper qui réparait le texte par la suite n’a pas poussé le taux de tours utiles au-dessus de cette bande de 30–50 %, car la réparation s’exécute après que les jetons sont déjà choisis.

  2. Erreurs de configuration et un chemin d’experts non déterministe. Le ticket #2685 rapporte une RTX 5070, IQ3_S et 60 Go de RAM, avec des appels d’outils échouant via Strata : arguments malformés, outils hallucinés et boucles de répétition, y compris après l’activation d’un bloc d’échantillonnage et de tool_call_recovery. La même quantification via llama serve a réussi dans 5 exécutions sur 5 du même harnais. Le rapporteur a constaté que des graines identiques divergeaient dans le chemin d’experts MMQ pendant le préremplissage, et que la désactivation de ce chemin rendait les exécutions bit-identiques. Strata 0.1.44 a expédié des corrections de déterminisme. Les rapports ultérieurs ne montrent toujours pas Strata égaler llama.cpp sur la même quantification.

  3. Appels d’outils laissés à l’intérieur du bloc de réflexion. Le ticket #804 rapporte qu’un appel d’outil complet à l’intérieur d’un bloc think non fermé revient comme reasoning_content, avec un content vide et aucun tool_calls, et la boucle de l’agent s’arrête. Un utilisateur a compté environ 1 réponse sur 100 sur environ 1 300 réponses d’agent réelles, en utilisant Hermes avec IQ3_XXS, IQ2_XS et les builds Coder.

Pourquoi le Sous-Q4 Casse les Appels d’Outils Agentiques

Un appel d’outil doit correspondre à un format de protocole. À 3 bits, ce modèle de 125 Md manque de ce format sur certains tours, et les manquements augmentent avec le contexte du schéma d’outils. Un plus grand schéma demande plus à la mémoire de travail qui forme l’appel, et le bruit de quantification atterrit sur cette formation. Les tours de chat le masquent. Les tours agentiques, qui sont pour la plupart des appels d’outils, ne le font pas.

La même compression fait plus de dégâts lorsque peu de paramètres sont actifs. La comparaison de LLM locaux pour OpenCode a mesuré un modèle dense 27B à IQ3_XXS avec un taux d’erreur d’environ 5 % sur une tâche agentique structurée. Les points de contrôle MoE à faible activation à des largeurs de bits similaires ont échoué plus durement : le 35B-A3B avait 64,2 % d’erreurs sur IQ3_S et 98,8 % sur IQ4_XS, et le 122B-A10B avait 80 % d’erreurs sur IQ3_S et 90 % sur IQ3_XXS. Qwen3.8-Flash-Next active 6 Md de paramètres par jeton, donc un pack 3 bits se comporte comme un petit modèle sur une quantification lourde. Ces exécutions OpenCode montrent IQ3 et IQ4 manquant la tâche structurée pour le 35B-A3B et le 122B-A10B ; elles n’incluent pas d’exécution Q5 de Flash-Next. Strata’s UD-IQ4_XS-v31 est téléchargeable depuis 0.2.11, n’a pas de comparaison de tâche agentique dans les sources vérifiées ici, et ne tient pas sur la machine de 64 Go.

Les mêmes poids GSQ-RCO échouent lorsqu’ils sont chargés dans llama.cpp et dans Ollama. llama.cpp contraint toujours l’émission avec une grammaire et peut relever un tronçon déformé vers tool_calls, donc le client voit un appel au lieu d’une chaîne cassée. Le mode JSON de Strata, dans les notes moteur, est un promptage de schéma plus une vérification après la génération, pas un décodage contraint par grammaire : un mauvais objet retourne une erreur HTTP 502 avec structured_output_failed. tool_call_recovery et les versions ultérieures réparent les quatre formes listées ci-dessus. Ils ne changent pas la distribution dont le modèle tire, c’est pourquoi le wrapper du ticket #1431 n’a pas pu dépasser le taux d’émission.

Strata dépense de la RAM pour garder le CPU et le GPU en synchronisation. Sur 64 Go, le plus grand pack ISTA qui laisse encore de la place pour un bureau et une VM agentique est IQ3_XXS, et ce pack est sous le seuil d’émission mesuré ici. IQ3_S décode déjà dans la même bande qu’un modèle 27B avec MTP 3, donc la limite sur ce pack est la RAM. Une exécution llama.cpp avec une cartographie paresseuse (lazy map) engagerait moins de RAM et renoncerait au taux de décodage qui rend Strata plus rapide des deux sur ce modèle.

Verdict

Qwen 3.8 Flash Next surpasse Qwen3.8-27B sur les benchmarks agentiques : DeepSWE 58,7 vs 42,2, JobBench 55,7 vs 33,4, et Toolathlon 73,5 vs 67,1. Le travail multi-étapes est nettement plus compétent. Le calcul par jeton est plus proche d’un petit modèle que d’un modèle de 125 Md.

Les quantifications sous Q4 ne fournissent pas une émission fiable d’appels d’outils pour le travail agentique, échouant à des taux qui produisent des boucles de répétition à la fois sur Strata et llama.cpp. La performance Q4 n’est pas encore prouvée par comparaison contrôlée sur des benchmarks agentiques. Les quants de classe Q5 sont le plancher démontré pour un travail agentique fiable ; l’Unsloth UD-Q5_K_XL existe mais manque de benchmarks publiés.

Un Mac Studio avec un M5 Max et 128 Go de mémoire unifiée peut contenir le build MLX de 105 Go ou un pack Q4 avec une marge suffisante pour la pile agentique. L’architecture QFN a été conçue pour ce modèle de déchargement.

Je continuerai à utiliser dans ma configuration actuelle un modèle NVFP4 27B — 17 Go sur la RTX 5090 — avec MTP 3. Il atteint 100+ jetons/s avec des appels d’outils fiables et aucune concurrence pour la RAM. Je reviendrai à QFN lorsqu’une quantification de classe Q4 sera benchmarkée sur des tâches agentiques, lorsque la récupération d’émission de Strata mûrira, ou lorsque le matériel sera mis à niveau.

Références

Liens utiles

S'abonner

Recevez de nouveaux articles sur les systèmes, l'infrastructure et l'ingénierie IA.