Jose Romero
← All letters
Prefer email? Read this on Substack

GLM-5.3-Flash on 128 GB: it runs. Should you?

GLM-5.3-Flash is the model that spent a week on OpenRouter as the anonymous, free "Ox Alpha" before Z.ai put its name on it and released the weights on August 26. 320 billion parameters, 18 billion active, MIT license, served on Chinese chips, priced at a fraction of the frontier models it is compared against. I am late to it, and I wanted one answer first: can my 128 GB Strix Halo desktop run it at all?

Yes. Here is what that took, what it cost, and what came out.

Every number in this video, and every raw file behind it

The results page has the run table, the four outputs, the thinking transcripts, the server logs, the exact prompts and the hand-fixed Ledger next to the broken one: hijoseromero.com/benchmarks/glm53-flash

The catch before the download

Stock llama.cpp, built the same night, refuses the file: unknown model architecture. GLM-5.3-Flash is a new architecture (hybrid sparse and linear attention, "hyper-connections"), and the support lives in Unsloth's branch of llama.cpp on a pull request that is still open. So this run is a branch build, Vulkan, with flash attention off because the branch requires it. MTP is in the file, but the branch does not use it yet.

Unsloth's own table sets the sizes: 1-bit needs about 100 GB, 2-bit 115, 3-bit 128 to 150. On 123 GB usable that is 1-bit yes, 2-bit maybe, 3-bit no. The smallest file, UD-IQ1_S, is 93 GB. Zero data retention and cheap subscriptions are a fine argument for the hosted version; this is the other argument, the one where nothing leaves the box.

The crash

My first attempt was Unsloth Desktop, which is the easiest way to run it. It loaded, at 1.9 tokens a second on max reasoning, and then I turned MTP (speculative decoding) on in the advanced settings, which was my mistake: MTP is not supported for GLM-5.3-Flash on this branch yet, and that is what took the machine down, not Unsloth Desktop. Memory maxed out, OBS closed itself to save the machine, then the app went, then the terminal. If you run this on your daily driver with a browser and a recording going, the 1-bit already leaves you almost nothing. I lost part of the recording to that, which is why the video jumps.

Second attempt: llama-server from the branch build directly, reasoning low, MTP off, the built-in chat page. It loaded in 25 seconds and answered at about 9 tokens a second. I threw a photo at it as a bonus round, since 5.3 adds vision, and it described a French bulldog in a puffer vest and a chunky gold chain without missing a detail. Vision works, even at 1-bit, with the image encoder kept on the CPU and a cap on image tokens so it does not eat the last 20 GB.

The four tests

Same four one-shot prompts I used for Qwen 3.8-Flash-Next and the Qwen 27B on the same machine: Blockfall (a falling-blocks game), Eruption (a volcano physics simulation), The Ledger (clean a messy CSV and build a correct dashboard), Blind Artist (a scene in pure SVG). Reasoning low, seed 42, one shot each, no harness, no tool calls. Run on August 28, then again on September 4 to make sure the first night was real.

Blockfall plays, with a ghost piece and a restart key, zero console errors. It even named itself Tetris without being asked. Eruption puts 900 particles on screen at 60 fps with live controls, but the volcano is drawn so deep the lava never escapes it; it works, it just does not look like a volcano. Blind Artist puts the servers on the forks, the dog in the hard hat, and signs the drawing "drawn by GLM", the first model in this suite to sign its own name (every Qwen build wrote Claude or Gemini). Ox Alpha was famously trained to hide what it was; 5.3 Flash knows.

The Ledger is the interesting failure. The numbers in the source are exact: California 16,091.26, Ohio 6,498.24, Texas 9,493.50, total 32,083.00, refunds negative, duplicate dropped. The page renders blank, because the script declares a variable called top at global scope, and top is a built-in browser property, so it throws before it draws. One identifier renamed by hand and the dashboard appears, all six numbers exact. I put the fixed render next to the broken one on the results page, because that is the version an agent harness would have shipped: a harness reads the console and fixes the crash before it hands you the file. A one-shot prompt does not get that second look.

Should you, today

Probably not yet. Nine tokens a second is a first-day floor set by an unmerged branch with the new ops unfused, and it will move when the PR merges with fused kernels and MTP. Until then, if you want a 100 GB-class model on this box, Qwen 3.8-Flash-Next 1-bit at 23 tokens a second is the one to run. But the smallest GLM-5.3-Flash runs, finishes what it starts at reasoning low, and does real work when it finishes.

Next: the bigger quants (1-bit M at 98 GB, 2-bit at 109 GB), the reasoning dial, and the same file through six agentic coding tasks on three harnesses. Each lands on the results page as it finishes.

My setup

Gear in this one

Some links on this page are affiliate links. If you buy through them I may earn a small commission at no extra cost to you. It helps support the work. As an Amazon Associate I earn from qualifying purchases.

Sources

Get the letters

Every post goes out free on Substack. What I build, break, and fix, written up in plain English. No spam, unsubscribe anytime.

Subscribe on Substack