Repository navigation
feat(gguf): serve GLM-4.5, GLM-4.6 and GLM-4.7 GGUF checkpoints - #731
Merged
Merged
Conversation
jason-fxz
force-pushed
the
feat/gguf-glm4-moe
branch
from
October 17, 2026 19:54
91a163e to
f28ae5b
Compare
24 of 42 tasks
pretor
pushed a commit
to pretor/FreeToken
that referenced
this pull request
Oct 18, 2026
…l), PR FlashML-org#734 (bench hybrid fetch), PR FlashML-org#732, PR FlashML-org#731
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Serves llama.cpp
glm4moeGGUF files (GLM-4.5, GLM-4.5-Air, GLM-4.6, GLM-4.7 and their finetunes) on the existingglm4_moemodel classes. Text only.Changes
models/glm4_moe/gguf.py(new):attn_qkv, prism files, per-tensor scales, MTP-only draft files and metadata-only GGUFs.attention.py,model.py: with a GGUF file, q/k/v/o and the embedding take the quant config instead of the DF11 layers of the NVFP4 recipe. NVFP4 checkpoints build the same layers as before.gguf/tokenizer.py:glm4gets the Llama 3 split andignore_merges(fix(gguf): set ignore_merges for llama 3 gguf tokenizers #728), as in HFtokenizer.jsonand llama.cpp. transformers maps no split for it.gguf/config.py,register.py,kernel/aot_models.py: register theglm4moearch and claim it in the AOT model table.Tested models
RTX PRO 6000 Blackwell (sm_120),
ft serve --model-path <file>. AIME25 problems 1–8 (temperature 1.0, top_p 0.95, from the GLM-4.7 model card). Also 48 staggered requests at concurrency 16.Staggered requests: no corrupted output on either file.
Results
ggml.dequantize, norms, biases, the router ande_score_correction_biasare exact against zai-org/GLM-4.5-Air and nvidia/GLM-4.7-NVFP4, and Q8_0 tensors reach cos 0.99998. Dry load against the meta-built model matches 645/645 params (Air) and 1469/1469 (GLM-4.7).tokenizer.jsonand llama.cpp (main: 22,840 vocabulary tokens differed).deepseek2arch), MTP-only drafts and a few broken uploads.tests/models,tests/moeandtests/kernels/test_ggml.pypass, except failures that also fail on main.Not covered
attn_qkv.