| --- |
| license: mit |
| base_model: zai-org/GLM-5.3-Flash |
| base_model_relation: quantized |
| quantized_by: LibertAIDAI |
| tags: |
| - nvfp4 |
| - blackwell |
| - vllm |
| - glm |
| - glm-5 |
| - glm5_next |
| - moe |
| - multimodal |
| - modelopt |
| language: |
| - en |
| - zh |
| pipeline_tag: image-text-to-text |
| --- |
| |
| # GLM-5.3-Flash NVFP4 (weight-only) |
|
|
| NVFP4 quantization of [zai-org/GLM-5.3-Flash](https://huggingface.co/zai-org/GLM-5.3-Flash) — Z.ai's **320B / 18B-active** natively-multimodal MoE, the first GLM to combine **sparse and linear attention** — for serving on [vLLM](https://github.com/vllm-project/vllm). |
|
|
| This is a **weight-only NVFP4 (NVFP4-A16)** checkpoint. The **routed-expert FFN** tensors — 97% of the model's parameters — are quantized to **NVFP4** (NVIDIA's 4-bit float: E2M1 with FP8-E4M3 per-16-block scales and an FP32 per-tensor global scale). Every outlier-sensitive path is deliberately kept in **BF16**: both attention flavours (the 34 KDA linear-attention layers *and* the 11 DeepSeek-sparse-attention layers, including the sparse indexer), the **entire vision tower**, the shared experts, the MoE routers, the dense-MLP layers, the MTP head, the Manifold-Constrained Hyper-Connection tensors, token embeddings, `lm_head`, and all norms. Activations stay BF16 (no activation quantization). |
|
|
| Because the experts dominate the footprint, quantizing only them takes the model from **598.5 GiB → ~181 GiB (−70%)** while protecting quality where it matters most — and leaving the vision tower untouched keeps multimodal behaviour bit-identical to the source. |
|
|
| Produced with [NVIDIA ModelOpt](https://github.com/NVIDIA/TensorRT-Model-Optimizer) 0.45.0 via a memory-frugal shard-streaming pass (no calibration data — weight-only NVFP4 derives its scales from the weights themselves), so the packing is exactly what vLLM's NVFP4 loader expects. |
|
|
| > ### ⚠️ Status: use the dedicated vLLM image, not a release build |
| > GLM-5.3-Flash was released on **2026-08-26** and its `glm5_next` architecture is **not yet in vLLM `main`** — support is in-flight as [vllm#53906](https://github.com/vllm-project/vllm/pull/53906) (and [sglang#36507](https://github.com/sgl-project/sglang/pull/36507)). Until it lands, vLLM ships support in **per-model docker images**: |
| > |
| > | | image | |
| > |---|---| |
| > | x86_64, CUDA 13 | `vllm/vllm-openai:glm53-flash-x86_64-cu130` | |
| > | **arm64 (GH200/GB200/GB10), CUDA 13** | `vllm/vllm-openai:glm53-flash-arm64-cu130` | |
| > | multi-arch | `vllm/vllm-openai:glm53-flash` | |
| > |
| > The vendor recipe lists **H100 / B200 / GB200 as verified**; sm_121 (GB10) is *not* on that list, so expect the usual FP4-MoE kernel-gap dance there. **llama.cpp has no `glm5_next` support**, so there is no GGUF yet. |
| |
| ## About LibertAI |
| |
| [LibertAI](https://libertai.io) is a decentralized AI platform — private inference, an OpenAI-compatible API, and a chat UI, all running on community GPUs over [Aleph Cloud](https://aleph.cloud) instead of a single company's servers. No accounts required to chat, no logs sent home, and the same models you'd self-host are available behind a sovereign endpoint. |
| |
| If you want to put this model (or any other) to work as an autonomous agent without running your own infrastructure, check out [**LiberClaw**](https://liberclaw.ai) — Hermes-style agents hosted on Aleph Cloud with LibertAI inference. Free tier: 2 agents, no credit card, 5 minutes to deploy. Open source. |
| |
| > **Why NVFP4?** On NVIDIA Blackwell GPUs (RTX 50-series, B100/B200, GB10/DGX Spark) NVFP4 weights run on native FP4 tensor-core kernels, and the 4-bit expert weights cut both VRAM and the memory bandwidth that dominates MoE decode. This gives format parity with the NVFP4 path used by vLLM / SGLang / TensorRT-LLM. |
| |
| ## What's quantized |
| |
| | Tensor group | Precision | Count | |
| |---|---|---| |
| | Routed-expert FFN (`language_model.layers.*.mlp.experts.*.{gate,up,down}_proj`) | **NVFP4** (g16, weight-only) | 37,152 | |
| | KDA linear attention (34 layers), DeepSeek sparse attention + indexer (11 layers) | BF16 | — | |
| | Vision tower (`model.visual.*`), shared experts, routers, dense/MTP MLP, mHC, embeddings, `lm_head`, norms | BF16 | 1,618 | |
| |
| **38,770 tensors total.** Every non-expert Linear is listed in `config.json`'s `ignore`, so vLLM keeps it in BF16. |
|
|
| ## Size |
|
|
| | | BF16 source | This checkpoint | |
| |---|---|---| |
| | Routed experts (311.65B params) | 623 GB | **175 GB** (NVFP4) | |
| | Everything else (9.67B params) | 19 GB | 19 GB (BF16) | |
| | **Total** | **598.5 GiB** | **≈181 GiB** | |
|
|
| That is the difference between "needs a GB200 tray" and "fits on two GB10 desktops." |
|
|
| ## Usage (vLLM) |
|
|
| Run the dedicated image (see the status box above for the tag matching your arch): |
|
|
| ```bash |
| docker run --gpus all --ipc=host -p 8000:8000 \ |
| vllm/vllm-openai:glm53-flash-x86_64-cu130 \ |
| --model LibertAIDAI/GLM-5.3-Flash-NVFP4 \ |
| --tensor-parallel-size 4 \ |
| --tool-call-parser glm47 --enable-auto-tool-choice \ |
| --reasoning-parser glm45 |
| ``` |
|
|
| The checkpoint keeps its **MTP layer** in BF16, so speculative decoding works as in the vendor recipe: |
|
|
| ```bash |
| --speculative-config '{"method":"mtp","num_speculative_tokens":5}' |
| ``` |
|
|
| Engine init on a 320B MoE is slow — the recipe sets `VLLM_ENGINE_READY_TIMEOUT_S=3600`; do the same or the server will be killed mid-warmup. |
|
|
| On **GB10 / DGX Spark (sm_121)**, use the `arm64-cu130` tag. If you hit `cudaErrorNoKernelImageForDevice` from the native FP4 MoE kernels, fall back to the **marlin** MoE backend (dequant-to-FP16, known-good on sm_121): |
| |
| ```bash |
| --moe-backend marlin --enforce-eager |
| ``` |
| |
| ## Provenance & method |
| |
| - Base: `zai-org/GLM-5.3-Flash-BF16` (BF16, 120 shards, 598.5 GiB). |
| - Quantizer: shard-streaming ModelOpt `NVFP4QTensor` weight-only pass, CPU-only, never more than one shard resident. Expert FFN → NVFP4, everything else copied through in BF16. |
| - Partition check: every Linear weight is provably quantized **XOR** ignored — no tensor both, none uncovered. |
| - Verification: per-expert round-trip **cosine ≈ 0.9967, relative error ≈ 0.0925** vs the BF16 source. |
|
|
| _Quantized by [LibertAI](https://libertai.io). Not affiliated with Z.ai / Zhipu. MIT licensed, as is the base model._ |
|
|