Views
No views yet
model_type: qwen3_5full_attention_interval=4) — most layers use constant-memory linear attention, so long context stays cheap.q/k/v/o, GatedDeltaNet projections, MLP gate/up/down, lm_head) → 3-bitNote: this is an instruct / chat model with a thinking mode — its chat template emits a reasoning trace before the answer. The streaming generator applies the chat template automatically.
turboquant-mlx-full >= 0.15.1):turboquant-plan --model manjunathshiva/Qwen3.6-27B-tq3-g32Model
weights (exact) 14.4 GB
KV cache 64.0 KB/token (hybrid: 16/64 full-attention)
Verdict: <resident | needs a wired-limit raise | streaming>
Recommended: <the exact flags for your Mac>--wired-gb / --ram-gb are for:1turboquant-plan --model manjunathshiva/Qwen3.6-27B-tq3-g32 \
2 --wired-gb 10.5 --ram-gb 16 --context 8192turboquant-doctor runs the same projection plus a readiness check; both take --json. The projection is calibrated against real measurements on a 16 GB Mac mini rather than estimated from theory — on the 9.4 GB ternary 35B it predicts a 10.44 GB peak where that machine measures 10.42.--temp 0.7, on a 64 GB Mac): asked for merge_intervals, it derived the correct sort → sweep → max-merge algorithm, handled the empty case, and self-verified its own example ([[1,3],[2,6],[8,10],[15,18]] → [[1,6],[8,10],[15,18]]). Coherent and correct.| Metric | Value |
|---|---|
| Disk size | ~13 GB (3 shards) |
| Peak runtime memory | ~17.5 GB (fits 48 GB with headroom for KV) |
| Decode speed | ~14 tok/s (accurate path); --fast skips QJL for ~25% faster |
1# macOS with Apple Silicon (M1/M2/M3/M4)
2pip install turboquant-mlx-full mlx-lm1python -m turboquant_mlx.generate \
2 --model ~/path/to/Qwen3.6-27B-tq3-g32 \
3 --prompt "Write a Python function that merges overlapping intervals." \
4 --max-tokens 512 \
5 --temp 0.7⚠️ Stockmlx_lm'sload()/mlx_lm.servercannot load a TurboQuant model — thequantization.mode = "turboquant"field raisesKeyError: 'turboquant'. Useturboquant-serve, which wrapsmlx_lm.serverand patches the loader so the weights load through the PolarQuant path, then exposes the standard OpenAI endpoints. This is how you wire the model into an IDE for local coding.
1# Serve directly from the Hugging Face Hub
2turboquant-serve --model manjunathshiva/Qwen3.6-27B-tq3-g32 --port 8080
3
4# ...or from a local copy
5turboquant-serve --model ./Qwen3.6-27B-tq3-g32 --port 8080model field must match the
--model string). Use a generous max_tokens — this is a thinking model, so the
reasoning trace and the final answer share the budget (mlx-lm splits them into
message.reasoning and message.content):1curl http://localhost:8080/v1/chat/completions \
2 -H "Content-Type: application/json" \
3 -d '{
4 "model": "manjunathshiva/Qwen3.6-27B-tq3-g32",
5 "messages": [{"role": "user", "content": "Write a Python function that merges overlapping intervals."}],
6 "max_tokens": 2048,
7 "temperature": 0.7
8 }'1from openai import OpenAI
2
3client = OpenAI(base_url="http://localhost:8080/v1", api_key="not-needed")
4resp = client.chat.completions.create(
5 model="manjunathshiva/Qwen3.6-27B-tq3-g32",
6 messages=[{"role": "user", "content": "Write a Python function that merges overlapping intervals."}],
7 max_tokens=2048,
8 temperature=0.7,
9 stream=True,
10)
11for chunk in resp:
12 print(chunk.choices[0].delta.content or "", end="", flush=True)http://localhost:8080/v1 and set the model to manjunathshiva/Qwen3.6-27B-tq3-g32.mlx_lm.server flags forward unchanged (turboquant-serve --help) — including
--draft-model / --num-draft-tokens for speculative decoding. Note:
mlx_lm.server is for development / local use — no authentication or rate limiting.1python -m turboquant_mlx.generate \
2 --model ~/path/to/Qwen3.6-27B-tq3-g32 \
3 --prompt "$(cat your_long_codebase_context.txt)" \
4 --max-tokens 512 --temp 0.7 \
5 --kv-k-bits 8 --kv-v-bits 31python -m turboquant_mlx.convert \
2 --hf-path Qwen/Qwen3.6-27B \
3 --mlx-path /path/to/Qwen3.6-27B-tq3-g32 \
4 --bits 3 --group-size 32 --streaming--streaming writes each quantized layer to a shard and frees it, so the full model converts in a few GB of RAM. (TurboQuant-MLX ≥ 0.6.2 also forces the disk read ahead of GPU compute, so conversion works even off slow USB storage without tripping the Metal GPU watchdog.)1@article{zandieh2025turboquant,
2 title={TurboQuant: Online Vector Quantization with Near-optimal Distortion Rate},
3 author={Zandieh, Amir and Daliri, Majid and Hadian, Majid and Mirrokni, Vahab},
4 year={2025},
5 eprint={2504.19874},
6 archivePrefix={arXiv},
7 primaryClass={cs.LG},
8 url={https://arxiv.org/abs/2504.19874}
9}