pipenetwork/GLM-5.2-MLX-mixed-3_6bit
GLM-5.2-MLX-mixed-3_6bit
Runtime — updated 2026-08-28: load with --trust-remote-code
This repository now bundles glm_moe_dsa.py (declared via model_file in config.json), a fixed runtime for this architecture, and needs it:
mlx_lm.generate --model pipenetwork/GLM-5.2-MLX-mixed-3_6bit --trust-remote-code --prompt "..." --max-tokens 300mlx-lm's own glm_moe_dsa builds a lightning indexer on all 78 layers, but GLM-5.2 ships indexer weights on 21 (indexer_types: the other 57 "shared" layers reuse the previous full layer's top-k selection). mlx_lm.load loads leniently and left those 57 indexers at random initialisation. Prompts up to 2048 tokens were unaffected (the indexer is bypassed below index_topk); beyond that, 57 of 78 layers attended to keys chosen by random projections. The bundled runtime implements the schedule as the reference does (plus fp32 indexer scores and router logits and the indexer LayerNorm epsilon); tiny-config parity against transformers 5.16 is 4e-7 with the sparse path live, and a strict load of this checkpoint reports zero missing and zero unexpected tensors. Details, tests and the GLM-5.3 builds made with it: github.com/PipeNetwork/glm53-mlx. The weights are unchanged.
MLX (Apple Silicon) conversion of zai-org/GLM-5.2 — a glm_moe_dsa MoE (256 experts, DeepSeek-V3.2-style sparse attention) — quantized to mixed.
Quantizations
Part of the **GLM-5.2 MLX** collection.
Use with mlx-lm
pip install mlx-lm
python -m mlx_lm generate --model pipenetwork/GLM-5.2-MLX-mixed-3_6bit --prompt "Hello" -m 256Validation
Smoke-tested locally (loads + generates coherent text).
License
MIT (inherited from base). Quantization config (excerpt): {"group_size": 64, "bits": 6, "mode": "affine", "model.embed_tokens": {"group_size": 64, "bits": 6}, "model.layers.0.self_attn.q_a_proj": {"group_size": 64, "bits": 6}, "model.layers.0.self_attn.q_b_p.
