Feyospace s1 obliterated — 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) · best instruction following · MTP on Fidélité maximale (le plus proche du BF16) · meilleur suivi d'instructions · 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 OBLITERATUS/feyospace-s1-obliterated (a cybersecurity-targeted abliteration of feyospace/feyospace-v1.1-small, 28B, Qwen3.5 architecture), 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 weights kept (FP32, 333 tensors). Vision is not benchmarked here — see Compatibility for a note on processor files.
- 🎯 From 0.0266 (oQ4e) down to 0.00161 (oQ8e) mean KLD vs BF16.
🇫🇷 Trois quantifications oQ en précision mixte de OBLITERATUS/feyospace-s1-obliterated (une abliteration ciblée cybersécurité de feyospace/feyospace-v1.1-small, 28B, architecture Qwen3.5), 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).
- 👁️ Poids de la tour vision conservés (FP32, 333 tenseurs). La vision n'est pas évaluée ici — voir Compatibilité pour une remarque sur les fichiers de processeur.
- 🎯 KLD moyen face au BF16 de 0,0266 (oQ4e) à 0,00161 (oQ8e).
🇬🇧 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 ! 🚀
⬇️ Downloads / Téléchargements
🇬🇧 One repo per build, so every engine can load it by name (oMLX, LM Studio, mlx_lm.load). Pick one:
🇫🇷 Un dépôt par build, pour que chaque moteur puisse le charger par son nom (oMLX, LM Studio, mlx_lm.load). Choisissez-en un :
| Build | Size / Taille | Best for / Idéal pour | Repo | Download command / Commande |
|---|---|---|---|---|
| oQ4e | 17.97 GB | Speed, code with MTP · Vitesse, code avec MTP | Studio-Research-M1/Feyospace-s1-obliterated-oQ4e-FP16-MTP-MLX | hf download Studio-Research-M1/Feyospace-s1-obliterated-oQ4e-FP16-MTP-MLX --local-dir Feyospace-oQ4e |
| oQ6e | 24.64 GB | Middle ground, MTP off · Compromis, MTP désactivé | Studio-Research-M1/Feyospace-s1-obliterated-oQ6e-FP16-MTP-MLX | hf download Studio-Research-M1/Feyospace-s1-obliterated-oQ6e-FP16-MTP-MLX --local-dir Feyospace-oQ6e |
| oQ8e (this repo / ce dépôt) | 30.92 GB | Max fidelity, MTP on · Fidélité max, MTP activé | Studio-Research-M1/Feyospace-s1-obliterated-oQ8e-FP16-MTP-MLX | hf download Studio-Research-M1/Feyospace-s1-obliterated-oQ8e-FP16-MTP-MLX --local-dir Feyospace-oQ8e |
TL;DR — which build should I download? / Quel build télécharger ?
| You want / Vous voulez | Pick / Choix | MTP |
|---|---|---|
| Fastest, smallest — and the fastest for code with MTP (27.2 tok/s) · Le plus rapide et le plus léger — et le plus rapide en code avec MTP (27,2 tok/s) | oQ4e — 17.97 GB | On for coding (+45 %), off for chat · Activé pour le code (+45 %), désactivé pour le chat |
| Maximum fidelity (closest to BF16), and best instruction following in our tests · Fidélité maximale (le plus proche du BF16), et le meilleur suivi d'instructions dans nos tests | oQ8e — 30.92 GB | On (+25 % to +60 %) · Activé (+25 % à +60 %) |
| 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 (mean of 7 benchmarks: 86.7 / 86.6 / 86.6 %). What changes is speed, memory and closeness to BF16. Take oQ4e by default; take oQ8e if you have ≥ 48 GB and want the closest thing to the original. oQ6e is a middle ground that is slower than oQ4e and gets nothing from MTP.
🇫🇷 En bref : sur ces benchmarks, les trois builds sont à égalité statistique en précision (moyenne des 7 benchmarks : 86,7 / 86,6 / 86,6 %). Ce qui change, c'est la vitesse, la mémoire et la proximité avec le BF16. Prenez l'oQ4e par défaut ; 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 plus lent que l'oQ4e, et le MTP ne lui apporte rien.
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).
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 weights / Texte + MTP + poids 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, from the same importance matrix (calibration set oqe_code_multilingual). 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, à partir de la même matrice d'importance (jeu de calibration oqe_code_multilingual). Seul oq_level change.
oQ4e (oq_level=4) |
oQ6e (oq_level=6) |
oQ8e (oq_level=8) |
|
|---|---|---|---|
| Bit allocation (505 modules: 498 backbone + 7 MTP) / Répartition des bits | 424 at 4 bits; 80 promoted to 5 bits, 1 to 6 bits | 470 at 6 bits; 35 promoted to 8 bits | All at 8 bits |
| imatrix applied / imatrix appliquée | 503 modules (lm_head has none) |
same | same |
🇬🇧 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
Weight fidelity / Fidélité des poids
🇬🇧 Every quantized module is dequantized and compared with BF16. Errors are parameter-weighted averages. 🇫🇷 Chaque module quantifié est déquantifié puis comparé au BF16. Les erreurs sont des moyennes pondérées par le nombre de paramètres.
| Build | Avg. bits | imatrix-weighted rel. error | Raw rel. error | Cosine |
|---|---|---|---|---|
| oQ4e | 4.20 | 7.03 % | 7.78 % | 0.99681 |
| oQ6e | 6.16 | 1.74 % | 1.97 % | 0.99980 |
| oQ8e | 8.00 | 0.448 % | 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 97 % 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 97 % de la masse.
| Build | PPL | Mean KLD | Median KLD | p99 KLD | Max KLD | Top-1 agreement |
|---|---|---|---|---|---|---|
| BF16 reference | 6.530 | — | — | — | — | — |
| oQ4e | 6.544 | 0.0266 | 0.0080 | 0.244 | 17.4 | 93.7 % |
| oQ6e | 6.500 | 0.00454 | 0.00078 | 0.0264 | 14.6 | 97.7 % |
| oQ8e | 6.513 | 0.00161 | 0.00035 | 0.0068 | 8.7 | 98.4 % |
🇬🇧 How to read it:
- Each step up divides the KLD by about 6 (oQ4e → oQ6e) and then 3 (oQ6e → oQ8e).
- Outliers: on a handful of positions, all three builds diverge strongly from BF16 (max KLD 8.7 to 17.4), which pulls the mean above the median. The median and p99 stay low, and accuracy is not affected (see below). We are still investigating these positions.
🇫🇷 Comment le lire :
- Chaque palier divise le KLD par environ 6 (oQ4e → oQ6e), puis par 3 (oQ6e → oQ8e).
- Valeurs extrêmes : sur quelques positions, les trois builds s'écartent fortement du BF16 (KLD max de 8,7 à 17,4), ce qui tire la moyenne au-dessus de la médiane. La médiane et le p99 restent bas, et la précision n'en souffre pas (voir plus bas). Nous étudions encore ces positions.
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 | 18.8 → 27.2 (+45 %, 88.7 %) | 13.7 → 14.0 (+2 %, 91.9 %) | 11.1 → 17.8 (+60 %, 90.1 %) |
| French prose / Prose française | 18.8 → 17.9 (−5 %, 63.5 %) | 13.7 → 12.6 (−8 %, 65.7 %) | 11.1 → 13.8 (+25 %, 67.2 %) |
| English prose / Prose anglaise | 18.8 → 18.7 (±0, 70.0 %) | 13.7 → 12.6 (−8 %, 67.8 %) | 10.8 → 14.5 (+34 %, 70.3 %) |
🇬🇧 💡 MTP recommendations on M1 Max:
- oQ4e: turn it on for coding sessions (+45 %); off for chat.
- oQ6e: turn it off. It barely helps on code even with 92 % 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 (+25 % to +60 %).
🇫🇷 💡 Recommandations MTP sur M1 Max :
- oQ4e : activez-le pour les sessions de code (+45 %) ; désactivez-le pour le chat.
- oQ6e : désactivez-le. Il n'aide presque pas en code malgré 92 % 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é (+25 % à +60 %).
Long prompts / Longs prompts (oMLX built-in benchmark, MTP off)
🇬🇧 A different harness from the chat test above, hence slightly different decode figures. 🇫🇷 Outil de mesure différent du test de chat ci-dessus, d'où des vitesses de décodage un peu différentes.
| Build | Prefill 1k / 4k / 16k | TTFT at 16k | Decode 1k / 4k / 16k | Batch 4 at 1k (aggregate) |
|---|---|---|---|---|
| oQ4e | 118 / 115 / 116 tok/s | 142 s | 18.4 / 15.0 / 15.9 tok/s | 28.8 tok/s |
| oQ6e | 111 / 122 / 117 tok/s | 140 s | 13.2 / 13.3 / 12.3 tok/s | 19.9 tok/s |
| oQ8e | 118 / 117 / 112 tok/s | 146 s | 10.5 / 10.8 / 9.9 tok/s | 22.0 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 | 64.5 % | 65.0 % | 64.5 % |
| GSM8K | 200 | 94.5 % | 92.0 % | 93.0 % |
| HumanEval (full) | 164 | 92.1 % | 93.9 % | 93.3 % |
| ARC-Challenge | 300 | 95.3 % | 95.3 % | 95.7 % |
| HellaSwag | 300 | 95.7 % | 95.3 % | 95.3 % |
| WinoGrande | 300 | 79.7 % | 79.0 % | 79.0 % |
| TruthfulQA | 300 | 85.0 % | 86.0 % | 85.7 % |
| Mean of 7 / Moyenne des 7 | — | 86.7 % | 86.6 % | 86.6 % |
| IFEval (prompt-strict / inst-strict) | 200 | 78.0 % / 85.3 % | 79.5 % / 85.6 % | 80.5 % / 86.3 % |
🇬🇧 95 % Wilson intervals are roughly ±6–7 points on MMLU-Pro, ±3–4 points on GSM8K, ARC and HellaSwag, ±4–5 points on WinoGrande, TruthfulQA and HumanEval, and ±5–6 points on IFEval. Every gap between the three builds is inside these intervals: at these sample sizes the differences are not significant. IFEval rises slightly with bit width (78.0 → 79.5 → 80.5), a consistent trend but still within noise. The KLD numbers above are the more sensitive comparison.
🇫🇷 Les intervalles de Wilson à 95 % valent environ ±6–7 points sur MMLU-Pro, ±3–4 points sur GSM8K, ARC et HellaSwag, ±4–5 points sur WinoGrande, TruthfulQA et HumanEval, et ±5–6 points sur IFEval. Tous les écarts entre les trois builds sont dans ces intervalles : à ces tailles d'échantillon, les différences ne sont pas significatives. L'IFEval monte légèrement avec le nombre de bits (78,0 → 79,5 → 80,5), une tendance régulière mais qui reste dans le bruit. 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 | ⚠️ Vision not tested; see note below · Vision non testée ; voir la remarque ci-dessous |
| 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 |
🇬🇧 Vision note: the vision tower weights are included, but the parent repo ships no preprocessor_config.json / processor_config.json, so neither do these builds. Image input will likely need those files from feyospace/feyospace-v1.1-small (not verified).
🇫🇷 Remarque vision : les poids de la tour vision sont inclus, mais le dépôt parent ne fournit ni preprocessor_config.json ni processor_config.json, ces builds non plus. L'entrée image nécessitera probablement ces fichiers, à reprendre de feyospace/feyospace-v1.1-small (non vérifié).
⚠️ Uncensored model / Modèle non censuré
🇬🇧 The parent model is abliterated to remove cybersecurity refusals. It may follow requests that aligned models refuse, and it may produce offensive, false or harmful content. Use it only for authorized security research, on systems you are allowed to test, 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 parent est abliteré pour supprimer les refus en cybersécurité. Il peut répondre à des demandes que les modèles alignés refusent, et produire des contenus offensants, faux ou dangereux. Utilisez-le uniquement pour de la recherche en sécurité autorisée, sur des systèmes que vous avez le droit de tester ; 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).
- Reference: a BF16 copy of the weights of
OBLITERATUS/feyospace-s1-obliterated(PPL 6.530 on the protocol above). - All three builds measured on 2026-10-28/29 with the same scripts, the same BF16 reference and the 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).
- Référence : une copie BF16 des poids de
OBLITERATUS/feyospace-s1-obliterated(PPL 6,530 avec le protocole ci-dessus). - Les trois builds ont été mesurés 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
- Feyospace Team (Vera Praxis) for Feyospace-v1.1-small / pour Feyospace-v1.1-small, and OBLITERATUS for the abliteration / et OBLITERATUS pour l'abliteration.
- The Qwen team for the Qwen3.5 architecture / L'équipe Qwen pour l'architecture Qwen3.5.
- 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 ! 🍏