Models › qwen38-27b

Qwen3.8-27Bbenchedno guard

27B densedense · hybrid attention (16 of 64 layers carry KV) · MTP headquant held: Q8_0 (unsloth) · UD-Q4_K_XL comparability armfirst measured 2026-08-15latest run 2026-08-15

Verdict

A 27-billion-parameter dense model with a hybrid attention layout that makes long context nearly free: the KV cache costs 64 KiB per token, 2.00 GiB at 32k, and both quants fit the full 262k declared context with more than 75 GiB of headroom clm-0056. The capability case pre-registered for it was met: 1.000 on the five-task τ² smoke against the 0.80 bar recorded before measurement, and 0.577 over the 26 tasks its capped full run completed clm-0057. Speed is the limitation, not competence: the dense floor decodes at 7.8 t/s, speculation via the MTP head is therefore mandatory, and its 2.33x lift to roughly 18 t/s is hard-capped at n_max 3 because higher settings corrupt generations outright in live sessions — a failure this lab characterised and staged for upstream clm-0055. Backend choice is not free either: decode is backend-indifferent, but Vulkan prefill halves at working depth and the device is lost entirely at 131k, so serving this model at depth requires ROCm clm-0054. The shallow probe picked the other backend — depth reversed it, which is the standing per-model, per-phase rule doing its work clm-0050.

verdict written 2026-08-15 · every number above stands next to the claim chip that carries it

Best configuration

modelQwen3.8-27B-Q8_0.gguf · Q8_0
engineggml-org/llama.cpp 3653e6d · rocm · host aihydra (igpu)
flags-ngl 999 -fa on -c 32768 -dev ROCm0 --spec-type draft-mtp --spec-draft-n-max 3 --jinja --reasoning-format deepseek --chat-template-kwargs {"reasoning_effort":"medium"} -n 4096 --parallel 1 --load-mode none --slots
samplingtemperature 1 · top_p 0.95 · max_tokens 4096
templatenot recorded at test time
treeupstream — stock

config record cfg-0066

decode @ 0
7.81 t/s
run-0246 · CV 0%
decode @ 32k
7.29 t/s
run-0248 · CV 0%
prefill @ 0
226.22 t/s
run-0245 · CV 0.3%
prefill @ 32k
159.98 t/s
run-0247 · CV 0.5%
draft-mtp decode speedup
2.33×
run-0268 · 18.25 vs 7.82 t/s floor
τ² airline · reasoning medium
0.577 ±0.190
run-0271 · passed 15/26
turns to done · median (all tasks)
24
run-0271 · successes only: 24 · max 44
wall-clock to done · median (successes only)
5.2 min
run-0271 · failures excluded — they have no done
Wh per correct answer
unmeasured
open question ↓

every cell generated from the record at build time · throughput cells from cfg-0062 (same build 3653e6d, fa on, f16 KV) · provenance: measured-here throughout

③aDecode against context depth

ROCm · Q8_0ROCm · UD-Q4_K_XLVulkan · Q8_0
051015032k65k131k204.8kdecode t/scontext depth (tokens)serving context 32k7.81 t/s @ depth 0 · run-0246 · CV 0% · N=37.29 t/s @ depth 32k · run-0248 · CV 0% · N=36.11 t/s @ depth 131k · run-0250 · CV 0% · N=311.44 t/s @ depth 0 · run-0252 · CV 0.1% · N=310.36 t/s @ depth 32k · run-0254 · CV 0% · N=38.14 t/s @ depth 131k · run-0256 · CV 0% · N=37.86 t/s @ depth 0 · run-0258 · CV 0% · N=37.27 t/s @ depth 32k · run-0260 · CV 0% · N=3ROCm · UD-Q4_K_XL · 8.14Vulkan · Q8_0 · 7.27ROCm · Q8_0 · 6.11
3 reps per cell · max CV 0.1% · build 3653e6d / 3653e6d · The Vulkan line ends where the record does: its deepest cells lost the GPU device on every attempt and are recorded as failed runs, not points. · records: run-0246 run-0248 run-0250 run-0252 run-0254 run-0256 run-0258 run-0260

Other configurations tested — each as a delta against best

variantΔ decodeΔ turns (paired tasks)Δ energynoterecords
UD-Q4_K_XL quant · same backend+42% @32kThe comparability arm decodes faster, as a dense model reading fewer bytes per token must — the capability screen ran on Q8_0, so the quant's own agentic score is unmeasured, not inherited. clm-0054
Vulkan backend · same quant-0.2% @32kDecode is a wash — the delta that matters is not in this column. Vulkan prefill collapses to roughly half of ROCm's at working depth, and at the deepest cell Vulkan lost the device on every attempt while ROCm completed the matrix. clm-0054 run-0265 run-0266
draft-mtp · n_max 3+133%Not optional on this model — the floor is unusably slow — and not safe above this setting either; the ceiling is a correctness bound, not a tuning preference. run-0268 clm-0055
draft-mtp · n_max above 3 hazardgenerations collapse to 1 token after accumulated session volume, and the broken cells report 1,000,000 t/s The EOS cliff: the speculative path drives the target's own next-token distribution onto end-of-turn in live varied-prompt sessions. Sweeps that average unfiltered throughput flatter exactly the broken settings. clm-0055

deltas computed at build time from the named runs, paired-task traces and metered windows — a hazard row shows words where a delta would mislead

Open questions

Provenance

bench host aihydra · rocm · ggml-org/llama.cpp 3653e6d
discipline 3 reps per throughput cell · scatter published per cell (max CV 0.5%) · guard chain on every performance series
window 2026-08-15 → 2026-08-15