把 2.78 万亿参数的大模型放进一台 64GB 内存的笔记本电脑本地运行——这是 WARP 这个开源项目正在做的事,而且已经跑通:完整的 Kimi K3 模型在一台 64GB MacBook Pro 上以约 0.6 token/秒的速度生成文字。WARP 是一个用 C 语言编写的本地推理引擎——推理引擎就是负责「加载模型、根据输入生成输出」的底层程序;它没有第三方运行时依赖,按 Apache-2.0 协议开源,目前 GitHub Star 2.4k。

它要解决的是「内存墙」:大模型太大、内存放不下,过去只能租昂贵的大内存云服务器。WARP 的思路是让硬盘分担内存的活,让普通电脑也能本地跑超大模型。它适合想在自己机器上运行大模型、不依赖云端 API 的开发者与研究者。

内存墙:为什么大模型放不进普通电脑

模型大小由「参数」决定——参数可以理解成模型里上万亿个可调节的「知识旋钮」,参数越多模型越强,占的空间也越大。Kimi K3 有 2.78 万亿参数,官方权重占 1.42TB 存储;想让模型全部常驻内存,需要一台内存按 TB 计的服务器。

关键转机在于 K3 是 MoE(专家混合)架构:模型内部有大量「专家」子网络,但处理每个 token 时只激活其中约 4%。token 是模型处理文本的基本单位,可粗略理解为一个词或半个词。也就是说,绝大多数专家权重在任一瞬间都用不上——这给「按需加载」留出了空间。

WARP 的做法:把硬盘当内存用

WARP 把模型拆成两部分:必须常驻内存的「主干」部分,以及数量庞大但按需启用的「专家」部分。专家权重放在 NVMe 固态硬盘上(NVMe 是电脑上速度最快的一类硬盘接口),要用哪个就读哪个进内存,剩余内存当作专家缓存。

这条路快不快,取决于硬盘速度:官方实测内部 SSD 能到 12.78GB/s,而 USB 硬盘盒只有 0.94GB/s,所以项目要求模型必须放在内置 NVMe 上。为了让读盘更高效,WARP 还做了三件事:

  • 预读路由:一个前瞻路由器提前预测下一层需要哪些专家,先读进来,和计算重叠进行;
  • 量化压缩:量化就是用更少的二进制位存权重、减小体积。专家权重用 3-bit 残差量化,更敏感的主干权重用 4/8-bit;
  • KV 缓存压缩:KV 缓存是生成时保存的中间计算结果。K3 的线性注意力把 4K 上下文的 KV 缓存从 11.25GB 压到 0.21GB。

实测:什么配置能跑什么模型

官方在一台 64GB MacBook Pro(M5 Pro)上测得的数据如下(容器是转换后的模型文件包):

模型参数规模容器体积最低内存实测速度
Kimi K32.78T982GB29.19GB0.45–0.62 token/s
GLM-5.3-Flash313B112GB5.14GB3.32–3.86 token/s
Kimi-Linear48B19GB1.32GB14.29–17.22 token/s

两个值得记住的结论:其一,一台 16GB 内存的机器跑 313B 的 GLM-5.3-Flash,速度能达到 64GB 机器的约 90%(3.06 对 3.32 token/s)——这类模型才是普通笔记本该盯着的目标。其二,专家缓存不是越大越好:缓存从 17.32GB 加到 29.32GB,命中率从 36% 升到 41%,速度反而掉了约 8 倍——内存不够时,缓存命中会变成系统在内存与硬盘之间反复搬运数据的页面错误。

怎么上手

想先试小的,从 Kimi-Linear 开始:容器 19GB、最低 1.32GB 内存、实测 14 token/s 以上。跑 GLM-5.3-Flash 需要 16GB 内存 + 112GB 内置 NVMe;跑 Kimi K3 则需要 64GB 内存 + 约 1TB 内置 NVMe。

流程是:git clone、make 编译、下载权重、转换模型格式(转换只需 CPU 和 Python,不需要 GPU)、运行。项目还附带一个 OpenAI 兼容的 HTTP 服务,支持流式输出、工具调用、结构化输出和图像输入,可以把它当本地 API 服务器用。

当前的局限

速度是客观现实:0.6 token/s 意味着每分钟约 36 个 token,只能应付简短问答,谈不上流畅对话。项目方明确说明格式与 API 尚未冻结、迭代很快,CPU 路径目前是实测最快的实现,但不是最终答案,CUDA 与 Metal 优化还在探索。另外 K3 的转换过程需要 1.42TB 临时空间,也可以直接用 BitTorrent 下载转好的 982GB 容器、跳过转换。

结论

WARP 的价值不在「快」,而在证明另一条路走得通:把权重放到硬盘上、按需读进内存,2.78 万亿参数的大模型也能在消费级笔记本上本地运行。如果你有 16GB 以上内存和一块空闲 NVMe,想体验本地跑超大模型,可以从 GLM-5.3-Flash 或 Kimi-Linear 开始。把它当实验平台跟踪比较合适——目标定在「能跑」,而不是「跑得快」。