📌 项目地址:JustVugg/colibri | ⭐ 27,369 颗星 | 🔧 C | 📜 未标注
27369 star,纯 C,零引擎依赖。colibri 做的事一句话能说清:把前沿 MoE 模型跑在消费级硬件上,办法是把 VRAM、RAM 和磁盘存储当成一个统一的分层内存体系(README 称之为 AI memory multitiering)。
核心思路
MoE 模型每次推理只激活一小部分专家,但常规推理引擎要求权重全部放进显存。colibri 的做法是:不必全塞显存,专家权重可以放在磁盘、RAM、VRAM 三层里,按需流动。
README 给出的实测数字:GLM-5.2(744B、int4)纯 CPU 流式加载,常驻内存 9.9 GB,32 秒就绪:
$ ./coli chat
🐦 colibri v1.10.2 — GLM-5.2 · 744B MoE · int4 · streaming CPU
✓ ready in 32s · resident 9.9 GB
› ciao!
◆ Ciao! 😊 Come posso aiutarti oggi?
744B 模型、9.9 GB 常驻内存、纯 CPU。这就是这个项目最硬的卖点。
支持的模型
目前八个家族,每个模型对应一个 C 文件,前端统一为 coli chat / coli serve / coli web:
- GLM-5.2 / 5.3(744B)
- GLM-5.3-Flash(321B,带视觉)
- Inkling(975B)
- Kimi K3(2.8T)
- DeepSeek V4 Flash(284B)
- Qwen3.8-Flash-Next(125B + 51B n-gram)
- Qwen3.6(35B-A3B)
- OLMoE(7B)
从 7B 的 OLMoE 到 2.8T 的 Kimi K3,跨度很大。我猜小模型的存在是为了让实验容易复现——改了调度或 kernel,先在 7B 上验证,再上 2.8T。
可视化部分值得单独说
./coli web 启动的仪表盘不只是看 token 速度。有几个页面做得很认真:
Brain 页:把全部 19,456 个专家画成一张”皮质”图。颜色是存储层级(在 VRAM、RAM 还是磁盘一眼可辨),亮度是路由热度,当前 turn 被路由到的专家会闪白。悬停能看到该专家实测的主题亲和度。
Atlas 页:13,260 个已表征专家组成的 3D 星系,1,041 个复制专家按主题聚类——诗歌、法律、中文、SQL 各成一团。关键细节:专家的位置来自实测路由亲和度,不是训练出来的 embedding。也就是说这张图是测量结果,不是模型自画像。
仪表盘首页显示:744B 模型在 6× RTX 5090 上跑 4 tok/s,TTFT 1.6 秒,磁盘读取为 0(专家全部常驻显存),配有三层内存占用条和逐 turn 时间分解。
设计原则:没有速度 SLA,但有语义硬保证
README 里这段我认为是全项目最有分量的承诺:
实验必须靠可复现的端到端测量数据才能被合入;默认策略绝不悄悄改变模型精度或路由语义。快速内存不足可以降速,但绝不能偷偷重新定义模型。
很多”量化换速度”的方案在这一点上含糊其辞。colibri 把语义保证设为硬约束,把速度明确声明为无 SLA——这是个研究平台的定位,不是产品。
它研究的范围也明确:模型格式、内存层级、存储 I/O、放置与调度、kernel、投机解码、CPU/GPU 重叠。目标是让大模型对稀缺硬件的依赖降下来、运行成本降下来。
适不适合你
4 tok/s 这个数字要先摆清楚。它是“能本地跑前沿模型”的方案,不是高吞吐生产服务方案。如果你想在自己的机器上私密访问 744B 甚至 2.8T 的模型,愿意为这件事接受慢速,colibri 目前是少数选择之一。如果你的需求是批量推理、低延迟服务,看别处。
另外 README 没有给出安装步骤和许可证信息,上手前建议直接看仓库和它的 Website / Discord。它有简体中文文档。
我的看法
llama.cpp 证明了一件事:单个 C 文件可以支撑起一个生态。colibri 走得更极端——每模型一个 C 文件,配合“存储即显存”的分层设计。这个方向真正的价值在于:如果 MoE 专家权重可以按需从磁盘流式加载而语义不变,那么”本地跑前沿模型”的硬件门槛就从数据中心级降到了消费级。9.9 GB 跑 744B 是一个证据,值得跟进它后续的测量数据。