内容提要
GitHub热门开源项目Colibrì是一个纯C实现的分层推理框架,通过将MoE模型不常用的专家权重存放在SSD、常用部分缓存在RAM/VRAM,使低配设备也能运行超大模型。它支持GLM-5.2、Kimi K3等9个模型,最低16GB内存即可运行744B模型,无需GPU,并采用LRU缓存与专家预测提升速度。
延伸解读
MoE架构如何让低配设备跑大模型
Colibrì能实现低配设备运行超大模型,核心在于MoE架构的稀疏激活特性。以GLM-5.2为例,虽然总参数744B,但每个token仅激活约40B参数,这意味着绝大多数专家权重在单次推理中并不需要常驻内存。Colibrì利用这一点,将不常用的专家权重存放在SSD,仅将常驻部分(如Attention、Embedding等约17B参数)保留在RAM,从而大幅降低内存需求。这种设计思路为资源受限环境部署大模型提供了新可能。
分层缓存与预测机制的实际效果
Colibrì通过LRU缓存和专家预测来减少SSD读取。LRU缓存将最近使用的专家保留在RAM,而基于相邻层专家路由相关性(可预测性达71.6%),系统能提前预取下一层可能需要的专家,重叠计算与I/O。实际测试中,在12核CPU+25GB RAM开发机上,冷缓存时速度仅0.05~0.1 token/s,但通过缓存优化,128GB RAM纯CPU桌面机可达约1.8 token/s,6张RTX 5090则提升至5.8~6.8 token/s。这表明缓存策略对性能影响显著。
硬件需求与模型支持范围
Colibrì支持9个模型家族,涵盖从Qwen3.8-Flash-Next等小模型到2.8T参数的Kimi K3。对于GLM-5.2,int4量化后权重约372GB,最低16GB RAM即可运行,推荐24GB;Kimi K3则需要约1.6TB存储和32GB+ RAM。项目提供Linux、macOS和Windows预编译版本,无需GPU,仅需gcc或clang配合OpenMP即可从源码编译。用户可通过Web Dashboard实时监控token速度、专家存储位置等,降低了使用门槛。
设计原则:速度与精度分离
Colibrì遵循一条重要原则:专家存储位置只影响速度,不改变模型本身。无论专家在VRAM、RAM还是SSD,Router的选择和权重精度都保持一致,不会因内存不足而减少专家计算或更改路由。这保证了推理结果的准确性,同时允许用户根据硬件条件灵活调整存储层级。这种设计使得低配设备也能获得与高配设备相同的模型输出,仅速度有所差异。
Q&A
Colibrì是什么?它有什么特别之处?
Colibrì是一个纯C实现、零引擎依赖的分层推理框架,通过将MoE模型不常用的专家权重存放在SSD、常用部分缓存在RAM/VRAM,使低配设备也能运行超大模型。它支持GLM-5.2、Kimi K3等9个模型,最低16GB内存即可运行744B模型,无需GPU。
Colibrì如何让普通笔记本运行744B参数的GLM-5.2?
Colibrì利用MoE架构的稀疏激活特性,将每次推理都需要的Dense部分(约17B参数,int4后约9.9GB)常驻RAM,而庞大的路由专家(约370GB)全部放在NVMe SSD上。推理时,Router先选出当前需要的专家,Colibrì检查它们是否已在高速内存中,未命中的才从SSD临时读取,实现按需加载。
Colibrì支持哪些模型?对硬件有什么要求?
Colibrì目前支持9个模型家族,包括GLM-5.2/5.3、DeepSeek V4 Flash、Qwen系列、OLMoE、Inkling以及Kimi K3等。以GLM-5.2为例,最低16GB、推荐24GB RAM即可运行,无需GPU;Kimi K3需要约1.6TB硬盘空间,RAM要求32GB起步。
Colibrì用了哪些优化技术来提升推理速度?
Colibrì采用了LRU缓存,将最近使用的专家保留在RAM中;记录专家使用频率,让高频专家获得更高缓存优先级;利用相邻层专家路由的相关性(可预测性达71.6%)提前预取下一层可能需要的专家,重叠计算与SSD I/O;还支持多SSD并行读取,分摊专家读取任务。
Colibrì在不同硬件配置下的实际速度如何?
在12核CPU+25GB RAM的开发机上,冷缓存时GLM-5.2速度约0.05~0.1 token/s;在128GB RAM的纯CPU桌面机上,速度可达约1.8 token/s;如果使用6张RTX 5090让全部专家常驻高速存储层,解码速度可达到5.8~6.8 token/s。
如何开始使用Colibrì?需要准备什么?
需要准备几百KB的Colibrì程序以及约372GB的GLM-5.2 int4模型。Colibrì提供Linux、macOS和Windows的预编译版本,下载解压即可;也可从源码编译,只需gcc或clang配合OpenMP。模型放好后,运行一条coli chat命令即可对话,也可打开Web Dashboard查看实时状态。