纯C写的推理引擎,怎么用25GB内存跑动2.8T参数的MoE大模型

纯 C 写的推理引擎,怎么用 25GB 内存跑动 2.8T 参数的 MoE 大模型

上周 v1.9.0 发布,Colibri 顺手把 GLM-5.3-Flash(321B,带视觉能力)也收了进来。七款模型,一个引擎,一套 CLI——coli chatcoli servecoli 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

评论区

0 条评论

登录后可评论。