Instructions to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF", filename="Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS # Run inference directly in the terminal: llama-cli -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS # Run inference directly in the terminal: llama-cli -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS # Run inference directly in the terminal: ./llama-cli -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS # Run inference directly in the terminal: ./build/bin/llama-cli -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Use Docker
docker model run hf.co/localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
- LM Studio
- Jan
- Ollama
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with Ollama:
ollama run hf.co/localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
- Unsloth Studio
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF to start chatting
- Pi
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
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 localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Run Hermes
hermes
- Atomic Chat new
- Docker Model Runner
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with Docker Model Runner:
docker model run hf.co/localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
- Lemonade
How to use localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF:IQ4_XS
Run and chat with the model
lemonade run user.Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF-IQ4_XS
List all available models
lemonade list
Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF
Qwen3.6-35B-A3B (MoE, 3B active parameters) with NextN/MTP (Multi-Token Prediction) speculative-decoding head, quantized to IQ4_XS for single-GPU 24 GB inference.
What this is
A self-contained GGUF carrying both the trunk and the NextN MTP head. With a patched llama.cpp it serves at ~2ร decode of the same trunk without MTP, and at long contexts the MoE+MTP combination wins on every dimension we measured: faster than the dense 27B, better long-ctx behavior, lower VRAM footprint than non-MTP equivalents.
This is what we use as our "orchestrator" / chair model for council pipelines on a 24 GB card.
Build pipeline
Source: Qwen/Qwen3.6-35B-A3B (HF safetensors, with NextN tensors).
- Clone llama.cpp at the
crucible-mtpbranch onllama.cpp (patched)(Aman Gupta's MTP fork) โ addsLLM_ARCH_QWEN35MOE_MTP+ the NextN draft path. - Run
convert_hf_to_gguf.pyagainst the HF repo. Produces a BF16 GGUF with archqwen35moe_mtpand the NextN tensors fused in. - Quantize to IQ4_XS via
llama-quantize.
python convert_hf_to_gguf.py /path/to/Qwen3.6-35B-A3B \
--outfile Qwen3.6-35B-A3B-MTP-bf16.gguf
llama-quantize Qwen3.6-35B-A3B-MTP-bf16.gguf \
Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf IQ4_XS
Optimal serving config (RTX 3090 Ti, 24 GB)
Cherry-pick PRs #20819 + #20822 for cross-process KV-slot save/restore (sub-second resume on long contexts โ material when this model is used as a long-running chair / orchestrator).
llama-server \
-m Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf \
-ngl 999 -fa on \
--spec-type mtp --spec-draft-n-max 4 \
--no-mmap \
--ctx-size 200000 \
--batch-size 1024 --ubatch-size 512 \
-ctk q4_0 -ctv q4_0 \
--parallel 1 --kv-unified \
--ctx-checkpoints 8 --checkpoint-every-n-tokens 2048 \
--cache-ram -1 --cache-idle-slots \
--metrics --jinja
Why these flags:
--spec-type mtp: enables NextN-head draft path. The whole point of the MTP variant.--spec-draft-n-max 4: empirical sweet spot. n=2 underutilises the head; n=6+ drops accept rate faster than throughput grows. n=4 lands at ~85% accept ร ~101 tok/s.--ctx-size 200000: sized to leave ~1.5 GB VRAM headroom on 24 GB at q4/q4 KV. Native max is 262 K โ push to that only if you don't need headroom for activations.--no-mmap: required for KV-slot persistence and zero perf hit on this rig.-ctk q4_0 -ctv q4_0: dense KV cache; q8 KV at this ctx exceeds 24 GB during warmup.--parallel 1: MTP path is single-stream upstream.
What NOT to set:
-ot "exps=CPU"(expert offload) โ kills speedup; only consider if running alongside another model.-ctk q8_0at full 200K ctx โ VRAM will OOM at warmup.
Performance (RTX 3090 Ti, 350 W power limit)
Measured 2026-05-06 with persistence + MTP on:
| Metric | Value |
|---|---|
| Decode tok/s (short ctx, no thinking) | 213.7 (live measured 2026-05-06, n=4 spec) |
| Decode tok/s (steady mean over 200 K ctx run) | 183 mean / 203 peak |
| Prefill tok/s | 3,078 |
| Draft accept rate (n=4) | 97% (live), 80โ85% under steady mixed workload |
| KV slot restore (190 K tokens) | 357 ms โ ~525,000 tokens/s restore rate |
| Cold load (model โ ready) | ~5โ6 s |
| Power sweep optimum | 350 W (0.298 t/s/W; vs. 480 W default โ -7% throughput, +30% energy) |
| Cross-process slot save/restore | working โ verified across model swaps via PRs 20819+20822 |
| Combined gain vs starting baseline | 6.1ร (33 โ 200+ t/s, MTP ร ngl 999 ร power ร n=4) |
Memory footprint at 200 K ctx: ~18.5 GB (model) + ~3 GB (KV q4/q4) + scratch ~22.5 GB. Headroom for activation spikes.
Tokenizer
Qwen3.6 tokenizer (248,320 vocab, qwen35 pre-tokenizer). Same chat template as upstream Qwen3.6-35B-A3B-Instruct. If your runtime errors on Jinja Exception: System message must be at the beginning, use a loosened jinja template (single line: replace the strict-position raise with a no-op).
Why MTP matters here
Qwen3.6-35B-A3B in plain GGUF form decodes at ~50 tok/s on this rig (single-stream MoE, 3B active). With MTP enabled and ~85% accept rate at draft n=4, we observe ~100 tok/s โ exactly the 2ร the NextN paper claims. On the 3090 Ti this is the difference between "useful chair model" and "infuriatingly slow."
The MoE-MTP combination also has a non-obvious benefit: long-context decode degrades much more gracefully than the 27B dense at the same VRAM budget. At 190 K tokens, 35B-A3B-MTP holds ~50 tok/s where 27B drops below 30.
License
Apache 2.0 (inherited from Qwen3.6).
Provenance
Built on Crucible: 9950X / 96 GB DDR5 / RTX 3090 Ti. Sibling: localweights/Qwen3.6-27B-MTP-IQ4_XS-GGUF.
- Downloads last month
- 770
4-bit
Model tree for localweights/Qwen3.6-35B-A3B-MTP-IQ4_XS-GGUF
Base model
Qwen/Qwen3.6-35B-A3B