Instructions to use Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX") config = load_config("Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX"
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX
Run Hermes
hermes
- OpenClaw new
How to use Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX"
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX
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.
Model lineage
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).
- Architecture: Qwen3.6-35B-A3B — Mixture-of-Experts, 256 experts (8 routed + 1 shared), ~3B active params/token, up to 262,144-token context.
- This repo: imatrix 4-bit quant, DWQ-distilled, with MTP and the vision tower preserved.
Quantization: oQ4e (imatrix) → DWQ, 4-bit
A 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. TheoQ4ebackbone'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).
Evaluation
Quant fidelity — validation KL-to-8-bit-teacher (lower = better)
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.
Capability benchmarks — measured on this quant
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.
Speed (M4 Pro, 48 GB, oMLX 0.5.0, MTP on)
| 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.
Sibling repos (same base, pick your trade-off)
| 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).
How to run
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).
Recommended sampling
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.
Intended use & limitations
- Built for agentic coding + hard reasoning: tool-use loops, SWE-style edits, competition math, STEM, multi-step logic.
- Reasoning/agency ≠ knowledge. Quantization (and the base distillation) transfer how to reason and act, not new facts.
- Quantization loss: 4-bit is lossy vs bf16; the fidelity ladder above quantifies it (small). For maximum quality use the bf16 base or an 8-bit quant.
- Distillation provenance: the base's training traces were generated with Anthropic's Claude Opus 4.7 / Fable-5. Downstream users should confirm compliance with Anthropic's usage policy.
Datasets
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 traces
Acknowledgements
- lordx64 — the
Qwable-v2base model this repo quantizes. All capability is theirs. - Qwen team — Qwen3.6-35B-A3B.
- Anthropic — Claude Opus 4.7 and Fable-5, the reasoning/agentic teachers for the base.
- Apple MLX —
mlx,mlx-lm(DWQ ·mlx_lm.quant.dwq),mlx-vlm. - oMLX — the
oq/oQeimatrix quantizer, Lightning-MTP + vision serving runtime, and OpenAI-compatible API.
License
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.
Citation
@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}} }
- Downloads last month
- 99
4-bit
Model tree for Litwein/Qwable-v2-oQ4e-DWQ-MTP-Vision-MLX
Base model
Qwen/Qwen3.6-35B-A3B