explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

custom AI agents

[email protected]

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource librarydemofor LLMs

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

More from us

InfloqInfluencer marketingBgBlurPrivacy-first blurOlly SocialSocial AI copilotCeptoryVideo intelligenceBgRemoverBackground removal

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportprivacytermsdata rightssubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — what people are asking
  • The idea — why only ~11 GB changes per token
  • What's actually implemented (not vapor)
  • Honest speed numbers — read before you clone
  • SSD, swap, and the corrected wear story
  • Quick start — commands that work
  • Colibrì vs the rest of the GLM-5.2 local stack
  • Hacker News themes worth keeping
  • Who should try Colibrì — and who should not
  • Related on explainx.ai
← Back to blog

explainx / blog

Colibrì: Run GLM-5.2 on 25 GB RAM by Streaming MoE Experts From Disk

Colibrì runs GLM-5.2 (744B MoE) on ~25 GB RAM — pure C, experts streamed from disk, 9.9 GB dense resident. 0.05–1 tok/s benchmarks, MTP speculation, HN Show HN breakdown, vs Unsloth and llama.cpp.

Jul 10, 2026·8 min read·Yash Thakker
GLM-5.2Local LLMMoEOpen SourceHacker News
go deep
Colibrì: Run GLM-5.2 on 25 GB RAM by Streaming MoE Experts From Disk

On July 10, 2026, Colibrì hit 453 points on Hacker News — Show HN: Getting GLM 5.2 running on my slow computer. Author vforno (JustVugg) set a deliberately modest goal: make GLM-5.2 — Z.ai's 744B MoE frontier open model — answer correctly on a 12-core laptop with 25 GB RAM, even if speed is measured in minutes per paragraph, not tokens per second.

The result is not a faster llama.cpp fork. It is a disk-streaming MoE runtime: ~9.9 GB dense weights stay in RAM; ~370 GB of routed experts live on NVMe and load on demand. Pure C, zero runtime deps, token-exact against a transformers oracle.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

TL;DR — what people are asking

