
这几天 GitHub 趋势榜的 C 语言区有点意思。Redis 的作者 antirez 发了个项目叫 DwarfStar,仓库名 ds4;另一个叫 colibri,作者是 JustVugg。两个项目做的事高度重叠:把几百 B 到上 T 参数的前沿 MoE 模型,塞进普通人买得起的机器里跑。
跑得也不算差。colibri 在 25GB 内存的消费主机上跑 GLM-5.2,那是 744B 参数的模型,启动大概 32 秒,常驻 9.9GB。ds4 在 128GB 的 MacBook Pro 上跑 DeepSeek V4 Flash,2048 上下文下 prefill 790 token/s、生成 39 token/s。
有意思的不是速度数字,是它们解决问题的方式。这两个项目加上最近一批推理系统论文,指向一个反直觉的判断:本地跑前沿模型的瓶颈,已经不在算力上了,而在内存层级。
稀疏省的是算力,不是字节
MoE 架构这几年能流行,是因为它把两件事拆开了。总参数决定模型能装多少知识,激活参数决定每个 token 实际参与计算的有多少。一个 35B 的 MoE 每 token 大概只激活 3B 参数,算力门槛确实降下来了。
但存储门槛没降。那 35B 权重按 4-bit 量化还是 19.5GB,它得有个地方待着。Edge0 那篇论文把这个道理说得挺直:稀疏化压缩的是每个 token 的计算量,不是必须常驻的字节数。
所以战场就转移了。放不进显存就放内存,放不进内存就放 SSD,每往下一层走,就多付一份 I/O 的账。真正要解决的问题变成了:怎么把这次 I/O 的必要性和时机算准。
ds4 的选择:为一个模型做一整套
antirez 自己在博客里说,他没料到 DwarfStar 会火得这么快,但事后看需求是存在的。他把原因归给几件事同时发生:一个准前沿模型大到、快到足以改变本地推理的局面;它恰好接受一种很极端的不对称量化配方(2-bit 和 8-bit 混着来),于是 96GB 或 128GB 内存就够;再加上这几年本地 AI 社区攒下的经验,以及 GPT 5.5 的辅助,他说没有这些一周做不出来。
ds4 的设计选择是刻意做窄。它不做通用 GGUF 加载器,只支持很短的模型清单,把模型加载、prompt 渲染、工具调用、KV 状态、HTTP server、coding agent 当成一整套来构建和测试。antirez 的说法是"为一个或少数几个模型做专属推理系统"。
这么做能换到通用框架给不了的东西。MXFP4 那条路径直接保留 DeepSeek 发布的 routed-expert 权重,不做二次量化;在 Blackwell 上用原生 FP4 矩阵指令。SSD 流式模式也是分层的:非路由权重常驻显存,路由 expert 在内存里做缓存,未命中时从 GGUF 文件读。
它还带一个自带的 coding agent,实现方式跟大多数系统不同:推理在 agent 内部控制,中间没有 socket 或 API 边界,一个会话的状态就是磁盘上的 KV cache 本身。带来的好处很实在,KV cache 跟上下文对不上这类问题在结构上不会发生。
速度这边,数字很能说明 prefill 和 decode 吃的东西不一样。M5 Max 128GB 上,2048 上下文时 prefill 790 token/s、生成 39 token/s;上下文拉到 65536,prefill 还有 398 token/s,生成掉到 27.6 token/s。换到 DGX Spark 128GB,prefill 反而更高(800 以上),生成却从 18 掉到 13.8 token/s。prefill 是算力活,decode 是带宽活,这句话在这里看得最清楚。
规模上它也不只单机。两台 128GB 的 Mac 用 RDMA 做张量并行,能跑 4-bit 的 DeepSeek Flash 或 GLM;八张 L40S 做多用户服务,16 个会话聚合 126 token/s 生成、约 2000 token/s prefill。
colibri 的选择:把三层存储当成一层内存
colibri 走的是另一条路。纯 C 写引擎,零依赖,每个模型对应一个 C 文件,共用同一套 coli chat / serve / web 前端。README 里说今天能跑七个家族,从 7B 的 OLMoE 到 2.8T 的 Kimi K3,它的说法是把 storage、RAM、VRAM 当作一个推理层级来调度。
它的信条值得单独拎出来:内存不够可以降低速度,但不能悄悄改变模型的定义。这句话对着的是云端服务的现实,服务端为了成本给你换量化、换路由变体,用户通常不知道。
工程上有两个具体手段。一个是 batch-union MoE,prefill 和 MTP 校验阶段,batch 里每个不重复的 expert 只读一次,然后应用到所有路由到它的位置上。另一个是 MTP 投机,用 int8 的 head,实测每 forward 能出 2.2 到 2.8 个 token。
作者对性能的描述很诚实:这不快。一个 744B 的前沿级模型能正确回答,代价是一台比 H100 风扇还便宜的机器,剩下的交给磁盘的物理特性。
论文这边,答案基本一致
学术圈几乎在同一个时间给出了同一个方向。
SSD-LLaMA 做 SSD 原生推理,单张 RTX 5090 加不超过 32GB 内存,把万亿参数 MoE 跑到 1 token/s 以上,而且每个被选中的 expert 都真的执行,不剪枝、不做替代。相比基线,prefill 提升 1.52 到 4.19 倍,decode 提升 2.10 到 15.58 倍。
Edge0 解释了为什么朴素的 offload 没用:第 N+1 层的 expert 选择依赖第 N 层的输出,读盘启动得太晚。它的解法是训练一个 prerouter,用第 N 层上一个 token 的状态预测下一层的路由,并且把预测直接当成路由用,这样暂存的 expert 集合和实际路由集合按构造就是同一个,不丢 token。在 24GB 机器上,35B MoE 跑 20 token/s,峰值活跃内存 2.9GiB。
RotaryQuant 从三个方向同时压内存:混合位宽(dense 层 4-bit,路由 expert 2-bit,shared expert 因为激活峰值度高所以用 8-bit)、LRU expert offloading,以及把 KV cache 压到 3-bit 的 IsoQuant。IsoQuant 用 Walsh-Hadamard 变换加 block-diagonal SO(4) 旋转,先把分布各向同性化再量化,代价只有 O(d log d)。结果是 120B 的 Nemotron-H 装进 32GB 预算,14.85 token/s,峰值 17.2GB,困惑度变化不超过 0.0012。
OSDI'26 上那篇 CPU 与 GPU 混合的文章算的是另一笔账:DDR5 大约每 GB 3 美元,HBM 大约 30 美元,差一个数量级。它用双路 EPYC 加两张 RTX 5090,靠 stream-loading prefill 把长 prompt 的吞吐拉到 1800 token/s,INT4 的 DeepSeek-V3 解码 28 token/s。
把这些放一起看,共同点很明显:大家都在做"提前知道要搬哪些字节"和"每次少搬一点",而不是等着更快的芯片。
该冷静的地方
先把"能跑"和"能用"分开。有个项目在 12GB 的笔记本上跑 1.6T 的 MoE,测出来的中位数是 0.076 token/s。它证明了可行,但离日常使用差了三个数量级。上面那些 20 token/s 的案例,背后都是 SSD 随机读速度足够快的机器,硬件账得先算。
量化也不是没有代价。ds4 敢用 2/8 bit 的极端配方,前提是 DeepSeek Flash 这类模型对 routed-expert 量化特别耐受;换成别的模型,同样的激进程度未必成立。2-bit 附近的语义漂移是真问题,论文里也都在用 LoRA 或蒸馏去补。
多机拼接同样别忽略运维成本。RDMA 张量并行、pipeline 并行都能跑通,但你得有两台同规格的大内存机器,以及愿意维护它们的人。
我的判断
这波变化的关键词,跟"小模型"没什么关系。真正在动的是内存分层和 I/O 调度:怎么按冷热摆放权重,怎么让读盘和计算重叠,怎么在每层路由发生之前就知道要读哪些 expert。ds4 选择把窄做深,colibri 选择把薄做透,论文在把"预测"本身训练进模型,三条路回答的是同一个问题。
对个人开发者,我的建议是先算内存账,再看显卡。96 到 128GB 统一内存的机器适合常驻模型,走 ds4 那条路;24 到 32GB 的机器配上高速 NVMe 走流式,走 colibri 和 Edge0 那条路。在这种配置里,SSD 的随机读性能可能比显卡型号更决定你的体感。
antirez 博客结尾有一句话我挺认同:AI 太关键了,不该只是一个被提供的服务。他说这是第一次,他愿意拿一个本地模型去处理平时会交给 Claude 或 GPT 的活。这句话比任何 benchmark 都更能说明本地推理在 2026 年走到了哪一步。
参考来源
- antirez, A few words on DS4: https://antirez.com/news/165
- DwarfStar (ds4): https://github.com/antirez/ds4
- Colibri: https://github.com/JustVugg/colibri
- SSD-LLaMA: https://arxiv.org/abs/2609.18110
- Edge0, The Other Half of the Memory Wall: https://arxiv.org/html/2609.18063
- RotaryQuant: https://arxiv.org/html/2608.08081v1
- Mira: https://arxiv.org/html/2609.38090
- OSDI'26 CPU-GPU Hybrid MoE: https://www.usenix.org/system/files/osdi26-wang-wenxin.pdf