Download checkpoint/README.md from RumaStack/GLM-5.3-Flash-NVFP4-AXL-ABLIT: direct link, hf CLI and curl.
- Browser
- Download file 10.8 kB
-
https://huggingface.co/RumaStack/GLM-5.3-Flash-NVFP4-AXL-ABLIT/resolve/main/checkpoint/README.md
- Command line
-
hf download hf://RumaStack/GLM-5.3-Flash-NVFP4-AXL-ABLIT/checkpoint/README.md
-
curl -L -o README.md https://huggingface.co/RumaStack/GLM-5.3-Flash-NVFP4-AXL-ABLIT/resolve/main/checkpoint/README.md
base_model:
- nvidia/GLM-5.3-Flash-NVFP4
license: mit
library_name: vllm
pipeline_tag: image-text-to-text
tags:
- GLM-5
- quantized
- NVFP4
- W4A16
- derived
language:
- ja
- en
NVFP4 BIZ AXL: GLM-5.3-Flash-NVFP4, attention + lm_head in W4A16
Short name: NVFP4 BIZ AXL (AXL: the attention projections and lm_head in W4A16). It is the published option of the serving stack NVFP4 BIZ (Bizuayeu/GLM-5.3-Flash-NVFP4-2x-DGX-Sparks-BIZ); this repository's name describes the contents and stays as it is. Cite a revision as "NVFP4 BIZ AXL (<revision>)".
A derived checkpoint of nvidia/GLM-5.3-Flash-NVFP4. The attention-side linears and lm_head, which NVIDIA leaves in BF16, are repacked weight-only to W4A16 NVFP4; every other tensor is byte-identical to the source. It is not an NVIDIA or Z.AI release.
Use it for generation-heavy serial work, Japanese prose in particular, on the two-node GB10 (DGX Spark class) setup of Bizuayeu/GLM-5.3-Flash-NVFP4-2x-DGX-Sparks-BIZ: decode is about 40% faster than the source checkpoint at the same draft depth, prefill is a few percent faster, and about 4.4 GiB less is loaded per rank. That saving is what pays for a second sequence: the setup's AXL example profile serves two active sequences from 6 GiB of KV per rank, accepted there for routine use on 2026-09-23 at up to about 200K tokens each. Do not use it where the pinned weights must be matched exactly (code, tool use): it is not lossless — teacher-forced NLL is 1 to 6% higher on three of four test corpora.
At a glance
| Source | nvidia/GLM-5.3-Flash-NVFP4, revision 423acf37583782c51c142d145aef733d72943d93, checksum-verified snapshot |
| Upstream | zai-org/GLM-5.3-Flash (MIT, Copyright (c) 2026 Z.AI Co., Ltd) |
| Repacked to W4A16 NVFP4 (group 16, no calibration data) | The KDA projections of the 34 linear-attention layers (q_proj, k_proj, v_proj, b_proj, f_a_proj, g_a_proj, f_b_proj, g_b_proj, o_proj); on the 11 MLA layers q_a_proj, kv_a_proj_with_mqa, q_b_proj, kv_b_proj, o_proj and the indexer wq_b; and lm_head |
| Left as shipped | Routed experts (NVIDIA's NVFP4), router, norms, embeddings, shared experts, the vision tower, the indexer wk / weights_proj, the MTP draft layer |
| Files | 18 safetensors shards (195 GB, 182 GiB); config.json and hf_quant_config.json carry the quantization declarations; tokenizer and chat template from the source; NVIDIA's model card kept as README.nvidia.md |
| Conversion | requant/requant.py of tenhkspark/glm53-flash-nvfp4-2node at commit 8ee63a676c6e8550f49b52aec7c5c05b56eb5553 (Apache-2.0), locally extended to include lm_head; deterministic; about 5.5 minutes on one GB10 (CPU only). Recorded in config.json under quantization_config.producer (requant_target: "l", in_proj_layout: "split-qkv-bfg") |
| Tested on | Two GB10 systems (MSI EdgeXpert), TP=2 over QSFP/RoCE, vLLM 385dce36, Marlin W4A16 kernels, MTP draft depth 3, one or two active sequences (two with 6 GiB of KV per rank), 256K context with image input |
| License | MIT (NVIDIA's model card terms and the upstream Z.AI license, both preserved) |
Requirements
The pinned vLLM (385dce36) does not route these modules through its NVFP4 path on its own, and this checkpoint declares the KDA input projection as q_proj / k_proj / v_proj plus one merged in_proj_bfg_a (b, f_a, g_a) instead of vLLM's six-in-one in_proj_qkvbfg_a. Loading therefore needs the two source overlays that the setup repository ships in its overlays/ directory:
| Overlay | Replaces in vLLM 385dce36 |
SHA-256 |
|---|---|---|
kda-quant-split.py |
vllm/models/glm5next/nvidia/kda.py |
144a835faa57c56f5257c05a5cf6742102a21e38a92d39c2a1e26cd4ada680fd |
mla-quant-split.py |
vllm/models/glm5next/nvidia/model.py |
a9b1ea5ce05983973bc79954147809a17e0e5aa0f96eae47c6011306f51b533d |
An overlay pair belongs to one revision of this checkpoint (see Revisions); a mismatched pair fails at load. Plain vllm serve on this folder without the overlays does not start.
Loading
- With the setup repository (recommended): set
runtime.derived_checkpointin the server TOML —pathto this folder,requant_target = "l", and the two overlays with their SHA-256 — and start through its launcher, which verifies the overlays and the manifest before every launch.examples/server.axl.example.tomlcarries all of it, with prefix-page dedup and two active sequences; replace its paths, image IDs and node details. Details: server configuration. - Without it: copy the two overlays over the two files named above inside a vLLM
385dce36installation, thenvllm servethis folder; the declarations inconfig.jsonthen reach the declared modules.
Measured against the source checkpoint
Two GB10, TP=2, MTP depth 3, temperature 0. This checkpoint is the profile the setup's reference pair serves (the AXL example: this checkpoint, prefix-page dedup, two active sequences, 6 GiB of KV per rank), measured on 2026-09-23 with one request in flight unless the row says otherwise; rows not re-measured that night keep the value of 2026-09-22, dated. The source checkpoint is the setup's distributed defaults (one sequence, 3 GiB of KV per rank), 2026-09-22 unless dated. Medians of three runs; ranges and conditions are in the setup repository's benchmarks (1.8.0, 1.10.2 and 1.10.4 sections).
| Category | Measure | Source checkpoint | This checkpoint |
|---|---|---|---|
| Prefill | 38,962-token prompt (tok/s) | 1,233 | 1,295 (2026-09-22) |
| Decode | After a 2,048-token prompt, counting / prose / code (tok/s) | 32.0 / 20.7 / 26.7 | 45.0 / 28.2 / 37.7 |
| Decode | 512 tokens after a short prompt (tok/s) | 27.1 | 41.8 (2026-09-22) |
| Decode | sparkDash DecodeBench, 128 tokens, structured / prose / code / json (tok/s) | 36.2 / 26.7 / 31.7 / 26.3 (setup 1.5.0) | 48.2 / 31.4 / 41.3 / 34.9 |
| Long input | ~200K tokens, one passphrase at the midpoint (s, correct) | 173.5 (199,652 tokens) | 165.7 (199,649 tokens) |
| Long input | 255,950 tokens, one passphrase at the midpoint (s, correct) | 217.3 | 220.9 (2026-09-22) |
| Long input | 261,461 tokens, three-position reference (s, correct 3 of 3) | 235.9 | 227.2 (2026-09-22) |
| Long input | Maximum capacity, 262,080 input + 64 output tokens (s, finite logprobs) | 240.3 | 245.7 (2026-09-22) |
| Concurrency | Two ~200K passphrase requests together | not served (one sequence; requests queue) | 330.2 s, both correct, no preemption (166 s for one alone) |
| Concurrency | Decode while another request runs, counting / prose (tok/s) | not served | 32.1 / 21.8 |
| Quality | tool-eval-bench, 69 standard scenarios | 90/100 (setup 1.0.0, 2026-09-14) | 88/100; the same three failures, so its Safety Gate is still not passed (TC-43) |
| Repeatability | Identical requests at temperature 0 | same completion nine times of nine within a launch | same across launches for a request alone, and always with max_num_seqs = 1 (concurrent requests queue); with max_num_seqs of 2 or more, a request that shares steps with another can get a different completion (measured on these weights and on the source checkpoint): the MoE kernel splits its sum along K by the number of expert blocks in the step, and a step shared with a prefill runs prefill-sized kernels |
| Memory | Weights loaded per rank / lowest free memory on the head | 95.8 GiB / 5.5 GiB (3 GiB of KV) | 91.3 GiB / 10.5 GiB at 3 GiB of KV (2026-09-22); 6.46 GiB at 6 GiB of KV with two 200K requests in flight |
Quality, teacher-forced NLL on the setup's four fixed corpora (same inputs, the serving profile of 2026-09-25: two sequences, deterministic Inductor configs; the same on the setup's 1.12 and 1.13 images):
| Corpus | Source checkpoint | This checkpoint | Change |
|---|---|---|---|
| Japanese | 1.5963 | 1.6270 | +1.9% |
| English | 2.0241 | 1.9946 | −1.5% |
| Code | 0.9479 | 0.9601 | +1.3% |
| Mathematics | 0.5931 | 0.6275 | +5.8% |
The earlier figures (2026-09-22, one-sequence profile before the setup's 1.12 launch-state fix) were 1.6645 / 2.0024 / 1.0031 / 0.6279.
Since the setup's 1.12.0 (deterministic Inductor configs on both ranks), every launch checked has computed in the same numerical state; before it, relaunches fell into one of three states that differed in how a near tie falls. The setup checks every launch after a switch (weight digest, decode check, kernel hashes on both ranks); see its validation. Decode speed under MTP depends on how predictable the text is (counting is faster than prose); the draft is the checkpoint's own MTP layer, no extra weights.
Revisions
| Date | Change | Overlay pair |
|---|---|---|
| 2026-09-22 (current) | config.json / hf_quant_config.json declare the KDA input projection split into q_proj / k_proj / v_proj + in_proj_bfg_a (producer.in_proj_layout = "split-qkv-bfg"). Weights unchanged. Removes the prefill cost of the fused layout (one wide W4A16 Marlin GEMM), so prefill is now faster than the source checkpoint |
kda-quant-split.py 144a835f…, mla-quant-split.py a9b1ea5c… |
| 2026-09-21 | Initial release; declarations for vLLM's fused in_proj_qkvbfg_a; prefill 1 to 3% slower than the source checkpoint |
kda-quant.py 2e491a38…, mla-quant.py 88916cc1… |
License and notices
The weights are redistributed under the MIT terms stated by the NVIDIA model card and by the upstream Z.AI license; both notices are preserved (README.nvidia.md, and the Z.AI license text in the setup repository's LICENSES/). This repackaging adds no training data and no new terms. The conversion tool is Apache-2.0 and its license applies to the tool, not to these weights. No warranty; see the source model cards for intended use and limitations.