Skip to content

GLM · Text · MoE

GLM-5

Mixture-of-experts language model with multi-head latent attention, a sparse-attention indexer, a shared expert and an MTP layer; GLM-5, 5.1, 5.2 and 5.3 share the architecture.

Official sealed: publishedpermSGLangvLLM

Commands

Pull, seal and run

kllm pull downloads a library tag into the local store and records the hash of every file. kllm run starts SGLang or vLLM in the background on 127.0.0.1 and opens a chat. kllm create seals a pulled model under a named key.

# Download the library tag into the local store; a manifest records each file's hash
$ kllm pull glm-5:5.3
# Start SGLang or vLLM in the background on 127.0.0.1 and open a chat
$ kllm run glm-5:5.3
The engine server exposes an OpenAI-compatible API on 127.0.0.1. Stop it with kllm stop.

Requests to the running server

# The local proxy listens on 127.0.0.1:8001 and tokenizes on your machine
curl http://127.0.0.1:8001/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model": "GLM-5.3-kllm", "messages": [{"role": "user", "content": "Hello"}]}'

Official sealed models

Published on Hugging Face

The kLLM team seals selected public models at a pinned revision under the perm transform, locks the weights and publishes them under ANetResearch on Hugging Face. Each model has its own model key, the kllm.key file of its repository: submit the access form on Hugging Face, and the key downloads with the model. Everyone who submits the form receives the same key.

Official sealed models of GLM-5
ModelBase and revisionModalitySize on diskLicenceKey fingerprintStatusHugging Face
GLM-5.3-kllmzai-org/GLM-5.3@ba32f8c19cText (mixture of experts)755.7 GBGLM-5.3 License673d-17ba-193c-02c6v1PublishedGet access
  • Each repository carries kllm-manifest.json: the base and its revision, the key fingerprint and key version, the kLLM version and the SHA-256 digest of every file.
  • GLM-5.3 is licensed under the GLM-5.3 License, Copyright (c) 2026 Z.AI.

Check a published model against its public base

With the model key, kllm verify seals the public base again under the same key and transform in a temporary directory and compares the result tensor by tensor, unlocked, together with the tokenizer, every other file and the manifest.

Verify GLM-5.3-kllm
$ hf download ANetResearch/GLM-5.3-kllm --local-dir GLM-5.3-kllm
$ kllm verify GLM-5.3-kllm --base zai-org/GLM-5.3 --revision ba32f8c19c8738e2c57c71798c601d477a7bf844 --key GLM-5.3-kllm/kllm.key
Under perm, every tensor must be equal to the bit; tensors that sealing rewrites in floating point may differ by one unit in the last place.

Commands for GLM-5.3-kllmThe catalog in the documentation

Library tags

Tags

Each tag pins an upstream Hugging Face revision, so the same alias downloads the same bytes on every host. Sizes and minimum GPU memory are taken from the kLLM library.

Library tags for GLM-5
AliasUpstreamSizeMin. GPU memoryTransformsCopy
glm-5:5.3defaultzai-org/GLM-5.3756 GB849 GBperm

Security

What sealing does not hide for this model

  • To an operator who reads GPU memory, user text reduces to a substitution cipher over tokens: 23.8% of tokens were decoded by unigram frequency alone on Qwen3-8B.
  • GLM-5's attention is less hidden than a Llama-style model's: the low-rank projections to the attention heads are left unchanged by sealing.
  • The sealed weights derive from a public checkpoint. Locked files cannot be matched to it without the key; once unlocked to run, a holder of that checkpoint recovers the transforms and 98.5% of the vocabulary permutation (measured on Qwen3-8B), for unmodified public models and fine-tunes alike.
  • Client-keyed mode keeps the key and the tokenizer on the user's machine. The copy that the cloud serves is unlocked on the user's side (kllm cloud --key), because the cloud computes with the weights. The cloud server (kllm serve --client) binds 0.0.0.0 by default and has no authentication; bind it to 127.0.0.1 or place it behind a gateway.
  • This architecture or checkpoint format is sealed with the perm transform only.
  • Unless sealed with --no-lock, the weights on disk are locked: encrypted in place under a key derived from the model key, with a ChaCha20 key stream (lock v2; lock v1 files, AES-256-CTR, are still read). Packed FP4 weights, E8M0 scales and integer tables are locked as well. kllm serve --key writes no unlocked copy: the engine processes unlock each tensor in GPU memory as they load it. Whoever runs the model therefore holds the unlocked weights in GPU memory. kllm unlock writes an unlocked copy to ~/.cache/kllm/unlocked for launchers that start the engine themselves. Each tensor's largest binary exponent is stored in the clear.
  • The key of an official model is the kllm.key file of its gated Hugging Face repository, without a passphrase. Everyone who submits the access form receives the same key, so a model key is not a confidentiality boundary between its holders. A key cannot be revoked for one holder; it is rotated by raising its key version. For a key known to no one else, seal the model under a private key.
  • Outside a confidential VM, kllm serve --key decrypts the tokenizer into host /dev/shm and offers no protection from the host. It is a development mode.

Security modelMeasured limits in the documentation