Benchmarking Qwen3.8 27B quantizations: 4-bit holds up, 1-bit collapses
Posted by stared 7 hours ago
Comments
Comment by spider-mario 6 hours ago
Confidence intervals have nothing to do with run-to-run variation. They have little to do with anything people usually ascribe to them (https://link.springer.com/article/10.3758/s13423-015-0947-8 ), but even less with run-to-run variation (https://link.springer.com/article/10.1007/s10654-016-0149-3 misconception 22).
Comment by stared 4 hours ago
It is a different problem if we pick two sets from the same data distribution, A and B, and first we have a score on A, then on B. Here we re-run on precisely the same set of Terminal Bench 2.1 problems. It may be that results are so random between runs that each single task has the same probability in a Bernoulli distribution. But more likely, many problems are easy (i.e. each run will solve them consistently), many are too hard (i.e. no run is going to solve them) and only a fraction is somehow in between.
Maybe there is some good trick to find a proper distribution, but to my knowledge, we would need to run it at least two times on TB2.1 to get any more educated estimates. That said, I am open to new ideas.
That said, I consider frequentist probability a dirty trick, and that Bayesian is the proper way of doing things (vide David J.C. MacKay" Information Theory, Inference, and Learning Algorithms" and Cam Davidson-Pilon "Probabilistic Programming & Bayesian Methods for Hackers" https://www.inference.org.uk/itprnn/book.pdf, https://dataorigami.net/Probabilistic-Programming-and-Bayesi...).
Comment by tomrod 1 hour ago
Comment by ricardobeat 2 hours ago
I'm not that well versed in statistics, but a standard box plot is probably the best alternative
Comment by stared 1 hour ago
Comment by diseasedyak 4 hours ago
Saying there's a confidence interval for run-to-run makes no sense, from the way I understand it, because each run could have a result that's all over the place.
Comment by spider-mario 3 hours ago
Let’s say that the “true” distribution of the data has mean μ=100 and standard deviation σ=15, but we don’t know that.
95% confidence interval for μ = “if we repeatedly draw N samples from the true distribution and compute a confidence interval every time, 95% of those intervals will contain μ.” That’s all that the definition of a confidence interval guarantees. It does not follow that if we take one of those intervals, it, specifically, has a 95% chance of containing μ. For a frequentist, that’s a meaningless statement (both the interval and μ are fixed so there’s no frequentist probability about it); for a Bayesian, there is no guarantee that that probability is 95%. 95% is instead the probability of “sampling data that will happen to generate an interval that contains μ”.
95% Bayesian credible interval for μ = interval that can be interpreted as having a 95% probability of containing μ, generally obtained by computing the posterior probability density distribution for μ and finding an interval that encompasses 95% of the probability mass. Conventions include highest-density intervals (HDIs), which are obtained by making sure that the PDF is equal at both bounds, and equal-tailed intervals (equal probability mass before and after the interval). With enough samples, it may become arbitrarily narrow (“we are very sure of the mean”), despite the standard deviation of 15 that is built into the “true” distribution that we are estimating, and a Jeffreys prior will happen to make it satisfy the definition of a confidence interval as well (https://sami.boo/jaynes/confidence-intervals-vs-bayesian-int... ).
Posterior predictive distribution = taking into account the uncertainty on both μ and σ, distribution of samples that would be obtained by sampling from N(μ, σ) (which, because of that uncertainty, is a https://en.wikipedia.org/wiki/Compound_probability_distribut... but may have a convenient closed form https://en.wikipedia.org/wiki/Conjugate_prior#Table_of_conju... ), from which we can likewise extract a 95% interval.
Comment by jnwatson 6 hours ago
Comment by exogenousdata 5 hours ago
Comment by maCDzP 4 hours ago
Comment by fr2029 5 hours ago
Comment by sharmajai 5 hours ago
It's well-known that while quantization affects the sampling probability distribution (given the same context, which next token is the most probable), Qwen 3.8 27b seems to offset that by just thinking more and as a result eventually finishing the task (benchmark or otherwise).
So as long as the thinking (albeit longer) is sound, this leads to the same success rate (as shown in the article) but potentially at the cost of more tokens and hence more time.
I think it'll be further useful to chart each quantization's used tokens as well, in addition to the success rate.
Thanks for doing and sharing the research!
Comment by seemaze 5 hours ago
In the age of the rampocalypse, the peasants may not have a choice between the two.. time it is!
Comment by chmod775 4 hours ago
Comment by celrod 4 hours ago
Comment by conmod278 4 hours ago
Comment by anyfoo 4 hours ago
I have another personal benchmark problem (of a very different nature) that Qwen3.8-27B usually can’t solve at all, while Opus and GLM-5.3-Flash solve it consistently and very beautifully.
Comment by anon291 5 hours ago
Comment by kennywinker 4 hours ago
Comment by lowbloodsugar 5 hours ago
Comment by anyfoo 1 hour ago
Like wanting to implement an entire emulator to figure out something it could easily glean otherwise (and does, in non-thinking mode).
Comment by purpleflame1257 6 hours ago
Comment by civvv 6 hours ago
Comment by brynx97 2 hours ago
Comment by civvv 2 hours ago
I’m running Qwen3.8-27B-Unleashed UD-Q3_K_XL, which is a ~12.3 GiB Q3 quant, fully offloaded to the 16 GB 9070 XT. I disabled the vision projector to save VRAM and use one inference slot, Flash Attention, Q4 KV cache, --fit off, and --ctx-checkpoints 0. I’m running it with a 64K context window. The AMD driver also needs to be recent enough for ROCm 7.14; I targeted Adrenalin 26.6.4 or newer.
Comment by Forgeties79 5 hours ago
Comment by civvv 2 hours ago
Comment by 7speter 2 hours ago
Comment by slim 5 hours ago
Comment by dofm 5 hours ago
https://huggingface.co/ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF
Luke of Luke’s Dev Lab on YouTube had a look at it. It seems to outperform the typical 3-bit quantisation but whether it outperforms the new Unsloth dynamic I don’t know.
Comment by jadbox 6 hours ago
Comment by dofm 5 hours ago
https://huggingface.co/ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF
(I don’t know much about it, just saw a YouTube video about it last night)
Comment by kennywinker 4 hours ago
https://huggingface.co/Jackrong/Qwopus3.8-27B-Flash-GGUF
Runs the 3bit model faster than the 2bit one runs on my old-ass card. Can’t vouch for its intelligence yet, but i suspect whatever loss in smarts it takes is made up for by the extra resolution.
Comment by selectodude 4 hours ago
Comment by alentred 4 hours ago
I use Qwen3.8 27B Q4_K_M for coding sometimes and therefore need a relatively long context. I settled on q8_0 because it is the only way to fit the model + 100k tokens into 24GB VRAM, but still wonder what am I loosing in quality, and what other options are there.
I also heard that KV cache quantization matters more with longer contexts. It may be interesting to benchmark this too: what the quality looks like on different combinations of model quantization × KV cache quantization × context size.
Comment by skolos 2 hours ago
Comment by skolos 2 hours ago
I'm now running NVFP4 quantized both weight and cache on my RTX5090 and getting excellent results: 264k cache allocated for pool, 10k tok/s prompt processing, 200 tok/s generation for single stream, or 801 tok/s generation for 8 concurrent streams. Also have about 2Gb vram left for use of OS.
my coding agents regularly reach 200k context used without noticeable degradation.
P.S. I used setup from: https://github.com/seanyourhighness/vllm-sm12x-nvfp4-dflash2
Comment by quotemstr 3 hours ago
Comment by kmike84 1 hour ago
But I think there is a bit more to this:
> Measuring token prediction differences (KL-divergence, top-1 predictions) is easy, but it does not tell us whether the model gets worse at solving tasks.
A common issue is that it's rarely mentioned on which dataset KL-divergence is computed. It seems the most common dataset is wikitext - maybe because of tradition, to make numbers more comparable? It's not measuring how well the model follows bf16 on agentic tasks.
I've been trying to check KLD recently for some quants of Qwen 3.8 27B, and the numbers are dramatically different, depending on which dataset you use. KLD computed on agentic traces is much higher, and top-1 % is way lower than if you compute it on chats or wiki text.
You look at a published number, and see "oh, nice, top1 is 99% - quant is different just in 1 token out of 100", but chances are it's computed on wiki, and on agentic / coding it can be 10 tokens out of 100.
Common intuition is that on agentic tasks errors compound, and that's why it degrades more than metrics show - but maybe the metrics themselves are also wrong, too optimistic.
Still investigating it though :)
Comment by Farmadupe 5 hours ago
Because on the one hand, the prose and the presentation is painful (narrating irrelevant points, nonlinear X-axes, ambiguous chart labels, etc etc),
But on the other hand, the result that I'm assuming the author means to communicate ("on these evals, generation quality seems fairly good") sounds worthwhile to share?
Because I really struggle with this question at the moment. Am I allowed to draw an adverse inference that "if the writeup presents irrelevant text side by side with the data, then this may be a sign that the author does not understand the task that they are attempting to write up"?
Comment by stared 5 hours ago
So, if there are irrelevant remarks, these are mine. :)
Charts are vibe-coded - but it took quite a bit of hand-holding to get something decent. And the logarithmic scale for model size is my conscious choice (against Claude's initial ideas).
Comment by cogman10 5 hours ago
The line is "Is this an interesting and accurate article that concisely makes it's case".
LLMs love to burn paragraphs writing about nothing which is why it's generally poor writing. Humans can do the same thing if they are trying to make very little information feel more substantial.
I say, stop trying to determine if an LLM was used and start judging based on your subjective measure that you'd have used before LLMs became widespread.
Comment by Farmadupe 5 hours ago
-----
Similarly, if what I said really is true, I would be implying that LLMs are charlatan/fraudster detectors (to some statistical level). And I refuse on principle to believe that that is actually the case.
Comment by dofm 5 hours ago
In a week’s time I might remember the substance of your comment and some of its shape as a matter of course. Nothing LLM-written that I see today will stick, no matter how curated it was.
Comment by wiml 2 hours ago
Comment by jameshart 1 hour ago
And if you don’t find any of the word choices a little bit perplexing, your brain can just gloss over it. There is no meaning here. It’s like smalltalk.
Comment by dofm 9 minutes ago
It really bugs me, this aspect of LLMs, and yet I find myself sounding like a lunatic when I describe it, until others chime in and say they have the same experience.
Comment by dofm 1 hour ago
It is like a rollercoaster that doesn't have any jerk or jounce.
Comment by wiml 2 hours ago
Comment by cogman10 5 hours ago
Comment by dofm 4 hours ago
I use LLMs to generate starter/tutorial material. I may hate the way Claude writes but I absolutely don't hate the way Gemma 4 writes. But I have to continuously consult it in a way that I do not with human-written text, which gets its message across in a more persistent way I find less troubling.
(This non-memorability extends to AI images and video.)
You are right that there are some confounding factors in my life but while I was worried about middle age affecting recall, I find actually I am still remembering stuff humans wrote pretty much fine.
ETA: there is one thing that I have noticed that does affect recall that is specific to LLMs: watching text roll out word-by-word in LLM chat, I think, damages recall. It's engaging the wrong kind of memory and focus.
So I now let it generate and I'm trying to find decent ways to format it e.g. as PDF, to give it the best chance.
This could be generational; there were many studies twenty years ago that suggest that people a decade or so younger than me who grew up with full colour books and magazines and multimedia can read less-linear text layouts more comfortably, for example, so it's not out of the question that there's something generational going on here too.
Comment by lowbloodsugar 4 hours ago
Comment by vardalab 4 hours ago
Comment by kennywinker 4 hours ago
Comment by nhecker 3 hours ago
Comment by nottorp 3 hours ago
Or they don't admit to reading fiction...
Comment by clircle 5 hours ago
Comment by JSR_FDED 5 hours ago
Comment by anyfoo 4 hours ago
To my own surprise, Q6_K_XL (from unsloth) comes up with a solution, anything Q5 doesn’t. To further surprise me, so far only the XL Q6 variant managed to solve it.
The problem, at least as stated, seems to be right on the edge of what the Q6 quantization can do.
Unfortunately even a successful run is rather long, so I don’t have a whole lot of data.
But the whole thing sure made me doubt the common idea that you wouldn’t perceive a difference until crossing past 4 bits quantization.
Comment by teaearlgraycold 4 hours ago
Comment by anyfoo 4 hours ago
But there I literally did read “you don’t need anything better than 4 bpw” a bunch of times.
Comment by anyfoo 3 hours ago
Err… can someone explain to me what is meant here? Surely the model wouldn’t consistently “guess wrong” compared to randomly, as that would be better. I guess some things like general coherency (i.e. is it even readable or gibberish) factor into that score?
Comment by magnat 3 hours ago
On the other hand, not sure where from 25% baseline for random answers come from. Since this is multiple-choice-out-of-4 test, random guessing should be correct in 1 in 15 cases, not 1 in 4.
Comment by syntaxing 5 hours ago
Comment by seamossfet 3 hours ago
Comment by mrbonner 3 hours ago
Comment by kouteiheika 5 hours ago
Comment by wgd 4 hours ago
Comment by nozzlegear 1 hour ago
Comment by dvh 5 hours ago
Comment by KennyBlanken 2 hours ago
General purpose agents can need up to 30k just to reply with "1+1=2" because their prompting is so overloaded. 60-70k is decently usable, still not great for anything complex. A long running task in a general purpose agent can easily hit 100k.
What the vast majority of people care about is performance around what desktop consumer GPUs can run. 8GB, 10, 12, and 16GB of VRAM. What do models that will run at full performance, do?
Also important to know is how Qwen3.8-27B stacks up against qwen3.6-35B-A3B, which due to being MoE, will run on a 16GB card with plenty of speed 90% of the time, at higher quant - so you get more parameters and better quant. But 3.8 is supposed to be "better", so...?
Comment by sanjusangh 2 hours ago
Comment by rvba 4 hours ago
But is there any model that actually works in a decent way at quantization of 1?
Comment by bellowsgulch 6 hours ago
Unfortunately, the calculus has changed and it seems cheaper to me to just use MiMo V2.5 for pennies or DeepSeek V4 Flash instead of using Qwen anymore unless I need a local model specifically for doing reverse engineering work that gets otherwise rejected.
Comment by spider-mario 6 hours ago
Have you tried it with MTPLX? I get around 30 tok/s with it, also on an M1 Max with 64GB.
Comment by SwellJoe 6 hours ago
Comment by lowbloodsugar 4 hours ago
Comment by Xeoncross 6 hours ago
Comment by spider-mario 4 hours ago
I tried it with the author’s 4-bit quant of Qwen 3.8 27B: https://huggingface.co/Youssofal/Qwen3.8-27B-MTPLX-Optimized... (but no need to download it manually; MTPLX will ask which one you want).
Comment by bellowsgulch 5 hours ago
Comment by Xeoncross 6 hours ago
Comment by sroussey 5 hours ago
Comment by sidewndr46 4 hours ago
Comment by ThrowawayTestr 5 hours ago
Comment by quietraster 6 hours ago
Comment by zrail 5 hours ago
/data/llm/llama.cpp/build/bin/llama-server
--threads 4
--threads-batch 8
--batch-size 4096
--ubatch-size 256
--port 9999
--temp "1.0"
--top-p "0.95"
--top-k "20"
--min-p "0.0"
--presence-penalty "0.0"
--reasoning auto
--reasoning-preserve
--reasoning-budget 4096
--gpu-layers-draft all
--spec-type draft-mtp,ngram-map-k4v,ngram-mod
--spec-draft-n-max 3
--spec-draft-p-min 0.75
--spec-ngram-mod-n-match 24
--spec-ngram-mod-n-min 4
--spec-ngram-mod-n-max 16
--spec-ngram-map-k4v-size-n 8
--spec-ngram-map-k4v-size-m 16
--spec-ngram-map-k4v-min-hits 1
--n-gpu-layers all
--ctx-size 131072
--repeat-penalty 1.0
--jinja
--metrics
--model /data/llm/models/unsloth/Qwen3.8-27B-UD-IQ3_S.gguf
--chat-template-file /data/llm/models/qwen3.6-chat-template.jinja
--fit off
--flash-attn on
--cors-origins localhost
--mmproj /data/llm/models/unsloth/Qwen3.8/mmproj-BF16.gguf
--no-mmproj-offload
--parallel 1
--kv-unified
--cache-type-k q4_0
--cache-type-v q4_0
--cache-type-k-draft q4_0
--cache-type-v-draft q4_0Comment by zrail 3 hours ago
The chat template is froggeric's fixed qwen template, v22.5 as of today.
Comment by InvectusXIV 6 hours ago
Comment by john_rood 5 hours ago
Comment by dotinvictim 5 hours ago
Comment by Winfred-zz 34 minutes ago
qwen3.8-27b 4bit has a following specifically for being exceptionally gifted for such a small model.
Comment by kennywinker 4 hours ago
Comment by fshr 1 hour ago
I think you're referring to a 5060Ti 16GB, yes?
32k context is easily done there. 64k can work with a more aggressive quant, but you lose a bit of speed.
Comment by kennywinker 51 minutes ago
But I don’t quite follow you - how does a more aggressive quant slow it down? Less bits per token means faster inference not slower.
Comment by TomBombadildoze 4 hours ago
I use a combination of a Claude Max subscription and local inference, including qwen3.8-27b, 4bit. I have found qwen to be absolutely useless at anything but very specific, surgical code changes. In my experience, for anything even remotely nuanced, a frontier model is required.
Comment by kennywinker 3 hours ago
Index methodologies here: https://artificialanalysis.ai/evaluations/artificial-analysi...
Also see some specific benchmarks here: https://huggingface.co/Qwen/Qwen3.8-27B e.g. qwen scores 61.7 on swe bench pro, while opus 4.6 scores 53.4.
If you want to argue with the benchmarks, go for it. Fwiw i am not saying qwen3.8-27b is better or as good as the frontier. But i am saying it has crossed the threshold and is now a useful tool for coding and debugging. From my experience, Qwen3.6-35b-a3b was what you describe - it could do surgical edits only.
Comment by brandon272 1 hour ago