Model← Models
Qwen3.8 27B
27B dense, MLX 4-bit (MTP build, template patched to reasoning_effort=medium), 15.0 GB.
- Parameters
- 27B
- Quant
- MLX 4-bit (MTP build, template patched to reasoning_effort=medium)
- Size
- 15.0 GB
- Family
- qwen3.x
qwen3.8-27b
Seated · agenticdenseresidentllama.cppmlxomlx
Model card ↗Outcome as of 20 September 2026, from the seat registry. The write-up below was made when the model was tested.
Why it was tested
The dense counterweight to the MoE fleet, and the model where MLX first beat llama.cpp. Promoted to the agent seat on 2026-09-09 after toolcall/1.
What came of it
Holds the agent seat, and it is the only model here whose tool use survives a change of runtime. 60/60 on toolcall/1 across all five arms, scored identically under rapid-mlx and oMLX, where every other model moved substantially. It is the sole model that calls a tool nobody mentioned (12/12 against 1/12 and 0/12). Slowest of the three seats at about 15 tok/s single-stream, 62.1 aggregate at n=32. Dense at 27B so bandwidth-bound: an independent M3 Ultra baseline of 27.9 tok/s halves to 14 on this chip, which matches what we measure, so it is performing exactly as the hardware dictates. Served from a build whose chat template defaults reasoning_effort to medium rather than xhigh, which halves time-to-answer at identical decode rate.
| Suite | Score | 95% interval | Passed | Runtime · profile | Recorded |
|---|---|---|---|---|---|
| epistemics | 100.0% | 92.6–100.0 | Passed 48/48 | llama.cppstudy-nothink | 2026-08-24 |
| grounding | 80.0% | 72.1–86.1 | Passed 100/125 | llama.cppextraction | 2026-08-24 |
| toolcall | 100.0% | 94.0–100.0 | Passed 60/60 | llama.cppextraction | 2026-09-09 |
| tools | 100.0% | 79.6–100.0 | Passed 15/15 | llama.cppagentic-fast | 2026-08-24 |
Runs marked unenforced were measured through mlx_lm on a suite that requires constrained decoding. mlx_lm accepts the schema and ignores it, so those numbers do not measure what the suite is designed to measure. They are kept and labelled rather than deleted.
Every run log entry for this model (4)
| Finished | Suite | Runtime · profile | Score | Coverage | Grader · dataset · config |
|---|---|---|---|---|---|
| toolcalltoolcall/1 | not recordedextraction | 100.0% | Coverage 60/60 | g 804e8fc9457649d8d 10af88c170513155c ac125d630f2b70bc | |
| groundinggrounding/1 | llama.cppextraction | 80.0% | Coverage 125/125 | g 30b933dcc6a7e2d4d dcb396faf8b83b0ac 1d989a6b00eb212c | |
| epistemicsepistemics/4 | llama.cppstudy-nothink | 100.0% | Coverage 48/48 | g 2a2f7e4e90d6dd63d 4bce453fd376553cc 541a385213b500cb | |
| toolstools/1 | llama.cppagentic-fast | 100.0% | Coverage 15/15 | g d6a32c09e57bea7bd 33a44812f0ad4c39c 35475e0c17bfc385 |
- Qwen3 Coder 30BMeasured, not seated
30B · MoE · Q4_K_M · 18.0 GB
The first coding model measured against a real coding contract rather than an extraction suite.
- Qwen3.5 122B-A10BRemoved
122B · MoE · IQ3 · 45.0 GB
Tested as the largest MoE that would fit, on the assumption that more parameters would win.
- Qwen3.6 35B-A3BMeasured, not seated
35B · MoE · MLX 4-bit (also held as UD-Q5_K_M GGUF) · 19.0 GB
Tested as the fast general MoE, and used as the daily coding driver in DSH. Moved to an MLX build on 2026-09-09.
- Qwen3.8-Flash-NextRemoved
180B · MoE · AD-3.84bpw M64 · 79.1 GB
Tested because the M64 shard layout claims to run a 180B model on 64GB by keeping a 51B n-gram embedding table on SSD.
- 2026-09-14Q4_0 decodes up to 2x faster than Q4_K_M at the same bit-width, and emits valid JSON more reliablyrevised
- 2026-09-14Byte alignment, not bit count, governs decode speedrevised
- 2026-09-11Runtime changes HOW a model phrases a refusal, and nullschema scores that as fabrication
- 2026-09-11llama.cpp's --spec-draft-p-min defaults to 0.00, which guarantees wasted drafts
- 2026-09-11Quantisation format changes output CONVENTIONS, not abstention judgementrevised
- 2026-09-11The 'MLX is 3x faster on MoE' claim benchmarks Ollama, not llama.cpp
- 2026-09-11On a sparse MoE, speculative decoding fails even at 96% draft acceptance
- 2026-09-11Badly-chosen mixed precision costs abstention; sensitivity-aware mixing protects itrevised
- 2026-09-10Tool perception is binary and tracks the checkpoint, not size or vendor claims
- 2026-09-09oMLX degrades models it has no native kernel for, by up to 58 points
- 2026-09-09Models call tools when given an if-then rule, not when told a tool exists
- 2026-09-09Running 32 requests at once is worth 3-4x, and single-stream tok/s is the wrong metric
- 2026-09-09Speculative decoding does not pay on this box except embedded MTP on llama.cpp
- 2026-09-08mlx_lm silently ignores response_format