Instructions to use Litwein/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX") config = load_config("Litwein/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use Litwein/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX
Run Hermes
hermes
- OpenClaw new
How to use Litwein/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-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/ThinkingCap-Qwen3.6-27B-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"
ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX
Efficient thinking, compressed for Apple Silicon
A benchmark-aligned oQ4e (imatrix) → DWQ build of ThinkingCap-Qwen3.6-27B. DWQ reduced held-out teacher divergence by 31% (
0.0524 → 0.0362) while preserving the original bf16 vision tower and native MTP speculative-decoding head.
A mixed-precision 4-bit MLX quantization of
bottlecapai/ThinkingCap-Qwen3.6-27B —
vision + text, with the original vision tower preserved in bf16 and the donor's
mixed-precision MTP head retained for multimodal inference and native speculative decoding in oMLX.
⚠️ These are quantized weights. The model's capability and efficient-thinking behaviour come from BottleCapAI's base model — please star/cite it first. This repo contributes the oQ/DWQ quantization recipe, benchmark-aligned calibration and MTP/vision packaging; DWQ tunes the quantizer's scales/biases and does not add new knowledge.
Model lineage
Qwen/Qwen3.6-27B (Apache-2.0 · dense 27B · 262k context · vision + MTP)
└─ bottlecapai/ThinkingCap-Qwen3.6-27B (efficient-thinking finetune)
└─ THIS REPO: oQ4e (imatrix) → DWQ + MTP + vision
- Architecture: dense Qwen3.6-27B (
qwen3_5MLX architecture), 64 hybrid Gated-DeltaNet/full-attention layers, up to 262,144-token context. - Vision tower: Qwen3.6 vision encoder, kept in bf16 and packaged as 333
vision_tower.*tensors. - ThinkingCap behaviour: BottleCapAI fine-tuned Qwen3.6-27B to preserve answer quality while using roughly half as many thinking tokens on average. See the base model card for its multi-seed evaluation and full methodology.
Quantization: oQ4e (imatrix) → single-stage DWQ
This is not a plain round-to-nearest 4-bit conversion:
oQ4e— importance-aware mixed precision. oMLX's enhanced quantizer builds an importance matrix from 1,024 × 512-token calibration samples and allocates additional precision to sensitive tensors. The resulting config uses affine 4-bit, group size 64 as its base, with 110 quantized modules promoted to 5-bit and 2 modules to 6-bit.- DWQ — activation-aligned distillation. The trainable affine scales/biases of all
sub-8-bit language modules are optimized toward an
oQ8eteacher made from the same base model. The objective is KL divergence over the teacher's top-1024 logits at temperature 2.0. - Validation-first finalization. Training uses batch 1, 512-token windows, gradient
checkpointing, Adam, a cosine LR schedule (
2.5e-7peak, 50-step warmup, 0.1 end factor), validation early stopping and exports only the best checkpoint. - Component splice. The donor's mixed-precision MTP head and bf16 vision tower are copied back byte-for-byte after DWQ; neither is trained by the text-only DWQ pass.
| Scheme | affine 4-bit base (g64) · imatrix-promoted 5/6-bit modules · one DWQ pass |
| Weight files | 17.02 GB safetensors (including bf16 vision tower + MTP) |
| Distillation teacher | oQ8e enhanced quantization of the same ThinkingCap base |
| DWQ calibration | 4,096 train / 128 valid · document-disjoint splits · ≤512-token head/middle/tail windows |
| Held-out DWQ loss | 0.0524 → 0.0362 (−31%) |
| Tooling | oMLX oq/oQe + mlx_lm.quant.dwq |
The loss above measures fidelity to this recipe's 8-bit teacher on its held-out calibration distribution. It is not task accuracy and should not be compared with losses from another dataset, tokenizer, teacher or sequence length.
Calibration mix
The single DWQ stage retains general reasoning while emphasizing the model's intended code and agent workloads. DWQ sees tokenized activation windows, not additional SFT updates.
| Partition | Train / valid | Share | Sources / role |
|---|---|---|---|
| Resolved SWE agent trajectories | 1,024 / 32 | 25% | SWE-smith tool calls, patches and terminal output |
| General reasoning | 768 / 24 | 18.75% | OpenThoughts science/math/code traces |
| Verified math | 512 / 16 | 12.5% | OpenR1-Math |
| Concise function code | 512 / 16 | 12.5% | execution-filtered self-OSS-Instruct |
| Verified Python problems | 512 / 16 | 12.5% | decontaminated/tested verifiable coding problems |
| Competitive code reasoning | 512 / 16 | 12.5% | NVIDIA OpenCodeReasoning |
| General instruction/chat | 256 / 8 | 6.25% | Tulu 3 SFT mixture |
Agent + code data is 62.5% of the mix. Public multilingual SWE trajectories were not available, so multilingual agent performance is inherited from the base rather than directly represented by this calibration. The DWQ calibration itself is text-only; multimodal capability comes from the unmodified bf16 vision tower and the distilled language backbone.
Evaluation
Quantization fidelity measured on this build
| Metric | Raw oQ4e student | oQ4e → DWQ (this repo) |
|---|---|---|
| Held-out top-K teacher KL | 0.0524 | 0.0362 |
| Relative reduction | — | 31% |
No task or vision-benchmark score is claimed here yet. The result above demonstrates improved language-logit fidelity on the held-out calibration split, not guaranteed benchmark improvement.
Inherited base-model results (bf16, not re-measured on this quant)
BottleCapAI reports the following for bottlecapai/ThinkingCap-Qwen3.6-27B with thinking
enabled and five seeds. These numbers describe the bf16 base, not this 4-bit build.
| Benchmark | ThinkingCap bf16 | Mean thinking-token reduction vs Qwen3.6-27B |
|---|---|---|
| GPQA-Diamond | 83.8% | 67.8% |
| MMLU-Pro | 85.4% | 53.7% |
| HMMT (Nov 2025) | 84.7% | 38.0% |
| LiveCodeBench | 84.3% | 41.1% |
| LongBench v2 | 60.2% | 39.1% |
| RealWorldQA | 81.9% | 48.5% |
| GSM8K (in-domain holdout) | 96.5% | 74.1% |
Harnesses and token budgets differ substantially, especially for LiveCodeBench. Consult the source card before comparing these figures with local evals.
Repos in this family
| Repo | Vision | Safetensors | Use case |
|---|---|---|---|
ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX (this) |
✓ | 17.02 GB | multimodal |
ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-MLX |
– | 16.10 GB | smallest · text/code/agents |
The siblings share the same DWQ language backbone and MTP head; this repo additionally contains the original bf16 vision tower.
How to run
These are MLX weights for Apple Silicon. The tested serving path is oMLX, which supports Qwen3.6, vision input and native MTP speculative decoding.
# Download directly into the oMLX model directory
hf download Litwein/ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX \
--local-dir ~/.omlx/models/ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX
# Enable native Lightning MTP once
curl -X PUT \
http://127.0.0.1:8003/admin/api/models/ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX/settings \
-H "Authorization: Bearer sk-local" -H "Content-Type: application/json" \
-d '{"mtp_enabled": true}'
# OpenAI-compatible multimodal API
curl -X POST http://127.0.0.1:8003/v1/chat/completions \
-H "Authorization: Bearer sk-local" -H "Content-Type: application/json" \
-d '{"model":"ThinkingCap-Qwen3.6-27B-oQ4e-DWQ-MTP-Vision-MLX",
"messages":[{"role":"user","content":[
{"type":"image_url","image_url":{"url":"https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}},
{"type":"text","text":"Describe the image and explain the visual clues."}
]}],
"max_tokens":4096,"temperature":1.0,"top_p":0.95}'
The oMLX model id is case-sensitive and matches the downloaded folder name. Native MTP and the multimodal packaging require a compatible runtime; oMLX is the path validated for this release.
Recommended sampling
Use the base model's recommended settings: temperature=1.0, top_p=0.95, top_k=20, min_p=0.0 with thinking enabled. Give hard reasoning/code tasks a generous output budget
(32k or more where practical). Deterministic/greedy decoding is useful for reproducible
benchmarks, but is not the base author's recommended real-world sampling mode.
Intended use & limitations
- Best suited to: multimodal reasoning, visual question answering, coding, tool/agent workflows, math, STEM and long-context chat.
- Quantization is lossy: for maximum fidelity use the bf16 base or a higher-bit quant.
- DWQ is calibration, not SFT: it improves quantized-teacher fidelity on represented activations; it does not teach facts or guarantee gains on every benchmark.
- Vision was preserved, not vision-calibrated: the bf16 tower is unchanged, but this DWQ run used text calibration and has not been assigned a measured vision-benchmark score.
- Calibration coverage: public resolved SWE trajectories are Python-centric; multilingual SWE/terminal/skills behaviour was not directly calibrated.
- Long context costs memory: 262k is an architectural maximum, not a promise that every Apple Silicon machine can allocate the corresponding KV/cache state.
Acknowledgements
- BottleCapAI — creators of ThinkingCap and its efficient-thinking finetune. All model capability comes from their base.
- Qwen team — Qwen3.6-27B (Apache-2.0).
- Apple MLX —
mlx,mlx-lm,mlx-vlmandmlx_lm.quant.dwq. - oMLX — enhanced
oq/oQeimatrix quantization and MTP + vision serving runtime. - Calibration-data authors — SWE-bench/SWE-smith, OpenThoughts, Open-R1, BigCode, NVIDIA OpenCodeReasoning and AllenAI Tulu.
License
Apache-2.0, inherited from bottlecapai/ThinkingCap-Qwen3.6-27B and Qwen3.6-27B.
Citation
Please cite the original ThinkingCap model:
@misc{ThinkingCap-Qwen3.6-27B,
title = {bottlecapai/ThinkingCap-Qwen3.6-27B},
author = {Lasocki, Karol and Osusky, Adam and Lindauer, Jan and Jirkovsky, Adam and
Mihal, Filip and Platek, Ondrej and Herel, David and Ihnatchenko, Luka and
Bartek, Vojtech and Jirak, Jiri and Mikolov, Tomas},
year = {2026}
}
- Downloads last month
- 1,085
4-bit