
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-c | WASTE | |
|---|---|---|
| 作者 | Fareed Khan | Marco Bambini |
| 语言 | C 99, 6 文件,176 KB | C, 嵌入式 API |
| 内存 | 8 GB 起 | 64 GB |
| 速度 | 33 s/token | 0.12 s/token |
| 目的 | 理解架构 | 严肃的本地推理尝试 |
为什么这件事情值得认真看
如果 2024 年有人告诉你「一个 2.78 T 参数的 MoE 模型可以在 8 GB CPU 上推理」,你会觉得这是废话。
现在它是事实。
不是「实用」。是「可能」。
MoE 架构的核心特性——大多数参数在任何给定 token 面前是闲置的——创造了一种新的可能性:模型的参数量不再等于推理的门槛。关键是存储带宽和流式访问模式,不是 GPU 显存。
两个不需要 GPU 的开源 K 3 实现
几乎同时,有人开源了 kimi-k 3-pytorch(pablo-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— 独立实现,验证架构正确性









