JustVugg · 2026-09-13 · major
Colibri v1.11.0 — DeepSeek V4.1 Flash runs on a CPU box from SSD
Colibri v1.11.0 adds a ninth engine: DeepSeek V4.1 Flash (552B, 510 GB on disk) is read natively on a CPU box with experts streamed from an SSD. A turn fell from 78.7 s to 25.1 s during the work, or 0.305 to 0.957 tok/s.
Colibri v1.11.0 adds a DeepSeek V4.1 Flash engine that reads the released 552B checkpoint straight off an SSD.
Key specs
| GitHub stars | 29,662 |
|---|---|
| Pull requests since v1.10.2 | 56 |
Quick facts
| Version | v1.11.0 |
|---|---|
| Maker | JustVugg (independent) |
| License | Apache-2.0 |
| New engine | DeepSeek V4.1 Flash (552B, 510 GB on disk) |
| Speed, cold | 0.305 to 0.957 tok/s |
| Speed, five-turn chat | 1.14 to 1.58 tok/s |
| Also added | Metal path for GLM-5.3-Flash experts |
What is it?
DeepSeek V4.1 Flash becomes the ninth model family Colibri can run, and the first it reads with no conversion step at all. The 552B checkpoint sits on disk at about 510 GB, and a plain CPU box streams the experts it needs per token. Colibri v1.11.0 lands 56 pull requests since v1.10.2, closes five bugs across four engines, and starts building the C tests on Windows and Alpine/musl in CI.
How does it work?
The new engine implements the parts of the architecture that are not already in Colibri's V4 support: Engram, a pair of n-gram memories holding 384M rows and 203 GB that never enter RAM; the DSA indexer with its two-level candidate source; hyper-connections; the compressor; a 32-layer vision tower with its aligner; and DSpark speculative decoding in three stages with blocks of five, verified in one batched forward pass that rolls back rejected rows. Three changes did the speed work: batched expert reads set by `V41_READ_DEPTH` (8 is the measured knee), attention matrices read once per block of positions instead of once per token, and an expert-major mixture-of-experts loop.
Why does it matter?
A 552B open model that normally wants a datacenter now answers on a CPU machine with a big SSD, and it answers roughly three times faster than when this release cycle started: 78.7 seconds per turn became 25.1 seconds, and a five-turn chat holds 1.14 to 1.58 tok/s. Two other ways of hiding the expert reads behind the matmuls were built, measured worse and removed, with their numbers written up so the next attempt does not repeat them.
Who is it for?
local-inference tinkerers and developers without a GPU rig
Frequently asked questions
- Do I have to convert the DeepSeek V4.1 Flash weights before running them?
- No conversion step is needed. Colibri v1.11.0 reads the released DeepSeek V4.1 Flash checkpoint as published: fp8 dense layers in 32x32 ue8m0 tiles, and fp4 experts whose layout is byte-identical to the mxfp4 format the Kimi K3 engine already reads. The checkpoint takes about 510 GB on disk.
- Which Colibri commands work with the new DeepSeek engine?
- Colibri v1.11.0 supports `coli chat`, `coli serve` and `coli web` on the DeepSeek V4.1 Flash engine. `coli run` is deliberately left unwired for this model family, the same choice already made for qwen36 and qwen38. Per-turn accounting sits behind the `V41_STATS` flag and is off by default.
- What changed for Apple Silicon owners in this release?
- An opt-in Metal path for GLM-5.3-Flash's routed experts arrives behind `COLI_METAL=1`, moving the gate, up, clamped SwiGLU, down and route-weighted scatter onto the GPU. The CPU path is unchanged when Metal is off. Measured on an M4 Max: 0.469 to 0.621 tok/s at 32 tokens, and up to 2.15 tok/s with the expert cache tuned.
- How was the new DeepSeek engine checked for correctness?
- Colibri holds the DeepSeek V4.1 Flash engine token-exact in CI against a torch-only CPU reference (`c/tools/dsv41_ref.py`), at three cache capacities, on a short prompt and a 40-token prompt, under all three speculative modes. The 32-layer vision tower is matched to 5e-06.
- What bugs does Colibri v1.11.0 fix?
- Five real bugs close across four engines in Colibri v1.11.0: a qwen36 GPU-tier use-after-free where the uploader freed a ring slot before the backend copied it, a Metal matmul segfault on raw f32 input that has no scale array, a GLM-5.3 dashboard table leak at teardown, a `coli cluster worker` that could not start without an explicit `--cap`, and a missing int8 expert path on qwen36 decode.
Try it
git clone https://github.com/JustVugg/colibri && make -C colibri/c && ./coli chat --model /path/to/glm-5.2