Kimi K3 CPU 推理封面
3

8 月

一个人用 6 个 C 文件把 2.78 万亿参数的 Kimi K 3 塞进了 8 GB 内存

一个人用 6 个 C 文件把 2.78 万亿参数的 Kimi K 3 塞进了 8 GB 内存——每 token 33 秒,但根本不是让你用的

Fareed Khan 之前在 32 块 H 100 上部署了 Kimi K 3。然后他做了件几乎不可能的事:用 6 个纯 C 99 文件(176 KB 编译后)、0 个依赖库、0 张 GPU,让同一个 1.56 TB 大小的模型在 8 GB 内存的 CPU 上跑了推理。每 token 需要 33 秒——但他不是让你用,他是要你理解这件事为什么可能。

怎么做到的

Kimi K 3 是一个 MoE(混合专家)模型。2.78 万亿参数,但每个 token 只有 896 个专家中的 16 个被激活

关键不在激活率——在于 93% 的模型权重(1.56 TB)属于那些路由专家,而大部分专家在每个 token 面前都在睡觉。

Khan 的方案:

密集部分(trunk)→ 常驻内存,逐层流式加载n路由专家           → 按需从 NVMe 读取,不解量化,直接计算n专家缓存           → 类似 LRU,有界的专家缓存池

最精妙的是不解量化。K 3 的权重以 MXFP 4 4-bit 格式存储——1.56 TB 中绝大部分是这种格式。通常你会先解量化为 FP 16 再计算。Khan 不——直接在打包的 4-bit 格式上做矩阵乘法。这一步省掉了巨大的内存开销。

硬件配置和速度

内存速度
8 GB~33 秒/token
20 GB~28 秒/token
128 GB~20 秒/token

输入输出字节完全一致——不同内存预算下的结果完全相同。这是正确性的关键证明。

但他也很诚实:「这不是可用的推理速度。每 token 需要半分钟,需要 1.7 TB 的磁盘空间。」

同一天,还有 WASTE

Macro Bambini 在同一天发布了 WASTE——另一个 MoE 流式推理引擎。他把 Kimi K 3 的 1.42 TB 检查点转换成了 982 GB 容器(去掉冗余的 safetensors 开销),在 MacBook Pro 64 GB 上跑了完整模型。

WASTE 的速度大约是 0.12 秒/token——比 Khan 的方案快 275 倍,但需要一个更大的内存预算。

两个项目放在了同一张桌子上:

kimi-k 3-in-cWASTE
作者Fareed KhanMarco Bambini
语言C 99, 6 文件,176 KBC, 嵌入式 API
内存8 GB 起64 GB
速度33 s/token0.12 s/token
目的理解架构严肃的本地推理尝试

为什么这件事情值得认真看

如果 2024 年有人告诉你「一个 2.78 T 参数的 MoE 模型可以在 8 GB CPU 上推理」,你会觉得这是废话。

现在它是事实。

不是「实用」。是「可能」。

MoE 架构的核心特性——大多数参数在任何给定 token 面前是闲置的——创造了一种新的可能性:模型的参数量不再等于推理的门槛。关键是存储带宽和流式访问模式,不是 GPU 显存。

两个不需要 GPU 的开源 K 3 实现

几乎同时,有人开源了 kimi-k 3-pytorchpablo-reyes8/kimi-k3-pytorch)——纯 PyTorch,从 19.7 M 的 k3_nano 到 2.78 T 的 k3_2p8t 配置,所有训练和推理代码可配置、可验证。不需要 GPU。

和 Fareed Khan 的 C 版本一样的精神:我想理解它是怎么工作的,所以我把它从头实现了一遍。

这对我们意味着什么

未来可能是这样的:

  • 云端:大模型跑在 8×H 200 上,速度快、成本高、数据在外
  • 桌面:MoE 模型跑在你的工作站上,13 B 活跃参数在本地,896 个专家在 NVMe 里流式访问
  • 研究:你花一个周末从头实现一个 K 3 级别的架构,用你理解的方式验证它

「三年前这是科幻,一年前这是论文,今天是 GitHub 上的开源项目。」

相关阅读

FAQ

33 秒/token 能用吗?

不能。Khan 明确说这个项目的目的是理解架构,不是实际使用。但 0.12 秒/token(WASTE)放在后台研究任务上已经是可用的水平了。

我能在我的笔记本上跑 Kimi K 3 吗?

你需要 ~2 TB 的 NVMe 存储空间来放模型文件和 trunk 重打包文件。RAM 方面:8 GB 能跑(极慢),128 GB 更好。GPU 不需要。

开源替代方案有哪些?

  • FareedKhan-dev/kimi-k3-in-c — 极简 C 99,学习用
  • marcobambini/WASTE — C 引擎,MacBook Pro 可用
  • pablo-reyes8/kimi-k3-pytorch — 纯 PyTorch,学习+实验用
  • TimRots/kimi3 — 独立实现,验证架构正确性

相关阅读

RELATED

Posts