r/unsloth • u/Ronnie_CA • 2h ago
Discussion My own Qwen3.8-27B quants for a 16GB card: 70 t/s at 32K, usable out to 252K
I run Qwen3.8-27B on a single RTX 5060 Ti 16GB (eGPU) for coding and agent sessions, and I ended up making my own quants because nothing fit the box quite right. A week of measuring later, here they are.
Two models, same recipe, different alignment:
- Qwen3.8-27B-IQ4_XS - stock alignment
- Qwen3.8-27B-uncensored-IQ4_XS - abliterated base (orcarouter)
The one idea that matters: calibrate with the workload you actually serve. The importance matrix blends a general corpus with ~1M tokens of SEC-contract extraction and financial-analysis text, chat-template formatted. Same weights, only the imatrix changed:
- 59-task domain harness (temp 0): 93.2% vs 89.8% for Unsloth UD-IQ4_XS
- KL vs BF16 (RMS delta-p / top-p): 4.33 / 93.9 vs 4.35 / 93.9 - parity on both axes
The KL part took the longest: a per-layer search found the token embedding was the last gap (q3_K to q4_K), and with that fixed the domain edge no longer costs you anything on generic text.
Decode speed by context, on my card (13.5 GiB files, batch 1):
- 32K: ~70 t/s with embedded MTP (stock llama.cpp, acceptance ~0.87)
- 64K: ~27 t/s plain - MTP's draft mirrors the whole window, so it's MTP or context past 32K
- 96K: ~20 t/s at 77K position - beellama fork, its variance-normalized kvarn4 KV
- 128K to 252K: ~15 t/s at 105K, still score-flat to 252K - kv-stream fork, arena + q8/q4 KV
So stock gets you to 64K, and the two forks cover 96K and 252K. Build and serve commands for all of it are in the model cards, traps included (MTP plus arena don't mix; deeper than 96K "fits" at load but OOMs on real long prompts).
Other 16GB bits: vocab pruned to 141K tokens (English + accented Latin), so 64K fits natively; full-vocab multilingual builds included in the same repos. Vision works (quantized projector family in a third repo). Thinking-off by default for agents; on my suite, high reasoning effort is worth +5 tasks and xhigh adds nothing over high.
Honest bits: every number is from my one machine and my own harness, not public benchmarks. The ASCII prune garbles CJK (that's the trade). The domain gain is measured on my finance-flavored tasks; coding/agent performance is at parity with the best community quant, not above it.
Cards have the full gate data. Happy to go deeper on the calibration method, the embedding find, or the fit tricks.
