Colibrì 用 SSD 当显存跑 744B GLM-5.2,25GB 内存笔记本也能推理

GitHub 上有个叫 Colibrì 的开源项目,最近涨到 32k Star。它做的事一句话能说清:让 744B 参数的 GLM-5.2 在一台 25GB 内存的笔记本上跑起来,而且不需要 GPU。

项目是纯 C 实现、零引擎依赖的分层推理框架。思路相当直接,模型里暂时用不到的部分先扔在 SSD 里,等推理真的需要哪个专家,再从硬盘现场捞出来。

先装进内存,还是先用再加载

传统跑大模型的顺序是先想办法把模型装进显存或内存,再开始计算。Colibrì 把这个顺序倒过来,需要什么再加载什么。作者 JustVugg 把它类比成针对模型权重的 JIT,传统 JIT 不会提前编译整个程序,而是观察哪些代码真在运行,再处理热点路径。

能这么玩的前提是 MoE 架构。以 GLM-5.2 为例,总参数 744B,但生成每个 token 时 Router 只激活一小部分,实际激活参数约 40B。既然绝大多数专家当前用不上,就没必要让它们一直占用昂贵的高速内存。

744B 拆成两层:17B 常驻,其余进 NVMe

具体拆分是这样的。GLM-5.2 中每次都要参与计算的 Dense 部分约 17B 参数,int4 量化后只占约 9.9GB,直接常驻 RAM。

剩下 19456 个路由专家,int4 之后整体仍要占约 370GB,全部放到 NVMe SSD。GLM-5.2 经过 int4 处理后大约 372GB 权重,可以在最低 16GB、推荐 24GB 左右 RAM 的机器上运行,GPU 不是必需品。作者最初验证用的开发机只有 12 核 CPU 加 25GB RAM。

冷启动只有 0.05 token/s,缓存怎么救

如果每生成一个 token 都从 SSD 现找专家,速度会难看到没法用。在那台 12 核 CPU 加 25GB RAM 的开发机上,GLM-5.2 冷缓存时确实只有约 0.05 到 0.1 token/s。

Colibrì 的优化思路是把 VRAM、RAM 和 NVMe SSD 组织成一套分层存储系统,原则是越常用的专家住得越近。已经在 VRAM 或 RAM 里的专家直接计算,最近用过的尽量留在 RAM 缓存,真正不常用的才继续待在 SSD。

它先加了 LRU 缓存,最近被调用过的专家优先留在 RAM,后面的 token 再点中同一个专家就不用跑一趟 SSD。同时运行过程中持续记录各专家使用次数,跑得越久越清楚哪些是真正常客,这些高频专家拿到更高的缓存优先级。

提前一层预测专家,可预测性 71.6%

Colibrì 没有停在等 Router 点名再行动。项目测试发现相邻层之间的专家路由存在明显相关性,提前一层预测专家的可预测性达到 71.6%。于是当前层还在计算时,它可以后台提前读取下一层可能需要的专家,把原本串行的计算和 SSD I/O 尽量重叠。

如果机器里有两块 SSD,Colibrì 支持放置第二份模型副本,把读取任务分摊到不同硬盘上,并行吃掉两块盘的带宽。开发者把这套思路称为 AI memory multitiering。

从 25GB 笔记本到 6 张 RTX 5090 的速度阶梯

这里有一条重要设计原则:专家放在哪里只决定速度,不改变模型本身。无论某个专家已经待在 VRAM 还是临时从 SSD 读取,Router 的选择不变,使用的权重精度也完全相同。Colibrì 不会因为机器内存少就少算几个专家。

速度数据是这样的。25GB RAM 的纯 CPU 机器冷缓存约 0.05 到 0.1 token/s;128GB RAM 的纯 CPU 桌面机能缓存更多专家,约 1.8 token/s;一路堆到 6 张 RTX 5090、让全部专家常驻高速存储层,解码速度来到 5.8 到 6.8 token/s。

九个模型家族,最大 2.8T 的 Kimi K3

Colibrì 目前已覆盖 9 个模型家族,每个模型单独一套 C 适配文件,但底层 IO、缓存、tokenizer 等公共组件复用同一核心。小尺寸的有 Qwen3.8-Flash-Next、Qwen3.6 和 OLMoE,DeepSeek V4 Flash 是 284B,GLM-5.2 与 GLM-5.3 是 744B,GLM-5.3-Flash 是 321B,Thinking Machines 的 Inkling 到 975B。

最大的一位是 Moonshot 的 Kimi K3,2.8T 总参数、104B 激活参数,权重需要约 1.6TB 存储空间,但 RAM 从 32GB 起步就能跑,同样不强制要求 GPU。

上手只需要两样东西

以 GLM-5.2 为例,需要准备的只有几百 KB 的 Colibrì 程序和约 372GB 的模型。项目提供 Linux、macOS、Windows 预编译版本,不想折腾编译就下载对应版本解压,想从源码开始也只需要 gcc 或 clang 配合 OpenMP。模型放好后一条 coli chat 就能进入对话。

项目还提供预转换好的 GLM-5.2 int4 模型,也可以从 FP8 原始模型自行转换。Web Dashboard 里能实时看到 token 生成速度、各阶段耗时,以及当前有多少专家待在 VRAM、RAM 和磁盘。Brain 页面把 GLM-5.2 的 19456 个专家全部可视化,哪个专家刚被 Router 点名、当前住在哪层存储、调用热度如何都能直接看。

对本地部署感兴趣的话,GPT-OSS 开源权重本地部署和Qwen3.8 消费级显卡量化部署是同一类问题的另外两种解法;想看开源模型的整体格局,可以参考小米开源 MiMo-V2.6 的实测数据与大模型推荐排行榜 2026 秋季版。

相关阅读