Qwen3.8-27B Fable Cold Fusion — oQ8e · FP16 · MTP (MLX)
Family / Famille : oQ4e · oQ6e · oQ8e
🧭 Choose your quant / Choisissez votre quant
🇬🇧 This model comes in 3 sizes, one repo each. You are on the oQ8e page. Click another size to switch: 🇫🇷 Ce modèle existe en 3 tailles, un dépôt chacune. Vous êtes sur la page oQ8e. Cliquez sur une autre taille pour changer :
| Quant | Size / Taille | Best for / Idéal pour | Link / Lien |
|---|---|---|---|
| oQ4e | 18.0 GB | Fastest & smallest · default pick · fastest for code with MTP Le plus rapide et le plus léger · choix par défaut · le plus rapide en code avec MTP |
➡️ Go to oQ4e / Aller à oQ4e |
| oQ6e | 24.6 GB | Middle ground · MTP off Compromis · MTP désactivé |
➡️ Go to oQ6e / Aller à oQ6e |
| 📍 oQ8e | 30.9 GB | Max fidelity (closest to BF16) · MTP on Fidélité maximale (le plus proche du BF16) · MTP activé |
← you are here / vous êtes ici |
📚 All three on one page / Les trois sur une seule page : Collection · Not sure? Read the TL;DR below. / Vous hésitez ? Lisez le TL;DR plus bas.
🇬🇧 English text first, 🇫🇷 French version right after each block. Tables are shared. 🇫🇷 Texte anglais d'abord, version française juste après chaque bloc. Les tableaux sont communs.
🇬🇧 Three mixed-precision oQ quantizations of DavidAU/Qwen3.8-27B-TURBO-Fable-Cold-Fusion-735-882-Heretic-Uncensored-NM-DAU, built for Apple Silicon, and tuned first for the M1 / M1 Pro / M1 Max generation:
- 🧮 FP16 scales, biases and non-quantized text tensors. M1 GPUs have no hardware BF16, so the text model's non-quantized tensors are FP16 (the vision tower stays FP32). For this model FP16 is safe: perplexity and KLD stay finite over all 32,768 scored WikiText-2 positions, and no
!!!!output in our smoke tests. - ⚡ MTP head kept in every build (29 tensors, quantized), so speculative decoding works out of the box in engines that support it (e.g. oMLX Lightning MTP).
- 👁️ Vision tower kept (FP32, 333 tensors), so these remain image-text-to-text models (vision is not benchmarked in this card).
- 🎯 From 0.0132 (oQ4e) down to 0.00046 (oQ8e) mean KLD vs BF16 — both better than a plain MLX conversion at the same bit width.
🇫🇷 Trois quantifications oQ en précision mixte de DavidAU/Qwen3.8-27B-TURBO-Fable-Cold-Fusion-735-882-Heretic-Uncensored-NM-DAU, conçues pour Apple Silicon et optimisées en priorité pour la génération M1 / M1 Pro / M1 Max :
- 🧮 Échelles, biais et tenseurs texte non quantifiés en FP16. Les GPU M1 n'ont pas de BF16 matériel : les tenseurs non quantifiés du modèle texte sont donc en FP16 (la tour vision reste en FP32). Pour ce modèle, le FP16 ne pose aucun problème : perplexité et KLD restent finies sur les 32 768 positions WikiText-2 évaluées, et aucune sortie
!!!!dans nos tests rapides. - ⚡ Tête MTP conservée dans chaque build (29 tenseurs, quantifiés) : le décodage spéculatif fonctionne directement dans les moteurs qui le prennent en charge (par ex. oMLX Lightning MTP).
- 👁️ Tour vision conservée (FP32, 333 tenseurs) : ces modèles restent image-texte vers texte (la vision n'est pas évaluée dans cette fiche).
- 🎯 KLD moyen face au BF16 de 0,0132 (oQ4e) à 0,00046 (oQ8e), meilleur dans les deux cas qu'une conversion MLX classique au même nombre de bits.
🇬🇧 Coming next: BF16-scale builds for M2 → M5 chips (native BF16), and oQ builds of more model families. Stay tuned! 🚀 🇫🇷 À venir : des builds à échelles BF16 pour les puces M2 → M5 (BF16 natif), et des builds oQ d'autres familles de modèles. Restez connectés ! 🚀
TL;DR — which build should I download? / Quel build télécharger ?
| You want / Vous voulez | Pick / Choix | MTP |
|---|---|---|
| Fastest everyday chat, smallest footprint (best default for most Macs) · Le chat quotidien le plus rapide, le plus léger (choix par défaut pour la plupart des Mac) | oQ4e — 17.97 GB | On for coding (+48 %), neutral for prose · Activé pour le code (+48 %), neutre en prose |
| Maximum fidelity (closest to BF16), with MTP on to win back speed · Fidélité maximale (le plus proche du BF16), avec le MTP activé pour regagner de la vitesse | oQ8e — 30.92 GB | On (+17 % to +65 %) · Activé (+17 % à +65 %) |
| Lower KLD than oQ4e with ~6 GB less memory than oQ8e · KLD plus bas que l'oQ4e avec ~6 Go de moins que l'oQ8e | oQ6e — 24.64 GB | Off · Désactivé |
🇬🇧 Short version: on these benchmarks, the three builds are statistically tied in accuracy (see Accuracy). What changes is speed, memory and closeness to BF16. Most people should take oQ4e; take oQ8e if you have ≥ 48 GB and want the closest thing to the original; oQ6e is a middle ground that ends up slower than oQ4e and, on code, slower than oQ8e with MTP. For code, the fastest option is oQ4e with MTP on (28.1 tok/s, vs 19.0 for oQ8e with MTP).
🇫🇷 En bref : sur ces benchmarks, les trois builds sont à égalité statistique en précision (voir Accuracy). Ce qui change, c'est la vitesse, la mémoire et la proximité avec le BF16. La plupart des utilisateurs devraient prendre l'oQ4e ; prenez l'oQ8e si vous avez au moins 48 Go et voulez ce qui se rapproche le plus de l'original ; l'oQ6e est un compromis qui s'avère plus lent que l'oQ4e et, en code, plus lent que l'oQ8e avec MTP. Pour le code, l'option la plus rapide est l'oQ4e avec MTP activé (28,1 tok/s, contre 19,0 pour l'oQ8e avec MTP).
Memory guide / Guide mémoire (measured peaks on M1 Max, oMLX / pics mesurés sur M1 Max, oMLX)
| Build | Load (≈ disk size) | Peak, 1k prompt | Peak, 16k prompt | Mac RAM (our guidance / notre conseil) |
|---|---|---|---|---|
| oQ4e | 17.97 GB | 17.8 GB | 22.2 GB | 32 GB: short contexts only (not tested) · 48 GB+: comfortable |
| oQ6e | 24.64 GB | 24.4 GB | 28.8 GB | 48 GB: OK (not tested) · 64 GB: comfortable |
| oQ8e | 30.92 GB | 30.6 GB | 35.0 GB | 48 GB: borderline (default GPU limit ≈ 36 GB; not tested) · 64 GB: comfortable |
🇬🇧 Only the M1 Max 64 GB column is measured; the other RAM sizes are estimates. 🇫🇷 Seule la configuration M1 Max 64 Go est mesurée ; les autres tailles de RAM sont des estimations (32 Go : contextes courts uniquement ; 48 Go : limite pour l'oQ8e, la limite GPU par défaut étant d'environ 36 Go ; 64 Go : confortable pour les trois).
Download / Téléchargement
| Build | Repo |
|---|---|
| oQ4e | Studio-Research-M1/Qwen3.8-27B-Fable-Cold-Fusion-oQ4e-FP16-MTP-MLX |
| oQ6e | Studio-Research-M1/Qwen3.8-27B-Fable-Cold-Fusion-oQ6e-FP16-MTP-MLX |
| oQ8e (this repo / ce dépôt) | Studio-Research-M1/Qwen3.8-27B-Fable-Cold-Fusion-oQ8e-FP16-MTP-MLX |
hf download Studio-Research-M1/Qwen3.8-27B-Fable-Cold-Fusion-oQ8e-FP16-MTP-MLX --local-dir Fable-oQ8e
🇬🇧 In oMLX or LM Studio, search for the repo name; with mlx-lm: mlx_lm.load("Studio-Research-M1/Qwen3.8-27B-Fable-Cold-Fusion-oQ8e-FP16-MTP-MLX") (text only).
🇫🇷 Dans oMLX ou LM Studio, cherchez le nom du dépôt ; avec mlx-lm : mlx_lm.load("Studio-Research-M1/Qwen3.8-27B-Fable-Cold-Fusion-oQ8e-FP16-MTP-MLX") (texte uniquement).
Files at a glance / Fichiers en un coup d'œil
| oQ4e | oQ6e | oQ8e | Source BF16 | |
|---|---|---|---|---|
| Size on disk / Taille sur disque | 17.97 GB | 24.64 GB | 30.92 GB | 55.56 GB |
| Avg. bits (quantized weights) / Bits moyens (poids quantifiés) | 4.20 | 6.16 | 8.00 | 16 |
| Text + MTP + vision / Texte + MTP + vision | ✅ ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ ✅ |
Quantization recipe / Recette de quantification (oQ / oQe)
🇬🇧 All three are built with the oQ quantizer of oMLX 0.7.3.dev2 with enhanced=true (imatrix-aware rounding), affine quantization, group size 64, FP16 dtype. Only oq_level changes.
🇫🇷 Les trois builds sont produits avec le quantificateur oQ d'oMLX 0.7.3.dev2, avec enhanced=true (arrondi guidé par l'imatrix), quantification affine, groupes de 64, dtype FP16. Seul oq_level change.
oQ4e (oq_level=4) |
oQ6e (oq_level=6) |
oQ8e (oq_level=8) |
|
|---|---|---|---|
| Bit allocation / Répartition des bits | 417 of 498 backbone modules at 4 bits; 80 promoted to 5 bits (mostly GatedDeltaNet out_proj, in_proj_a, in_proj_b, and the embeddings), 1 to 6 bits (lm_head) |
470 of 505 modules (backbone + MTP) at 6 bits; 35 promoted to 8 bits | All modules at 8 bits |
| imatrix | oqe_code_multilingual, 128 × 512 tokens; covers every module except lm_head |
same imatrix (reused) | same imatrix (reused) |
🇬🇧 In every build: MTP layer quantized and preserved (29 tensors); 361 non-quantized text tensors in FP16; vision tower in FP32 (333 tensors). 🇫🇷 Dans chaque build : couche MTP quantifiée et conservée (29 tenseurs) ; 361 tenseurs texte non quantifiés en FP16 ; tour vision en FP32 (333 tenseurs).
Quality vs the BF16 original / Qualité face à l'original BF16
🇬🇧 Fidelity scope: oQ builds have 505 quantized modules (498 backbone + 7 MTP); plain mlx-lm builds have 498 (no MTP). Errors are parameter-weighted averages. 🇫🇷 Périmètre : les builds oQ ont 505 modules quantifiés (498 du tronc + 7 MTP) ; les builds mlx-lm classiques en ont 498 (sans MTP). Les erreurs sont des moyennes pondérées par le nombre de paramètres.
Weight fidelity / Fidélité des poids
🇬🇧 Every quantized module is dequantized and compared with BF16. 🇫🇷 Chaque module quantifié est déquantifié puis comparé au BF16.
| Build | Avg. bits | imatrix-weighted rel. error | Raw rel. error | Cosine |
|---|---|---|---|---|
plain mlx_lm.convert 4-bit g64 |
4.00 | 9.59 % | 9.26 % | 0.99572 |
| oQ4e | 4.20 | 7.00 % | 7.80 % | 0.99679 |
| oQ6e | 6.16 | 1.73 % | 1.98 % | 0.99980 |
plain mlx_lm.convert 8-bit g64 |
8.00 | 0.572 % | 0.550 % | 0.999985 |
| oQ8e | 8.00 | 0.446 % | 0.524 % | 0.999986 |
Perplexity and KL divergence / Perplexité et divergence KL (WikiText-2 test)
🇬🇧 Protocol: 32 × 2048-token chunks; the second half of each chunk is scored (32,768 tokens). KL(BF16 ‖ quant) is computed over the BF16 top-64 tokens plus one tail bucket. This is a lower bound of the exact KLD; the top-64 holds 96 % of the mass on average.
🇫🇷 Protocole : 32 blocs de 2 048 tokens ; la seconde moitié de chaque bloc est évaluée (32 768 tokens). La KL(BF16 ‖ quant) est calculée sur les 64 tokens les plus probables du BF16, plus un groupe pour le reste. C'est une borne basse du KLD exact ; le top-64 concentre en moyenne 96 % de la masse.
| Build | PPL | Mean KLD | Median KLD | p99 KLD | Max KLD | Top-1 agreement |
|---|---|---|---|---|---|---|
| BF16 reference | 5.658 | — | — | — | — | — |
| plain MLX 4-bit g64 | 5.798 | 0.0293 | 0.0161 | 0.252 | 1.92 | 91.7 % |
| oQ4e | 5.718 | 0.0132 | 0.0062 | 0.128 | 2.23 | 94.4 % |
| oQ6e | 5.661 | 0.00118 | 0.00061 | 0.0112 | 0.31 | 97.9 % |
| plain MLX 8-bit g64 | 5.656 | 0.00053 | 0.00033 | 0.0031 | 0.70 | 98.4 % |
| oQ8e | 5.656 | 0.00046 | 0.00030 | 0.0027 | 0.22 | 98.4 % |
🇬🇧 How to read it:
- oQ4e has about half the KLD of a plain 4-bit MLX conversion, for +0.2 bit per weight.
- oQ6e has about 11× less KLD than oQ4e; oQ8e is near-lossless (PPL 5.656 vs 5.658) and ~2.5× closer to BF16 than oQ6e.
🇫🇷 Comment le lire :
- L'oQ4e a environ deux fois moins de KLD qu'une conversion MLX 4 bits classique, pour +0,2 bit par poids.
- L'oQ6e a environ 11 fois moins de KLD que l'oQ4e ; l'oQ8e est quasi sans perte (PPL 5,656 contre 5,658) et environ 2,5 fois plus proche du BF16 que l'oQ6e.
Speed on an M1 Max / Vitesse sur M1 Max (24-core GPU, 64 GB)
🇬🇧 All runs use oMLX 0.7.3.dev2, macOS 26.7.1 and FP16 compute. 🇫🇷 Toutes les mesures utilisent oMLX 0.7.3.dev2, macOS 26.7.1 et le calcul en FP16.
Interactive chat — MTP off vs on / Chat interactif — MTP désactivé ou activé
🇬🇧 Batch 1, temperature 0, thinking off, 256 new tokens, mean of 3 runs. Decode speed in tok/s (MTP acceptance in brackets). 🇫🇷 Lot de 1, température 0, raisonnement désactivé, 256 nouveaux tokens, moyenne de 3 runs. Vitesse de décodage en tok/s (taux d'acceptation MTP entre parenthèses).
| Content / Contenu | oQ4e off → on | oQ6e off → on | oQ8e off → on |
|---|---|---|---|
| Python code | 19.0 → 28.1 (+48 %, 92.7 %) | 13.5 → 14.3 (+5.5 %, 93.7 %) | 11.5 → 19.0 (+65 %, 91.4 %) |
| French prose / Prose française | 19.0 → 20.1 (+6 %, within noise; 71.6 %) | 13.6 → 11.9 (−13 %, 56.7 %) | 11.5 → 14.3 (+25 %, 67.8 %) |
| English prose / Prose anglaise | 19.0 → 19.0 (±0, 64.0 %) | 13.6 → 12.3 (−9.5 %, 73.9 %) | 11.5 → 13.4 (+17 %, 61.6 %) |
🇬🇧 💡 MTP recommendations on M1 Max:
- oQ4e: turn it on for coding sessions; neutral for prose.
- oQ6e: turn it off. It barely helps on code even with 93.7 % acceptance and slows prose down. We have not pinned down the cause yet (our hypothesis: the 6-bit verification pass is comparatively expensive on M1).
- oQ8e: keep it on, it speeds up everything we tried.
🇫🇷 💡 Recommandations MTP sur M1 Max :
- oQ4e : activez-le pour les sessions de code ; neutre en prose.
- oQ6e : désactivez-le. Il n'aide presque pas en code malgré 93,7 % d'acceptation, et il ralentit la prose. La cause n'est pas encore identifiée (notre hypothèse : la passe de vérification en 6 bits coûte relativement cher sur M1).
- oQ8e : gardez-le activé, il accélère tout ce que nous avons testé.
Long prompts / Longs prompts (oMLX built-in benchmark, MTP off)
🇬🇧 A different harness from the chat test above, hence slightly lower decode figures. 🇫🇷 Outil de mesure différent du test de chat ci-dessus, d'où des vitesses de décodage un peu plus basses.
| Build | Prefill 1k / 4k / 16k | TTFT at 16k | Decode 1k / 4k / 16k | Batch 4 at 1k (aggregate) |
|---|---|---|---|---|
| oQ4e | 110 / 116 / 113 tok/s | 145 s | 17.1 / 16.7 / 16.3 tok/s | 30.6 tok/s |
| oQ6e | 111 / 121 / 114 tok/s | 143 s | 13.4 / 13.2 / 11.6 tok/s | 20.3 tok/s |
| oQ8e | 120 / 119 / 114 tok/s | 143 s | 10.9 / 11.1 / 10.2 tok/s | 22.5 tok/s |
🇬🇧 Prefill speed is the same for all three (~110–120 tok/s): prompt processing on M1 Max is compute-bound, so a smaller quant does not shorten the wait before the first token. 🇫🇷 La vitesse de traitement du prompt est la même pour les trois (~110–120 tok/s) : sur M1 Max, cette phase est limitée par le calcul, donc un quant plus petit ne réduit pas l'attente avant le premier token.
Accuracy / Précision (sampled subsets / sous-échantillons)
🇬🇧 Settings: oMLX accuracy suite, deterministic sampling, thinking off, batch 8 (IFEval: separate runner with the official lm-eval checker, greedy, seed 1234). These are samples, not full test sets. 🇫🇷 Réglages : suite de précision d'oMLX, échantillonnage déterministe, raisonnement désactivé, lot de 8 (IFEval : runner séparé avec le vérificateur officiel lm-eval, greedy, seed 1234). Ce sont des échantillons, pas les jeux de test complets.
| Benchmark | n | oQ4e | oQ6e | oQ8e |
|---|---|---|---|---|
| MMLU-Pro | 200 | 70.0 % | 67.0 % | 67.5 % |
| GSM8K | 200 | 97.5 % | 97.0 % | 97.0 % |
| HumanEval (full) | 164 | 90.2 % | 89.0 % | 89.6 % |
| ARC-Challenge | 300 | 95.7 % | 95.7 % | 95.3 % |
| HellaSwag | 300 | 96.0 % | 96.3 % | 96.3 % |
| WinoGrande | 300 | 84.0 % | 82.0 % | 82.0 % |
| TruthfulQA | 300 | 87.3 % | 86.3 % | 87.0 % |
| IFEval (prompt-strict / inst-strict) | 200 | 73.0 % / 80.5 % | 75.5 % / 83.4 % | 71.0 % / 79.9 % |
🇬🇧 95 % Wilson intervals are roughly ±6 points at n = 200 around 70 %, ±3 points at n = 200–300 above 95 %, and ±4–5 points on WinoGrande, TruthfulQA and HumanEval. Every gap between the three builds is inside these intervals: at these sample sizes the differences are not significant (oQ4e scoring slightly higher on MMLU-Pro is noise, not a real advantage). The KLD numbers above are the more sensitive comparison.
🇫🇷 Les intervalles de Wilson à 95 % valent environ ±6 points pour n = 200 autour de 70 %, ±3 points pour n = 200–300 au-dessus de 95 %, et ±4–5 points sur WinoGrande, TruthfulQA et HumanEval. Tous les écarts entre les trois builds sont dans ces intervalles : à ces tailles d'échantillon, les différences ne sont pas significatives (le léger avantage de l'oQ4e sur MMLU-Pro est du bruit, pas un vrai avantage). Les mesures de KLD ci-dessus sont la comparaison la plus sensible.
Compatibility / Compatibilité
| Engine / Moteur | Status / État |
|---|---|
| oMLX 0.7.3.dev2 | ✅ Tested: text, MTP (Lightning MTP), benchmarks above · Testé : texte, MTP, benchmarks ci-dessus |
mlx-lm 0.32.3 (mlx_lm.load) |
✅ Text loads and runs (used for PPL/KLD); MTP and vision are ignored · Le texte fonctionne ; MTP et vision ignorés |
| mlx-vlm 0.7.10 | ⚠️ Expected to work for vision (qwen3_5 support). Not benchmarked here · Devrait fonctionner pour la vision, non testé ici |
| LM Studio (MLX engine) | ⚠️ Untested · Non testé |
| llama.cpp / Ollama | ❌ MLX format; use a GGUF build instead · Format MLX ; utilisez plutôt un build GGUF |
⚠️ Uncensored model / Modèle non censuré
🇬🇧 The base model is a decensored ("Heretic", uncensored) fine-tune. It may follow requests that aligned models refuse, and it may produce offensive, false or harmful content. You are responsible for how you deploy it: add your own safeguards, and do not expose it to end users without moderation. Quantization is not meant to change this behaviour.
🇫🇷 Le modèle de base est un fine-tune décensuré (« Heretic », uncensored). Il peut répondre à des demandes que les modèles alignés refusent, et produire des contenus offensants, faux ou dangereux. Vous êtes responsable de son déploiement : ajoutez vos propres garde-fous et ne l'exposez pas à des utilisateurs finaux sans modération. La quantification n'est pas censée modifier ce comportement.
Reproducibility / Reproductibilité
🇬🇧
- Hardware: MacBook Pro M1 Max, 24-core GPU, 64 GB unified memory, macOS 26.7.1.
- Software: oMLX 0.7.3.dev2 (bundling mlx 0.32.4, mlx-lm 0.32.3.dev8, mlx-vlm 0.7.10).
- Source snapshot:
fd6a26869dc5775b3c81ce65468af634dd300b02. - oQ4e and oQ8e measured on 2026-10-27/28; oQ6e on 2026-10-28/29, same scripts, same BF16 reference and same settings.
- Scripts: weight fidelity, PPL/KLD (top-64 + tail), oMLX throughput, MTP A/B, accuracy queue and IFEval with the official lm-eval checker (seed 1234). Available on request.
🇫🇷
- Matériel : MacBook Pro M1 Max, GPU 24 cœurs, 64 Go de mémoire unifiée, macOS 26.7.1.
- Logiciels : oMLX 0.7.3.dev2 (qui embarque mlx 0.32.4, mlx-lm 0.32.3.dev8, mlx-vlm 0.7.10).
- Snapshot source :
fd6a26869dc5775b3c81ce65468af634dd300b02. - oQ4e et oQ8e mesurés les 27–28/10/2026 ; oQ6e les 28–29/10/2026, avec les mêmes scripts, la même référence BF16 et les mêmes réglages.
- Scripts : fidélité des poids, PPL/KLD (top-64 + reste), débit oMLX, A/B MTP, file de précision et IFEval avec le vérificateur officiel lm-eval (seed 1234). Disponibles sur demande.
Credits / Remerciements
- DavidAU for the Fable Cold Fusion fine-tune / pour le fine-tune Fable Cold Fusion, and the Qwen team for Qwen3.8-27B / et l'équipe Qwen pour Qwen3.8-27B.
- oMLX and its oQ quantizer / et son quantificateur oQ, and the Apple MLX team / et l'équipe Apple MLX.
- KLD protocol adapted from community quantization comparisons (smcleod) / Protocole KLD adapté des comparatifs communautaires (smcleod).
🇬🇧 Happy local inferencing on your Mac! 🍏 🇫🇷 Bonne inférence locale sur votre Mac ! 🍏