纯C写的推理引擎,怎么用25GB内存跑动2.8T参数的MoE大模型
纯 C 写的推理引擎,怎么用 25GB 内存跑动 2.8T 参数的 MoE 大模型
上周 v1.9.0 发布,Colibri 顺手把 GLM-5.3-Flash(321B,带视觉能力)也收了进来。七款模型,一个引擎,一套 CLI——coli chat、coli serve、coli web。Stars 数也跟着涨到了 26,480。
这不是又一个”平替 OpenAI API”的本地部署方案。Colibri 想解决的是更根本的问题:大模型的参数规模增长,远快于消费级硬件的内存增长,而传统推理引擎把这两者绑定在一起——模型要么全放进显存/内存跑,要么跑不动。
Colibri 的答案是:不把模型当”状态”来持有,而是当”数据”来调度。
核心思路:把存储也拉进推理层级
一个 744B 的 MoE 模型,每次 token 只激活约 40B 参数——真正”动”的那部分只有 ~11 GB。这意味着:
- 密集层(attention、共享 expert、embeddings,约 17B 参数):常驻 RAM int4 量化后约 9.9 GB
- 19,456 个 routed experts(每 个约 19 MB int4):放在 NVMe SSD 上,按需从磁盘流式加载
Colibri 把自己做成一个 C 文件的推理引擎(colibri.c + 少量头文件),没有任何外部依赖——不用 BLAS,不用 Python 运行时,甚至不用 GPU。
它的调度逻辑类似 CPU 里的 JIT 编译器:编译器不编译整个程序,而是盯着实际运行的热点路径,按需编译。Colibri 也不一次性加载整个模型,而是看路由器的实际需求,把对应 expert 从磁盘调入内存,同时用 prefetch 隐藏这部分延迟。
实测数据(GLM-5.2 744B,25 GB RAM 笔记本):
$ ./coli chat
🐦 colibri v1.9.0 — GLM-5.2 · 744B MoE · int4 · streaming CPU
✓ ready in 32s · resident 9.9 GB
› ciao!
◆ Ciao! 😊 Come posso aiutarti oggi?
速度约 4 tok/s,TTFT 1.6 s。比不上 A100 跑 vLLM,但对于”跑在笔记本上”这个前提来说,已经是工程突破。
v1.8.0 的关键升级:把内存层级打通
v1.8.0 引入了多层级统一内存架构——VRAM、RAM、NVMe 不再是三套独立的存储,而是一个推理层次结构的不同层级。模型权重在三者之间的流动,由 Colibri 的放置策略统一决定,而不是被硬件接口割裂。
v1.9.0(8 月 28 日)又收了 GLM-5.3-Flash,支持视觉多模态。更新节奏很快:从 v1.7.0 到 v1.9.0 不到 10 天合入了 131 个 PR。
支持的模型
| 模型 | 参数量 | 特点 |
|---|---|---|
| GLM-5.2 | 744B | 旗舰 MoE,25GB RAM 可跑 |
| GLM-5.3-Flash | 321B | 带视觉塔,多模态 |
| Inkling | 975B | 另一个 1T 级 MoE |
| Kimi K3 | 2.8T | 参数规模最大 |
| DeepSeek V4 Flash | 284B | 推理优化版 |
| Qwen3.6 | 35B-A3B | 小型 MoE,适合低资源 |
| OLMoE | 7B | 最小,支持本地 CPU 跑 |
和竞品的本质区别
和 DwarfStar DS4 对比能看得更清楚:DwarfStar 用激进量化把模型”压缩”到能跑;Colibri 不改模型精度,而是优化数据在内存层级之间的流动策略。一个让模型变小,一个让调度变聪明。两者都瞄准”消费级硬件跑大模型”,但技术路径不同。
和 vLLM、llama.cpp 比,Colibri 的定位更垂直——它只做 MoE,不碰 dense 模型。好处是指令级优化可以非常激进,比如每次 token 只精准调入约 5.4% 的活跃参数,而不是翻页整个 KV cache。
谁能用,谁别用
适合用 Colibri 的人:
- 有 25~64 GB 内存、有一块 NVMe SSD,想在本地跑 1T 级 MoE 模型的开发者
- 做 MoE 可解释性研究——web dashboard 的”Atlas”页面能把 19,456 个 expert 的路由 affinity 可视化成 3D 星图
- 想在树莓派或低功耗设备上跑轻量 MoE(OLMoE 7B 可以在 CPU 上跑)
- 对推理系统本身有研究兴趣——2400 行 C 代码,透明度极高
不适合用 Colibri 的人:
- 需要高吞吐的人——4 tok/s 的速度不适合做批量推理或线上服务
- 需要稳定 SLA 的场景——官方明确说”不保证速度,只保证语义正确性”
- 想用单卡 A100/H100 跑极致性能——Colibri 的价值在资源受限场景,不是性能极限场景
- 非 MoE 模型用户——Colibri 目前只支持 MoE 架构
下一步建议
如果你感兴趣,最快的方式:
# macOS / Linux 直接下载 release
curl -L https://github.com/JustVugg/colibri/releases/latest/download/colibri-$(uname)-x86_64.tar.gz | tar xz
cd colibri
./coli chat --model glm52 # 需要先下载模型权重
模型权重需要自行从 HuggingFace GLM 仓库 下载并转换。官方有详细文档。
如果你的机器有 6× RTX 5090 或者多路 CPU,试试 --cluster 模式:Coordinator 在本地保持 token 生成和路由,experts 的 FFN 计算分发到其他 Mac 的 worker 上执行,延迟可以进一步降低。
GitHub:https://github.com/JustVugg/colibri
官网:https://justvugg.github.io/colibri
文档:https://github.com/JustVugg/colibri/blob/main/README.md
评论区
登录后可评论。