TheVibeFounder. Resource · Field Guide
colibrì · GLM-5.2 on a 25 GB machine

A 744B model,
streamed off your disk.

colibrì is a pure-C runtime that runs GLM-5.2, a 744-billion-parameter mixture-of-experts model, on a consumer machine with about 25 GB of RAM. It keeps the model's dense core in memory and streams the experts from disk on demand. No GPU required, no Python at runtime, zero dependencies. Here's the honest, plain-English read before you clear 400 GB and try it.

License · Apache-2.0 Engine · pure C, zero deps Model · GLM-5.2 · 744B MoE Needs · ~25 GB RAM + ~400 GB disk GitHub · 10.4k★ · 820 forks
The 30-second version

What this actually is

01

It streams a giant model off your SSD

A 744B mixture-of-experts model only activates ~40B parameters per token. colibrì keeps the ~17B dense core resident in RAM at int4 (~9.9 GB) and leaves the 21,504 routed experts (~370 GB) on disk, reading only the handful each token needs.

02

Pure C, zero dependencies

The whole engine is one ~2,400-line C file plus small headers. No BLAS, no Python at runtime, no GPU required. Python is used once, offline, only to convert the model to its int4 format.

03

It runs correctly, not quickly

This is the honest headline: a frontier-class model answering correctly on a box that costs less than one H100 fan. On a plain NVMe machine it is fractions of a token per second cold. Warm cache, pinned experts and speculation speed it up a lot.

04

Linux, Windows, and Apple Silicon

Native builds for all three (no WSL needed on Windows), with optional experimental Metal and CUDA tiers for people who do have GPUs. The default, headline path is plain CPU plus disk.

"Runs on 25 GB," audited

What's free vs. what it actually costs

The engine itselfOpen source, Apache-2.0, build it yourself
Free
The GLM-5.2 int4 modelPre-converted download on Hugging Face
Free
~400 GB of fast NVMe diskThe int4 model is ~370 GB on disk
Your hardware
~25 GB of RAM, more is betterPeak ~20 GB during chat, auto-capped
Your hardware
Time. It is genuinely slow on CPU~0.05–0.1 tok/s cold on a 1 GB/s drive

Nothing is metered and there is no account. The real cost is a big fast SSD, patience, and electricity. A warm cache, pinned hot experts and the int8 speculation head push useful-response latency down a lot, but the speed of your disk sets the floor.

Before you clone it

The real setup, in order

1

Check you have the disk and RAM

About 400 GB free on a real NVMe path, plus ~25 GB of RAM. A slow or nearly-full drive is the thing that will make this unusable, not the model itself.

2

Build the C engine

cd c && ./setup.sh checks your compiler, builds, and self-tests. There are no dependencies to install for the engine itself.

3

Download the pre-converted int4 model

Grab the Hugging Face build with the int8 MTP heads (matey-0 clone). This skips the multi-hour FP8-to-int4 conversion entirely.

4

Confirm the MTP head is int8, not int4

The single most common gotcha: an int4 head gives 0% draft acceptance and speculation silently never turns on. Check the out-mtp-* file sizes against the README before you start.

5

Point COLI_MODEL at it and chat

RAM budget, expert cache and speculation are all detected automatically. Run ./coli doctor first for a read-only readiness check that tells you if the placement is runnable.

cd c && ./setup.sh                          # build + self-test the engine
# download the int8-MTP model, then point COLI_MODEL at it:
COLI_MODEL=/nvme/glm52_i4 ./coli doctor     # read-only readiness check
COLI_MODEL=/nvme/glm52_i4 ./coli chat       # go
The honest caveats

What to know before you commit

It is slow on a plain CPU box

Cold decode reads ~11 GB from disk per token. On a 1 GB/s drive that is fractions of a token per second. This is a "runs at all" feat, not interactive chat, until the cache warms.

You need the exact right model file

The int8 MTP head version, or speculative decoding sits at 0% and you lose the roughly 2x speedup lever. Easy to get wrong, easy to check.

Not byte-for-byte reproducible by default

Speculation and the GPU or batched paths round slightly differently, so greedy output can differ token-for-token between runs. Set DRAFT=0 (and IDOT=0 COLI_CUDA=0) if you need exact reproducibility.

Mind the drive heat, not the wear

Streaming is read-only, so it will not wear the SSD. The real risks are swap traffic if you starve it of RAM, and sustained thermals on cheaper drives during hours of full-read duty.

Who should actually try this

A builder's fit check

Try it for these

  • Running a frontier-class model fully offline and private
  • A fast, roomy NVMe and patience for batch-style use
  • Curiosity about MoE streaming and pure-C inference
  • Homelab or GPU owners who want the optional CUDA / Metal tiers
  • Valuing "correct on cheap hardware" over raw speed

Not the right tool for

  • Snappy, interactive chat on a laptop today
  • Small or nearly-full SSDs, or spinning disks
  • Production workloads needing throughput or concurrency
  • Anyone who just wants an easy hosted API
  • Anyone unwilling to manage ~400 GB and a manual download
One line to keep
A frontier model, running
on hardware that costs less
than a single H100's fan.
The source · GitHub

Read the code and the honest README

colibrì's README is unusually candid about its own limits, with community-measured numbers and linked issues behind every claim. Star it, read the design notes, and check the Hugging Face model link before you start.

JustVugg/colibri
C · Apache-2.0 · 10.4k★ · 820 forks