Qwen3.8-27B quantization: Q4, Q5 or W4A16?
Q4 leaves room for longer context, Q5 consumes more VRAM, and W4A16 needs a different stack. Here are the profiles that fit and what the test cannot prove.
Syntalith
On the home RTX 3090, quantization selected a complete operating profile. Q5 consumed more space and constrained long context. Q4 left KV cache more room. W4A16 AutoRound produced the strongest whole-system result in one task on another engine, but that run cannot isolate weight quality.
When a supplier promises “almost no quality loss”, ask for the result on your tasks and the exact artifact hash.
What gets compressed
A 27B model in BF16 needs roughly 55 GB for weights. Quantization stores some values with fewer bits, reducing memory and memory bandwidth while introducing approximation.
In practice, a profile separately chooses:
- model-weight precision;
- KV-cache precision for prior context;
- precision of the additional MTP head;
- a format and kernels supported by the server.
“4-bit” is therefore not one technology. GGUF Q4_K_M, AutoRound W4A16 and NVFP4 use different procedures, precision layouts and runtimes.
Official Unsloth GGUF sizes
The Qwen3.8-27B GGUF repository lists:
| Format | Weight size | Consequence on a 24 GB card |
|---|---|---|
| UD-Q4_K_M | 16.5 GB | practical room for cache |
| UD-Q5_K_M | 19.8 GB | tighter long-context budget |
| UD-Q6_K | 22.0 GB | little room for cache and buffers |
| Q8_0 | 29.0 GB | does not fit fully |
| BF16 | 54.7 GB | needs a larger card or several GPUs |
Our 60k llama.cpp profile used Q5_K_M and Q8 cache. The 120k and 250k profiles used Q4_K_M. At 250k, cache dropped to Q4 and batch settings became much smaller. The longer window was purchased with several compromises.
Four profiles that actually fit in 24 GB
| Profile | Weights / cache | Context | Peak VRAM | Free from 24,576 MiB | Measured workload |
|---|---|---|---|---|---|
llama.cpp 60k | Q5_K_M / Q8 | 65,536 | 22,287 MiB | 2,289 MiB | raw 50,059-token recall |
llama.cpp 120k | Q4_K_M / Q8 | 131,072 | 22,649 MiB | 1,927 MiB | raw 115,074-token recall |
llama.cpp 250k | Q4_K_M / Q4 | 250,000 | 23,623 MiB | 953 MiB | raw 230,085-token recall |
| patched vLLM 150k | W4A16 / FP8 | 150,000 | 22,539 MiB | 2,037 MiB | Qwen Code Go task |
The first three rows came from the same recall test. The final row came from a different long agent task, so it is not a direct memory benchmark against GGUF. It is the observed peak for the profile selected for further work.
The 250k profile fit with less than 1 GiB free, a smaller batch and Q4 cache. It was an experimental maximum-window profile. The measurement does not show comfortable capacity for several sessions. The server still had one slot.
How W4A16 differs
W4A16 roughly means 4-bit weights and 16-bit activations. Our AutoRound checkpoint ran on a frozen third-party patched vLLM image, with FP8 KV cache and additional RTX 3090 work. It is not a GGUF file that can be swapped into llama.cpp.
On one matched task, the complete W4A16/vLLM profile scored 100/100 in 502.14 seconds. Dynamic V3 Q4_K_M on llama.cpp scored 98/100 in 1,468.76 seconds. Server, cache, speculation and context limit also differed. The result selects an operating profile; it does not isolate weight quality.
Reading vendor accuracy claims
Unsloth describes Dynamic V3 as delivering about 10% more accuracy at the same size. That is the quantization vendor's claim under its evaluation method. We did not observe a 10% agent-quality increase.
Supporting that stronger statement would require:
- identical prompts and runtime;
- several weight formats under matched settings;
- repeated runs with a frozen sampler;
- a task set representing the process;
- independent answer scoring.
We did not need that claim to select the experiment profile. Quality was at least comparable and the whole-task time margin was large. That is a narrower, defensible conclusion.
KV cache can consume the saving
Long context stores keys and values for prior tokens. It can occupy several gigabytes for one user and grows with concurrent sequences. A 16.5 GB weight file does not leave a clean 7.5 GB budget on a 24 GB card.
Reducing cache from Q8 to Q4 increases capacity but may affect access to long material. Test it with facts at different positions and a synthesis task. A successful server launch alone proves too little.
A selection procedure
- Begin with the highest precision that fits the typical context.
- Run the acceptance set and retain outputs.
- Reduce weight or cache precision separately where possible.
- Compare quality, time, VRAM and correction cost.
- Set a required VRAM margin and reject profiles that repeatedly cross it.
- Pin the winning artifact hash.
A document app may reveal loss in numbers and citations. A coding agent may reveal it in scope, contracts and tool syntax. One average perplexity number cannot replace both.
Syntalith performs this comparison in an AI process audit or as part of an AI app. The client receives the selected variant, rejected alternatives, measurements and an upgrade gate. Book a free scan when it is not yet clear that the process needs a 27B model.
Free process scan
Start with a free process scan.
- A 30-minute call with the engineer who would lead the work.
- A review of the processes that cost you the most time and money.
- A written summary of what to automate first and the likely cost range.
The scan chooses one process to assess, and within 2 business days you receive a recommendation, including when a simpler route is the better fit.
€0
30 minutes · written takeaway within 2 business days
Times are shown in your own time zone. We work with clients across time zones.
Describe the process in the form