Glyd
How it works

Same weights. Fewer bits.

Glyd keeps a model's bf16 weights in GPU memory at about 11 bits each instead of 16, and gives back the exact same values. The model is unchanged. It just takes a third less memory.

  1. 01

    Fewer bits

    Glyd stores each bf16 weight in about 11 bits instead of 16, so a model's weights take about a third less GPU memory.

  2. 02

    Every value exact

    Nothing is rounded. Every weight comes back as the same 16 bits, so it is the same model, not an approximation of it.

  3. 03

    The GPU works from the compact form

    The GPU reads the compact weights and rebuilds the exact values as it works. It reads a third fewer bytes, so the weights stay compact in GPU memory.

Where it is slower todayThe v0.29.0 runs below measured weights 21.3 to 28.2% smaller than bf16's; v0.29.1 compresses additional loaded weights. One-third savings across every model and GPU remain a target. The v0.28.0 H100 run measured each token at full load taking 1.43 times bf16's time. Earlier measurements remain listed with their release. The known gaps

Is it the same model?

The weights are identical: every matrix of nineteen popular models packed, unpacked and compared bit for bit.

The results match to noise. The arithmetic rounds a little differently from bf16's, so scores move a hair in either direction: perplexity within 0.06%, MMLU answers the same on 98.0 to 100% of questions. On Qwen3.8-27B in vLLM, bf16's continuations scored on Glyd kept the same top token 99.22% of the time, as many as bf16 against itself started again (log). With exact=True the output is bf16's, bit for bit.

PerplexityMMLU, %
Modelbf16Glydbf16GlydAnswers as bf16's, %
phi-414.788814.785576.776.399.33log
DeepSeek-R1-Distill-Qwen-14B27.195527.197578.078.0100.00log
Llama-3.1-8B-Instruct19.591519.590971.772.099.67log
Mistral-7B-Instruct-v0.312.142212.147360.760.7100.00log
Qwen3-8B20.749020.742874.074.399.67log
SmolLM3-3B29.146729.142263.363.399.67log
Qwen3.8-27B15.194615.194179.780.099.67log
gemma-3-12b-it——74.074.099.33log
Qwen3-4B-Instruct-250722.463622.467271.071.099.33log
Llama-3.2-3B-Instruct25.129825.143763.764.398.00log

Perplexity on enwik8, MMLU on 300 questions, bf16 and Glyd in the same run.

Questions people ask

Is this quantization?

No. Quantization rounds weights to fewer levels, which changes the model. Glyd stores the same values in fewer bits and gives every one of them back. It is closer to a zip file than to 4-bit.

Is it smaller than 4-bit quantization?

No. 4-bit formats take 4 bits a weight and their scales; Glyd takes about 11. Glyd is for when you need the model exactly as it was trained, on less hardware.

Which models and GPUs?

Any model released in bf16, mixtures of experts included. Tested on the RTX 4090, RTX 5090, H100 SXM, H100 PCIe, A100, A10, A10G, RTX PRO 6000 and RTX 4080 SUPER. FP8 models can shrink 17 to 18% (measured on three); lossless FP8 checkpoints are not shipped yet.

Is it open source?

No, it is source-available. From v0.29.0 all of Glyd is under the Business Source License 1.1: free forever for personal and non-commercial use (including education, research and nonprofits) on computers you own or rent for yourself, and for anyone to try, test and develop with. Commercial use needs a license: suryakoritala@getglyd.com. Each version becomes Apache-2.0 four years after its release. Releases up to v0.28 keep the licenses they shipped with (the codec was BSD-3-Clause OR GPL-2.0).