Colibrì 靠固态硬盘让 16GB 内存跑 GLM-5.2

一个叫 Colibrì 的开源推理引擎,最近在 GitHub 上涨到 3.7 万多星、4000 多个分叉。它做的事情很直接:让参数量几千亿到上万亿的 MoE 大模型,跑在普通人手里的电脑上。以智谱 GLM-5.2 为例,项目给的最低配置是 16GB 内存,推荐 24GB,显卡可有可无。

项目由 Vincenzo Fornaro 在 7 月 1 日创建,纯 C 语言编写,运行时零外部依赖,Apache 2.0 协议。9 月 20 日发布的 1.12.0 版合并了 81 个拉取请求,9 月 24 日的 1.12.1 又合并了 96 个,其中 80 个来自外部贡献者。

权重放在硬盘上,用到哪层读哪层

MoE 模型的特点是参数总量大、每个 token 实际用到的少。GLM-5.2 总参数 7440 亿,每次只激活约 400 亿。Colibrì 的思路是不把整个模型装进内存,完整权重以 int4 量化后放在 NVMe 固态硬盘上,GLM-5.2 约占 372GB,GLM-5.3 约 419GB。

项目把显存、内存、固态硬盘当成三层统一存储,作者称之为”权重的即时编译”。具体手段包括:每层单独做最近最少使用缓存,把高频专家固定常驻,提前一层预取下一层可能用到的专家,把多个 token 需要的专家合并成一次读取,读盘和计算重叠进行,还支持两块固态硬盘条带化并行读。

README 里写明了速度上的取舍:快速存储不够时只会变慢,不会降低模型精度,速度”不作任何保证”。

实际能跑多快

项目给了几档实测:

  • 6 块 RTX 5090、权重全部常驻:每秒 5.8 至 6.8 个 token
  • 128GB 内存的纯 CPU 台式机,缓存预热后:每秒约 1.8 个
  • 单块 RTX 5070 Ti:每秒 1.07 个
  • 作者 25GB 内存的开发机,冷启动:每秒 0.05 至 0.1 个

9 月中旬的 1.11.0 版加入了 DeepSeek V4.1 Flash,5520 亿参数、磁盘占用 510GB,在纯 CPU 机器上直接读官方权重、不做格式转换。作者记录的冷启动单轮耗时从 78.7 秒压到 25.1 秒,五轮对话稳定在每秒 1.14 至 1.58 个 token。

1.12.0 的主要新功能叫 brio 模式:调用方给出答案只能从中选择的几个选项,引擎直接读出每个选项的概率,不做采样生成,输出 token 数为零,答案不可能跑出选项之外。对多数本地用户来说,这比一个字一个字地等回复实用得多。

支持名单几乎是一份国产开放模型清单

Colibrì 目前支持九个模型家族:GLM-5.2/5.3 及带视觉的 GLM-5.3-Flash、DeepSeek V4 Flash 和 V4.1 Flash、Kimi K3、Qwen3.6 和 Qwen3.8-Flash-Next,另有 Inkling 和 OLMoE。除后两个外,全部来自智谱、DeepSeek、月之暗面、阿里这几家中国公司。

对国内开发者,这件事有两层用处。一是数据不出本机:律所、医院、制造企业里那些不能把文档传到云端的场景,一台 128GB 内存的工作站加一块 1TB 固态,就能在本地跑 7440 亿参数的 GLM。二是门槛下探:Kimi K3 这种 2.8 万亿参数的模型,int4 权重约 1.6TB,内存要求 32GB 起,在此之前个人几乎不可能在自己机器上把它跑起来。

限制同样明显。每秒一两个 token 的速度,写一段千字回复要等十几分钟;固态硬盘长时间高强度随机读的寿命损耗,项目文档没有给出测算。作者自己也提醒,推测解码的加速效果是实测值,换一台机器未必复现。

参考来源:Colibrì 项目 README、Colibrì 1.11 至 1.12.1 版本说明、量子位、CocoLoop;速度数字以项目方公布的各档实测配置为准,星标数据取自 GitHub 页面。