GLM-5.3-Flash runs 3.3x faster locally with Unsloth's MTP build

Published Sep 04, 2026

GLM-5.3-Flash, the 320B-A18B MoE under the MIT license, has been local-able since launch but slow at the context lengths people actually run agents at. On September 4, Unsloth’s GLM-5.3-Flash guide shipped an update that closes a chunk of that gap: multi-token prediction (MTP) support in llama.cpp, with measured decode throughput up to 3.3x faster at long context. The work builds on the day-zero llama.cpp support PR (ggml-org/llama.cpp#27754) and lands through Unsloth’s fork branch glm5next/upstream.

Unsloth’s measured decode throughput (tg32) for GLM-5.3-Flash GGUF UD-IQ1_S on one B200. The optimized decoding path closes most of the gap by itself; MTP n=2 adds more on top where published.

Unsloth’s measured decode throughput (tg32) for GLM-5.3-Flash GGUF UD-IQ1_S on one B200. The optimized decoding path closes most of the gap by itself; MTP n=2 adds more on top where published.

What the numbers say

Unsloth’s table, one B200, GGUF UD-IQ1_S (93.09 GB), tg32 decode:

  • 4,096-token context: 53.5 tok/s baseline, 59.5 with the optimized decoding path, 86.5 with MTP at n=2 draft tokens. That is 1.48x over baseline.
  • 16,384-token context: 41.0 baseline, 58.0 optimized. 1.41x. MTP numbers were not published at this context length.
  • 65,536-token context: 20.7 baseline, 49.0 optimized. 2.37x, without MTP counted. The headline 3.3x sits at the longest contexts Unsloth measured.

Two things stand out. First, the optimized decode path alone carries most of the long-context gain, so the update is worth taking even before you touch MTP. Second, the gain grows with context: at 4K you get roughly 1.5x, at 64K more than 2x. That matches how MoE decode works - long context is where the per-token cost concentrates, so the same kernel work buys more.

This also lines up with what NVIDIA published two days earlier about speculative decoding generally: draft length is not free, and “higher AL does not equal higher speedup.” Unsloth found the same wall empirically. Their guidance: stop at around n=2 draft tokens, because more drafts make inference slower. GLM-5.3-Flash’s MTP module was trained into the checkpoint at pretraining time, which per NVIDIA’s benchmarking is exactly the mechanism that suits large models on big GPUs.

What you need to run it

The quant ladder is the gate. GLM-5.3-Flash is a 320B-parameter model, so RAM plus VRAM needs per Unsloth’s GGUF release:

  • 1-bit (UD-IQ1_S and friends): roughly 100 GB
  • 2-bit: roughly 115 GB
  • 3-bit: 128 to 150 GB
  • 4-bit: 162 to 210 GB

Unsloth’s demos used 3-bit UD-IQ3_XXS (120.37 GB) to fit 128 GB machines, which is also the memory class of a DGX Spark or a 128 GB Mac. The community numbers on exactly that class are real but smaller than the B200 table: the Weschera/glm53-flash-one-spark project measured one DGX Spark going from 17.9 tok/s to 25 to 34 tok/s after adopting the same work, roughly 1.4x to 1.9x. A 128 GB machine is running a 1-bit or low-3-bit quant, and the speedup compresses as the quant thins out and more time goes to dequantizing.

Setup paths, in order of friction:

  1. Unsloth Desktop: update to the latest version. MTP works out of the box with no extra files.
  2. Ollama / LM Studio / stock llama.cpp: the underlying llama.cpp PR is merged day-zero; Unsloth’s fork branch glm5next/upstream (built with -DGGML_CUDA=ON) carries the optimized MTP path if stock builds trail it.
  3. Build the fork yourself: clone, checkout the branch, build, point it at the Unsloth GGUF.

One early wrinkle showed up in the Hugging Face discussion: some builds hit an MTP load error (“nextm isn’t implemented”) before the fixes landed in the PR thread. If you pulled a build in the first days, update before concluding MTP does not work on your rig.

Who this is for

GLM-5.3-Flash at 320B-A18B is unusual among frontier-sized models: full weights on your own disk, MIT license, 1M context, and API pricing already near the floor at our price tiers ($0.15 per million input tokens, $0.50 output). The local case is the one it wins on control and the one it loses on convenience, and this update narrows the loss. If you run agentic workloads at 30K-plus context where decode crawls, this is a direct speedup on hardware you already have. If you have 128 GB and want the model at all, the 1.4x to 1.9x on a Spark is the difference between tolerable and tedious for long sessions.

Sources

Primary: Unsloth GLM-5.3-Flash guide · Unsloth GLM-5.3-Flash GGUF on Hugging Face · llama.cpp PR #27754.

Context: NVIDIA speculative decoding guidelines · Weschera/glm53-flash-one-spark.

Related on this site: GLM-5.3 model card · What each local-AI budget buys in 2026 · NVIDIA PAIR: route local AI across every PC

Discussion

Be the first to comment

Start a discussion

Got a take on this, a rig to show off, or a benchmark that says otherwise? Sign up and start the thread - your comment publishes instantly once you're in.