QuestionAnswer
Minimum RAM?~25 GB practical floor (dense int4 resident ~9.9 GB; peak RSS ~20 GB auto-capped)
Disk?~370 GB int4 container on local NVMe (ext4 — not network mounts)
GPU?None — CPU + AVX2 integer-dot kernels
Speed (humble box)?~0.05–0.1 tok/s cold — usable for experiments, not chat UX
Speed (M5 Max 128 GB)?~1.06 tok/s measured (community #4/#5)
Quality?int4 container; bench harness wired — full MMLU/HellaSwag sweep needs faster disk
Prebuilt weights?jlnsrk/GLM-5.2-colibri-int4
Agent harness?CLI today; OpenCode PR discussed on HN
vs Unsloth 256 GB path?Colibrì = low RAM, slow disk; Unsloth = high RAM, interactive

The idea — why only ~11 GB changes per token

GLM-5.2 activates ~40B parameters per token, but MoE routing means only ~11 GB of expert weights are new each decode step — the rest is shared dense stack (attention, embeddings, shared experts).

Colibrì splits the model physically:

ComponentParams (order of magnitude)Where it livesSize (int4)
Dense stack~17B effective residentRAM~9.9 GB
Routed experts75 layers × 256 + MTP headDisk~370 GB total (~19 MB/expert)
Per-token churn8 experts/layer typicalStreamed + LRU cache~11 GB reads/token cold

The engine (c/glm.c, ~1,300 lines) implements faithful glm_moe_dsa forward — validated 32/32 teacher-forcing and 20/20 greedy against a tiny-random oracle with the real architecture.

MLA attention with compressed KV: 576 floats/token vs 32,768 naive — critical for long sessions on RAM-starved boxes (GLM-5.2 specs).


What's actually implemented (not vapor)

From the README as of the HN launch:

  • DeepSeek-V3-style router — sigmoid, noaux_tc, routed_scaling_factor, shared expert, first-3-dense layers
  • MTP speculative decoding — GLM-5.2's layer-78 head drafts; main model verifies in one batched forward
  • MTP head must be int8 — at int4, draft acceptance collapses to 0–4%; int8 hits 39–59% acceptance, 2.2–2.8 tokens/forward (community #8)
  • Honest MTP caveat — cold cache adds expert loads per verified draft; speculation can lose until cache warms; DRAFT=0 disables it
  • Integer-dot kernels — Q8_0-style activations, AVX2; int8 matmuls 1.4–2.5× faster than f32 paths measured
  • MLA weight absorption on decode — DeepSeek trick; exact match with absorption forced
  • Async expert readahead — WILLNEED while multiplying current block
  • Learning cache — .coli_usage records routed experts; startup auto-pins hottest in spare RAM — "gets faster the more you use it"
  • Batch-union MoE on prefill — each unique expert read once per batch
  • BPE tokenizer in C — 320k merges, no Python at runtime
  • DSA sparse attention — in progress (indexer weights ~108 GB extraction downloading)

Honest speed numbers — read before you clone

Colibrì is explicit: this is not fast. It is a 744B-class model talking on hummingbird rations.

Author dev box (WSL2, 12 cores, 25 GB RAM, VHDX NVMe ~1 GB/s random)

MetricValue
Load time~30 s
Cold decode~0.05–0.1 tok/s
Cold disk cost~11 GB reads/token
Peak RSS~20 GB (auto-capped)

Community benchmarks (stock setup.sh, greedy, --ngen 32)

MachineDisk (iobench)ConfigMeasured
Core Ultra 7 270K, 24 GB, WSL2 (#2)1.96 GB/s buf / 2.74 O_DIRECTdefault0.07 tok/s, hit 3–4%
SameSame--topp 0.70.11 tok/s, hit 11%
M5 Max, 128 GB unified (#4/#5)14.2 GB/s O_DIRECTMTP off1.06 tok/s, hit 23%, RSS 21.8 GB

HN consensus: 0.05–0.1 tok/s is a proof-of-life demo, not a daily driver. ~1 tok/s on Apple Silicon with fast SSD starts to resemble "walk away overnight" agent workflows walrus01 noted on HN. 5–15 tok/s remains a back-of-envelope target for 128–256 GB RAM + many cores + warm pin — not yet measured at scale.


SSD, swap, and the corrected wear story

Early README drafts worried about SSD wear from page cache writes. The July 10 README clarifies:

  • Expert streaming = read-only — does not wear NAND meaningfully
  • Swap under memory pressure does write — colibrì sizes expert cache from MemAvailable to stay out of swap
  • Thermals — hours at full read duty cycle heat cheaper drives; monitor health

For soldered-SSD laptops, HN commenters treat this as an experiment, not default daily tooling — external NVMe or a desktop with replaceable storage is saner for multi-hour runs.


Quick start — commands that work

bash
cd c
./setup.sh                      # gcc + OpenMP, self-test (expects 32/32)

# One-time convert (needs python: torch safetensors huggingface_hub numpy)
./coli convert --model /nvme/glm52_i4     # ~400 GB free, resumable

# Or skip convert — download prebuilt:
# https://huggingface.co/jlnsrk/GLM-5.2-colibri-int4

COLI_MODEL=/nvme/glm52_i4 ./coli chat

Useful knobs: --temp 0.7 (int4-tuned), --topp 0.7 (adaptive expert top-p, ~1.6× speedup in #2 benchmark), THINK=1 reasoning block, DRAFT=n MTP depth, PIN=stats.txt PIN_GB=20 hot-expert pinning.

Quality sweep (needs fast disk):

bash
./coli bench                    # hellaswag, arc_challenge, mmlu — 40 each
./coli bench mmlu --limit 200

The project has not published int4 accuracy loss yet — the harness exists; a full run on the dev box disk is ~a day. That benchmark is the highest-value community contribution right now.


Colibrì vs the rest of the GLM-5.2 local stack

PathRAM floorDiskTypical tok/sBest for
Colibrì~25 GB370 GB NVMe0.05–1+ (hardware-dependent)"Make 744B speak on what I own"
Unsloth 2-bit GGUF~245–256 GB239 GBInteractive on Mac Studio classDaily driver local GLM
Ollama / llama.cppVaries by quantmmap GGUFHigher when model fits RAMAgent APIs, OpenCode local
GLM Coding Plan APINoneNoneCloud speedProduction coding agents
Cline $9.99 bundleNoneNoneHostedCheap harness access

Colibrì does not replace Perplexity's GLM orchestrator or Ollama's $88M hybrid cloud bet. It extends the sovereign extreme: frontier open weights when you refuse to rent GPUs and refuse to buy 256 GB RAM.


Hacker News themes worth keeping

Ticket / async interface — several commenters argued chat UI is wrong for 0.1 tok/s models; queue a task, check back in hours (loop engineering mindset without cloud).

RAM is the hidden cap on 24 GB machines — even with 2.7× faster disk, expert cache auto-caps to 2 slots/layer, so decode stays cold. More RAM → more pin → fewer reads.

Parallel NVMe / RAID0 — untested multiplier; author invites benchmarks.

OpenCode integration — in-flight PR per OP; until merge, wire agents manually or wait.

Related experiments — flash-moe reported 5+ tok/s on M3 Max (different approach); hypura for general SSD streaming — same design space, different targets.


Who should try Colibrì — and who should not

Try it if:

  • You have ≥25 GB RAM, ≥400 GB NVMe, Linux or WSL2, AVX2
  • You want to validate int4 GLM-5.2 quality on hardware faster than the author's laptop
  • You are researching MoE disk streaming for local LLM economics

Skip it if:

  • You need interactive coding agents today — use API, Cline, or 256 GB Unsloth
  • You have only soldered 256 GB Mac SSD and fear thermals — treat as read-only experiment
  • 0.07 tok/s would frustrate you — cloud GLM-5.2 harness is cheaper time-wise

Star the repo, run iobench, open an issue with numbers — the README's scaling table is explicitly waiting for datapoints from better machines.


Related on explainx.ai

  • 28.9M LLM on $8 ESP32 — flash PLE table
  • GLM-5.2 MIT open source and Code Arena adoption
  • Run GLM-5.2 locally with Unsloth — 256 GB path
  • What is llama.cpp? GGUF and local APIs
  • How to run GLM 5.2 in agent harnesses
  • Fix local LLM looping — samplers and sandboxing
  • Ollama $88M — open models runtime
  • Perplexity GLM 5.2 orchestrator — hosted contrast
  • Qwen 3.6 27B local — when dense beats MoE

Official: Colibrì on GitHub · GLM-5.2-colibri-int4 weights · Show HN thread


Benchmarks and README details reflect the July 10, 2026 colibrì launch and community issues #2, #4, #5, #8. Tok/s varies enormously by NVMe, RAM pin budget, and MTP settings — run coli bench and iobench on your hardware before assuming interactive speed.

Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jul 23, 2026

Petals Resurfaces: Why BitTorrent-Style LLM Inference Still Struggles

A 2022 Hugging Face/BigScience project called Petals — run large language models at home, BitTorrent-style — hit the Hacker News front page again in 2026, reigniting a debate about whether peer-to-peer LLM inference is finally viable now that models are smaller, quantization is better, and newer projects like Mesh LLM and AI Horde have taken different approaches to the same problem.

Jul 17, 2026

How to Run Kimi K3 Locally — Confirmed Hardware Tiers and vLLM Setup (2026)

Moonshot's Kimi K3 open weights went live July 26, 2026. This guide covers what actually changed once the download landed — confirmed license, real disk and VRAM numbers, a working vLLM serve command instead of a placeholder, and where community GGUF quants stand two days after release.

Jul 14, 2026

Tencent Hy3 GGUF — 1-Bit and 4-Bit Quants for Single-GPU llama.cpp

Eight days after Hy3's launch, Tencent dropped 1-bit and 4-bit GGUF quants claiming single-GPU serving via llama.cpp + MTP. That means 128GB unified memory — not a 16GB RTX 3060. explainx.ai breaks down hardware tiers, p-min flags, and honest tok/s from the X thread.