AnthonyL1996/Qwopus3.6-27B-Coder-ik-MTP-GGUF
Qwopus3.6-27B-Coder — ik_llama.cpp MTP IQ-quants (GGUF)
This repo contains ik_llama.cpp-optimized IQ-series GGUF quantizations (with importance matrix) of Jackrong's excellent Qwopus3.6-27B-Coder-MTP, built specifically to run fast on a single RTX 3090 with Multi-Token Prediction (MTP) speculative decoding.
The original repo ships generic llama.cpp K-quants (Q4_K_S, etc.). These are different: they use ikawrakow's SOTA non-linear quant types (IQ4_K, IQ4_KS, IQ3_K) which, on the same hardware, decode ~40% faster at sustained generation than the generic Q4_K_S — at the same quality — because of ik_llama's optimized GEMV kernels. MTP draft heads are preserved, so self-speculative decoding works out of the box.
⚠️ These require [ik_llama.cpp](https://github.com/ikawrakow/ik_llama.cpp), not mainline llama.cpp. The IQ*_K quant types and the MTP path are ik_llama features. Mainline llama.cpp / LM Studio / Ollama will not load these correctly.Model lineage
Quant files
¹ Perplexity over 250 chunks of wikitext-2-raw test at n_ctx=512. IQ4K and IQ4KS are statistically identical (the gap is within the error bars); IQ4_KS is the recommended default since it decodes markedly faster for no measurable quality loss.
Benchmarks (single RTX 3090, ik_llama.cpp build 4574)
Raw throughput — llama-bench, -ngl 99, no speculative decoding:
Real-world with MTP — llama-server, IQ4KS, MTP on (`--draft-max 2`), KV cache `q40, 200K context, single slot (-np 1`):
Measured during the 900-token run: ≈258 W GPU power draw, 65 °C, 21.2 GB VRAM (at 200K context). For reference, the generic Q4_K_S of the same model on the same machine sustains ~41 t/s decode — these IQ quants are ~40% faster.
How these were built
Quantizing down from the near-lossless Q8_0 (not from a 4-bit quant — that would compound rounding error), guided by an importance matrix:
# 1. Importance matrix — run the Q8_0 model over a calibration corpus (GPU)
# corpus: bartowski's calibration_datav3 (2481 lines); 129 chunks; ik_llama cu13-full image
llama-imatrix -m Qwopus3.6-27B-Coder-MTP-Q8_0.gguf \
-f calibration_datav3.txt -o qwopus-imatrix.dat -ngl 99
# 2. Quantize each target from Q8_0 with the imatrix (CPU; cpu-full image)
# --allow-requantize is required because the source is Q8_0 (safe: Q8 is ~lossless)
for T in IQ4_K IQ4_KS IQ3_K; do
llama-quantize --allow-requantize --imatrix qwopus-imatrix.dat \
Qwopus3.6-27B-Coder-MTP-Q8_0.gguf Qwopus3.6-27B-Coder-MTP-$T.gguf $T
done- Engine: ik_llama.cpp, Docker images
ghcr.io/ikawrakow/ik-llama-cpp:cu13-full(imatrix/bench) and:cpu-full(quantize), build4574. - Source: Jackrong's
Q8_0GGUF (MTP variant), so the MTP draft heads carry through. - Calibration: bartowski's calibration_datav3.
Usage (ik_llama.cpp)
Serving with an OpenAI-compatible API and MTP speculative decoding enabled:
llama-server \
--model Qwopus3.6-27B-Coder-MTP-IQ4_KS.gguf \
-ngl 99 --ctx-size 200000 -b 4096 -ub 1024 -np 1 \
-ctk q4_0 -ctv q4_0 -fa on \
-ngld 99 --multi-token-prediction --draft-max 2 --draft-p-min 0.0 \
--recurrent-ckpt-mode auto --merge-qkv \
--jinja --parallel-tool-calls \
--reasoning off --reasoning-format deepseek \
--temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.0 --repeat-penalty 1.0Then point any OpenAI-compatible client at http://localhost:8080/v1. Tool/function calling is supported (--jinja --parallel-tool-calls). Reasoning is off by default; the source model also supports a thinking mode.
Notes:
--multi-token-prediction --draft-max 2enables MTP self-speculation;2is optimal for this model (higher draft depths gave no gain or crashed in testing).- Keep
-np 1on a single card — extra parallel slots divide throughput and disable MTP.
Credits
- Qwen team / Alibaba — Qwen3.6-27B base model.
- Jackrong — Qwopus3.6-27B-Coder-MTP finetune.
- ikawrakow — ik_llama.cpp, the IQ quant types and MTP support.
- bartowski — calibration dataset.
Disclaimer
Experimental community requantization for local evaluation. Quality is provided as-is — perplexity was measured, but full coding/agentic benchmarks (HumanEval/SWE-bench/etc.) were not run for these specific quants. License is inherited from the base (Apache-2.0). These GGUFs require ik_llama.cpp.
