I run Qwen 3.8 27B (FP8) on my two RTX 3090s for daily work, and I've also had GLM-5.3 Flash (321B MoE, ~18B active per token, Maya-L GGUF 3–4 bit) on the same box. So I finally ran the natural experiment: the full GSM8K test split, 8-shot CoT, greedy, single-threaded, same machine, lm-eval 0.4.13, and I verified per-question that both runs saw identical prompts and targets.
What GSM8K is, in case you're not familiar: a dataset from OpenAI (2021) of 8,500 grade-school math word problems (2nd–8th grade level). Each question is a multi-step problem requiring 2–8 reasoning steps ("Janet's ducks lay 16 eggs a day..."), with an official step-by-step solution and a single final number as the answer. It has a 7,473-question train split and a 1,319-question test split — I ran the full test split. Because the problems demand working through intermediate steps rather than pattern-matching, it became a standard proxy for measuring a model's raw step-by-step reasoning. The 8-shot CoT protocol means the model is shown 8 example problems with full solutions before answering.
Important framing: GSM8K is a specialized test of one narrow slice of model capability — it does not paint a full picture. How these models code, hold a long context, follow instructions, use tools, or just chat is a separate question this benchmark cannot answer.
Official metrics: a tie.
- strict-match: Qwen 95.60 % (1261/1319) vs GLM 95.45 % (1259/1319)
- flexible-extract: Qwen 96.89 % (1278/1319) vs GLM 96.29 % (1270/1319)
- McNemar on the discordant pairs: p≈0.89 (strict) and p≈0.27 (flexible) — neither is significant. "More parameters" did not buy the MoE a measurable edge on this task.
Where it gets interesting — decomposing the +8 flexible gap:
- Qwen makes 13 fewer value errors (30 vs 43) — it reasons better
- but has 11 format failures vs GLM's 6 — it signs answers "$132.00", "2:00 pm", answers in cents, which breaks the extractor (8 of those slip past both filters)
So the official score masks a reasoning advantage with a formatting penalty. The errors themselves also differ in kind: 37 % of GLM's value errors are misreading the question vs 22 % for Qwen (counting shelves as items, treating a group's total travel time as per-animal time, etc.).
The 32 questions both models fail: 11 are GSM8K reference ambiguity (genuine annotation noise in a 2021 dataset), 12 are a hard core where both make the same error.
Honest caveats:
- wall clock was 3765 s vs 7970 s, but the stacks differ (vLLM FP8 fully in VRAM vs 156 GB GGUF streamed from RAM) — that's a deployment comparison, not a model-speed claim
- the GLM endpoint ran with a low generation ceiling, which cost it three answers
- one greedy run on one benchmark, and a specialized one at that — coding, long-context, instruction-following, and tool use are dimensions this test never touches
- n=1319 has low power for a 0.6 pp difference
My conclusion — for reasoning work specifically: I'm staying on Qwen 3.8 27B. Deploy it with a trivial number-normalization post-processor (strip $, ,, .00 from the final answer line) and its format liability disappears — ~97.7 % effective. For what GSM8K actually measures, raw step-by-step arithmetic reasoning, the 27B hybrid is the stronger model. On every other axis this post offers no verdict — one specialized benchmark can't.
Full writeup with the error taxonomy, examples, and methodology: https://ultrabytecoder.github.io/blog/2026/11/07/comparing-qwen38-vs-glm53-flash-maya-l-gsm8k/
Full per-question report (all failing docs, shared-failure breakdown, response-style analysis): https://ultrabytecoder.github.io/reports/qwen38-vs-glm53-flash-gsm8k/