Colibrì:25GB 内存跑 744B 模型,权重按需从硬盘读
开源推理引擎 Colibrì 把显存、内存和固态硬盘当成同一套存储层级:744B 的 GLM-5.2 每个 token 只激活约 40B 参数,于是常驻内存的只有约 9.9GB 的稠密部分,19,456 个路由专家留在硬盘上按需读取。它不保证速度,只保证不悄悄改动模型:25GB 的开发机冷缓存时每秒 0.05 到 0.1 个 token,128GB 的纯 CPU 台式机约 1.8 个。
编辑标为重要,发布已满 30 天,从立即关注降到这一档。
本页目录11 节
记录
信号正文
#它的办法
混合专家模型每生成一个 token 只会用到一小部分参数。以 GLM-5.2 为例,总参数 744B,每个 token 激活的约 40B,其中随 token 变化的路由专家约 11GB。所以模型不必整个装进高速内存,只需要被放在合适的位置上。
- 稠密部分(注意力、共享专家、嵌入,约 17B 参数)以 int4 常驻内存,约 9.9GB
- 19,456 个路由专家(每个约 19MB)放在硬盘上,约 370GB,路由器点到哪个再读哪个
作者把它比作给权重用的即时编译:编译器不会提前编译整个程序,只处理真正在跑的热点路径。Colibrì 对参数做同样的事——按实测的路由热度决定哪些专家留在哪一层,并提前一层预取。README 给出的依据是,相邻层的路由有 71.6% 可以提前一层预测。
引擎本体是一个 C 文件加几个小头文件,运行时不需要 BLAS、不需要 Python,也不强制要 GPU。
它给出的速度
- 6 张 RTX 5090、专家全部常驻:每秒 5.8 到 6.8 个 token
- 128GB 内存的纯 CPU 台式机:热缓存约 1.8 个
- 单张 RTX 5070 Ti 的笔记本级机器:1.07 个
- 25GB 内存的开发机:冷缓存 0.05 到 0.1 个
最后一行是这个项目的起点,也是它最诚实的一行:能跑,但一句话要等很久。
它不保证什么
README 写得很直接:速度没有任何承诺,语义有硬保证。默认策略不会因为你的机器内存小,就悄悄少算几个专家或者换一套路由;高速内存不够只会变慢,不会变成另一个模型。
它把自己的优化都列成了待验证的假设,并附上不利的结果:两块独立的固态硬盘实测让解码快了 37.5%,但第三块较慢的盘加进去没有帮助;推测解码在专家命中率约 85% 时实测反而慢了 32%;按路由历史固定热点专家在重复负载上有效,却可能对某一类提示过拟合。项目明确请贡献者把失败的实验也发出来。
支持的模型
九个家族:GLM-5.2 与 5.3、GLM-5.3-Flash、Inkling(975B)、Kimi K3(2.8T,权重约 1.6TB,内存 32GB 起)、DeepSeek V4 Flash 与 V4.1 Flash、Qwen3.8-Flash-Next、Qwen3.6 和 OLMoE。每个模型一个 C 文件,共用同一套读写、缓存和分词组件。
怎么读这条
它解决的是「能不能在自己的机器上拿到前沿模型」,不是「能不能用它干活」。每秒不到 2 个 token 撑不起交互式使用,但足够做离线批处理、评测和对模型内部的观察——仪表盘能实时显示每个专家此刻在哪一层存储、被点到了几次。
本条由量子位的报道带入,数字以项目 README 为准。
为什么是现在
为什么重要
#前沿开放权重模型已经大到普通硬件装不下,「开放」对多数人只是名义上的。把权重当成可以分层摆放的数据,是让这些模型在没有机房的地方也能被运行、被测量的一条路——代价写得很清楚,是速度。
背景
技术背景
#混合专家模型在每一层由路由器从几百个专家里选出少数几个参与计算,所以总参数很大、单步计算量却小得多。int4 量化把每个权重压到 4 比特。最近最少使用缓存在空间不够时先淘汰最久没被用到的条目。
关注人群
谁该关注
#下一步
学习路径
#- 先读《混合专家模型(MoE)架构》:为什么总参数和单步计算量可以差一个数量级
- 读本站 FreeToken 那一条:同一个判断——消费级机器是异构资源——的另一种做法
- 看 Pinterest 向量检索那一条:同样是把一部分数据放到固态硬盘上,取舍明细很接近
- 在你的机器上估一估:稠密部分能否常驻,硬盘的读取带宽够不够
关系网络
在技术网络中的位置
#当前技术与相邻技术、技能和背景知识的连接,点击节点可继续探索。
延伸思考
后续问题
#- 你的场景能接受每秒不到 2 个 token 吗?
- 你的负载重复度高不高,热点专家缓存能不能命中?
- 硬盘的读取带宽会不会成为比内存更紧的约束?
发布记录
收录于
#收录这条信号的技术简报,新的在前;最后一行是它那一周的周回顾。标签是它在那一期所在的栏目。
来源参考