GLM-5.3 vs GLM-5.2: Same Model, Different Upbringing
We diffed the two config files. Every architecture field matches and both report exactly 753,864,139,008 parameters. GLM-5.3 is GLM-5.2 with different post-training, which explains why it runs in llama.cpp on day one and why the licence got stricter.
When GLM-5.3's weights went public on 28 August 2026, the obvious question was how much bigger it got. The answer is that it did not get bigger at all.
We pulled both config files and compared them field by field. Here is the result, unedited:
| Field | GLM-5.2 | GLM-5.3 |
|---|---|---|
architectures | GlmMoeDsaForCausalLM | GlmMoeDsaForCausalLM |
model_type | glm_moe_dsa | glm_moe_dsa |
num_hidden_layers | 78 | 78 |
hidden_size | 6144 | 6144 |
n_routed_experts | 256 | 256 |
num_experts_per_tok | 8 | 8 |
n_shared_experts | 1 | 1 |
max_position_embeddings | 1,048,576 | 1,048,576 |
vocab_size | 154,880 | 154,880 |
| Parameters (GGUF metadata) | 753,864,139,008 | 753,864,139,008 |
Not close. Identical, down to the last of those twelve digits.
This matches what Z.ai said when the model reached their API: GLM-5.3 keeps GLM-5.2's base model and derives its gains entirely from scaled-up post-training. A line like that reads as marketing hedging, right up until you check it against the config files, where it turns out to be a literal description.
GLM-5.3 is the same body with a different upbringing.
Why this is the most useful fact about the release
It explains the llama.cpp surprise, first of all. The 754 billion parameter flagship runs in a stock, current llama.cpp build, while the far smaller GLM-5.3-Flash does not. That looks backwards until you know the architectures are the same. glm-dsa has been in the main branch since GLM-5.2. The flagship needs no new support because architecturally it is not new. Flash is the actual new thing, it writes itself as glm5next, and that is still waiting on pull request 27754.
It also settles the hardware question before you ask it. Same size, same memory footprint, same quant sizes, same context window, same speed per token. If GLM-5.2 fit your machine, GLM-5.3 fits your machine. What changes is behaviour, and only behaviour.
And it tells you where to be sceptical. Post-training is where models get better at the things people measure. It is also where they get better at looking like they got better. When the body is unchanged, every claimed gain is a claim about training data and method, and those are exactly the claims an outsider cannot check on day one.
The licence went the wrong way
GLM-5.2 is MIT licensed. As permissive as it gets: commercial use, modification, redistribution, no permission needed. By 28 August it had picked up 5,058 likes and 1.9 million downloads in thirty days, and a MIT licence on a frontier scale model is a large part of why.
GLM-5.3 is not MIT. It ships under Z.ai's own glm-5.3 licence, listed as other with a LICENSE file in the repository. Commercial use is permitted, with a condition attached: a model-as-a-service business turning over more than 10 billion US dollars with its affiliates in any twelve consecutive months has to pass a Z.ai safety review first. GLM-5.3-Flash went out under plain MIT, so the extra terms land specifically on the most capable model.
So the same architecture, at the same parameter count, from the same company, is available under two different sets of terms depending on which post-training run you pick. If your use case is commercial, the older model may be the one you are actually allowed to ship, and that is a sentence worth rereading before a launch.
Z.ai has been open about why. The API came first and they held the weights back specifically for safety evaluation and hardening, saying plainly that gains in finding software vulnerabilities help defenders and attackers alike once weights are public. Whatever you make of that reasoning, it is a stated reason rather than a silent change, which is more than most releases manage.
What actually got better
Z.ai's own figures, from Z.ai's own model card. We have not reproduced them and neither has anyone else outside the company yet.
| Benchmark | GLM-5.2 | GLM-5.3 |
|---|---|---|
| CyberGym | 77.2 percent | 84.5 percent |
| ExploitBench | 24.4 percent | 54.4 percent |
The ExploitBench figure more than doubled, and it is the one that explains the delayed weights. It measures how well a model can build a working exploit from a vulnerability, which is the capability that cuts both ways.
Read these as what they are: vendor numbers, from a vendor harness, with vendor settings, published on launch day about the vendor's own product. Directionally interesting. Not evidence.
Should you switch
If you already run GLM-5.2 locally, the download is the only cost. Same footprint, same quants, same tooling, and your existing setup will load it. Worth doing, with one caveat below.
If you ship something commercial, check the glm-5.3 licence against your use before you swap. GLM-5.2 staying MIT is not a small detail, and "we upgraded to the newer one" is a bad way to find out.
Choosing your first one is mostly a memory question. On 128 GB neither flagship fits, so Flash is your model. On 256 GB or more you can take GLM-5.3 for the behaviour and accept the licence, or GLM-5.2 for the licence and accept slightly older post-training. Either way, make the trade on purpose. On an Apple Silicon machine large enough to matter, mlx-community published GLM-5.3-4bit and GLM-5.3-mixed-4_5bit on 2 September 2026, which is new enough that nobody has reported back on them yet.
The caveat applies to everyone. GLM-5.3 takes a reasoning_effort parameter, and Z.ai's model card gives it three settings, low, high and max. The card also says that omitting the parameter gives you max, and that a value it does not recognise gives you max as well rather than an error. On a model this size that is a long, expensive think on every message, and it is the most common way a fast model comes to feel slow.
What sits in front of the model can change that, so we measured our own path rather than quoting the card. Through a hosted OpenAI-compatible provider, on one arithmetic prompt, the flagship spent 4 output tokens at low, 10 at medium, 11 at high and 48 at max. Sending no parameter at all landed at 30, not at max, and medium was honoured as a real middle step even though the card does not list it. So read the card for the weights you run yourself, and measure the endpoint you actually call.
The honest summary
GLM-5.3 is not a new model. It is GLM-5.2, retrained, under a stricter licence, with vendor benchmark gains concentrated in exactly the area that made the company nervous enough to hold the weights back after the API was already live.
That is a more interesting release than a bigger number would have been, and it is a much easier one to plan around, because the hardware question was already answered in July.