Downloads · 30 days
42
5% of all-time downloads
Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX
Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX is a image-text-to-text model from Litwein. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for mlx. The card lists the license as agpl-3.0.
A 4-bit MLX quantization of lordx64/Qwable-v2 — vision + text, with an embedded MTP head for speculative decoding. Built with a two-stage recipe: imatrix mixed-precision (oQ4e) → Distilled Weight Quantization (DWQ), t…
Downloads · 30 days
42
5% of all-time downloads
All-time downloads
926
Public
Parameters
36B
21.6 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors21.6 GB · 100%
How the weights are stored.
U3235.5B · 99%
From the Hugging Face model README
A 4-bit MLX quantization of lordx64/Qwable-v2 —
vision + text, with an embedded MTP head for speculative decoding. Built with a
two-stage recipe: imatrix mixed-precision (oQ4e) → Distilled Weight Quantization (DWQ),
the strongest 4-bit path we could measure on this model.
⚠️ These are quantized weights. All capability comes from the base model
lordx64/Qwable-v2— please star/cite it first. This repo's contribution is the quantization + MTP/vision packaging and its fidelity/speed validation.
Qwen/Qwen3.6-35B-A3B (base, 35B MoE · 256 experts · ~3B active · 262k ctx)
└─ lordx64/…-Claude-4.7-Opus-Reasoning-Distilled (SFT distill of Claude Opus 4.7 reasoning)
└─ lordx64/Qwable-v2 (+ Claude Fable-5 agentic / tool-use LoRA)
└─ THIS REPO: oQ4e (imatrix) → DWQ 4-bit MLX + MTP + vision
Qwable-v2 is an open-weights agentic coding model: it thinks in explicit
<think>…</think> chains-of-thought (from the Opus-4.7 prior) and acts like a
Claude-Code-style agent — emitting <tool_use> XML with real Claude Code tool names
(Read, Edit, Bash) and correct field signatures. The agentic XML is
system-prompt-conditional (reliable with an agent-style system prompt or after a
<tool_result> turn; bare prompts fall back to prose).
oQ4e (imatrix) → DWQ, 4-bitA two-stage learned quant, not a plain round-to-nearest 4-bit:
oQ4e — imatrix mixed-precision. oMLX's enhanced quantizer builds an importance
matrix from ~1k calibration activations (sized for MoE expert coverage) and allocates bits
per-tensor by sensitivity. Base 4-bit affine (group size 64), with sensitive tensors
promoted: 201 → 8-bit, 105 → 5-bit, 7 → 6-bit (the rest stay 4-bit).DWQ — distillation. The oQ4e backbone's sub-8-bit affine scales/biases are then
gradient-distilled toward an 8-bit teacher of the same model (KL on top-1024 logits,
temperature 2.0, lr 1e-6, seq 512), recovering fidelity the quant grid loses.| Scheme | affine 4-bit base (g64) · imatrix-promoted 5/6/8-bit on sensitive tensors · then DWQ-distilled |
| Effective size | ~4.5 bits/weight → ~21.6 GB on disk (incl. bf16 vision tower + MTP head) |
| Distillation teacher | 8-bit MLX quant of lordx64/Qwable-v2 |
| Calibration | 3,965 ≤512-token windows — ~52 % Fable-5 agentic/tool-use + ~48 % Opus-4.7 reasoning (deep tails covered, not just heads) |
| Tooling | oMLX oq (enhanced) + mlx_lm.quant.dwq |
This is a true imatrix → DWQ build — distillation applied on top of a
sensitivity-mixed backbone, rather than on a flat uniform-4-bit student. On this model it is
the best-fidelity 4-bit we measured (see below).
Measured identically across recipes on the held-out calibration split (same seed / temperature / teacher targets), so the numbers are directly comparable:
| Recipe | KL-to-teacher | vs plain oQ4 |
|---|---|---|
oQ4 (sensitivity-mixed, no distill) | 0.0317 | — |
oQ4 + DWQ | 0.0289 | −9 % |
oQ4e (imatrix, no distill) | 0.0234 | −26 % |
oQ4e + DWQ — this repo | 0.0223 | −30 % |
imatrix alone (oQ4e) already beats oQ4+DWQ; adding DWQ on top squeezes out the rest.
Run by the uploader on this 4-bit build (served via oMLX); reported to show that quantization preserves base capability. Confirm harness/shot settings against your own eval before citing as official base-model numbers.
| Benchmark | This 4-bit quant |
|---|---|
| MMLU | 90.0 % |
| MMLU-Pro | 82.0 % |
| HumanEval (pass@1) | 88.4 % |
For the base model's own agentic evals (SWE-bench Lite, etc.), see the Qwable-v2 card — several suites are still in progress there.
| Engine | Decode speed | MTP accept | |
|---|---|---|---|
| This repo (vision + MTP) | VLM + Lightning MTP (depth-k kernels) | ~69–71 tok/s | ~84 % (2.2 tok/cycle) |
| Text-only sibling | LLM (batched) | ~58–62 tok/s | ~64 % (1.7 tok/cycle) |
Why the vision build is faster: oMLX routes a model with a vision tower to its VLM engine, which runs this
qwen3_5_moearchitecture natively with Lightning MTP (custom depth-k speculative-decoding kernels). The text-only sibling routes to the LLM engine, which uses a fallback decode path for this VLM-native architecture. The backbone and MTP weights are byte-identical between the two builds — only decode speed differs, not accuracy. For text tasks this build serves the vision tower unused, so it's a strict speed win.
| Repo | Quant | Vision | Size | Best for |
|---|---|---|---|---|
Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX (this) | imatrix→DWQ 4-bit | ✓ | ~21.6 GB | fastest decode, multimodal, benchmarking |
Qwable-v2-oQ4e-DWQ-MTP-MLX | imatrix→DWQ 4-bit | – | ~20.7 GB | text-only deployments, no vision tower |
lordx64/Qwable-v2 | bf16 base | ✓ | ~67 GB | reference / maximum quality |
Both quant builds share the same distilled backbone + MTP head (byte-identical) — identical task quality; they differ only by the vision tower and thus the serving engine (speed).
These are MLX weights (Apple Silicon). The tested serving path is
oMLX ≥ 0.5.0, which supports this model's native MTP speculative
decoding and vision out of the box. This repo includes the vision tower
(vision_tower.*, bf16) — it accepts images as well as text.
# 1. place the folder in your oMLX models directory
mv Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX ~/.omlx/models/
# 2. enable MTP once (VLM path), then call the OpenAI-compatible API
curl -X PUT http://127.0.0.1:8003/admin/api/models/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX/settings \
-H "Authorization: Bearer sk-local" -H "Content-Type: application/json" \
-d '{"mtp_enabled": true, "vlm_mtp_enabled": true}'
curl -X POST http://127.0.0.1:8003/v1/chat/completions \
-H "Authorization: Bearer sk-local" -H "Content-Type: application/json" \
-d '{"model": "Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX",
"messages": [{"role": "user", "content": "Prove there are infinitely many primes."}],
"max_tokens": 8000, "temperature": 0.6}'
The distilled backbone also loads directly in stock mlx-lm as a qwen3_5_moe text model.
MTP speculative decoding needs an MTP-aware runtime — oMLX (tested).
temperature 0.6, top_p 0.95, top_k 20. For hard reasoning / long agent runs set
max_tokens ≥ 32000 — the model thinks in explicit <think>…</think> blocks. For Claude-Code-style
tool use, provide an agent system prompt so it emits <tool_use> XML.
Inherited from the base model (used for its training and for this quant's calibration — no new knowledge is introduced; calibration only aligns the 4-bit scales to the model's own outputs):
lordx64/fable-sft-combined-v2 — Fable-5 agentic / tool-use SFT (combined)lordx64/agentic-distill-fable-5-sftlordx64/fable-tool-use-sftlordx64/reasoning-distill-opus-4-7-max-sft — Opus-4.7 reasoning tracesQwable-v2 base model this repo quantizes. All capability is theirs.mlx, mlx-lm (DWQ · mlx_lm.quant.dwq), mlx-vlm.oq/oQe imatrix quantizer, Lightning-MTP + vision serving runtime, and OpenAI-compatible API.AGPL-3.0, inherited from lordx64/Qwable-v2 (the base's Fable-5 datasets are AGPL-3.0).
If you serve this model over a network, the AGPL's network-use clause applies — make your
corresponding source available accordingly.
@misc{qwable_v2_2026, title={Qwable-v2}, author={lordx64}, year={2026},
howpublished={\url{https://huggingface.co/lordx64/Qwable-v2}} }
@misc{qwen36_a3b_2026, title={Qwen3.6-35B-A3B}, author={Qwen Team}, year={2026},
howpublished={\url{https://huggingface.co/Qwen/Qwen3.6-35B-A3B}} }