在 C 语言中、于 CPU 上运行 Kimi K3(c99 和 cpu)

Reddit r/ArtificialInteligence 工具

摘要

一个项目声称可以通过从 NVMe SSD 流式加载专家权重并使用 MXFP4 压缩,在仅有 8GB 内存的 CPU 上运行拥有 2.78T 参数的 MoE 模型 Kimi K3,以速度换取内存效率。

我最近偶然发现一个项目,声称可以在普通 CPU 上、仅用 8GB 内存就能运行 Kimi K3(2.78T 参数 MoE 模型)。起初我以为这完全是胡说八道,但在仔细阅读了它的实现原理后,发现它出人意料地靠谱。关键在于,它并没有把整个 1.5TB 的检查点加载到内存中——大多数困惑都源于此。相反,该引擎做了几件有趣的事: - 它利用了 MoE 架构的特点,每个 token 只激活 896 个专家中的 16 个。 - 它直接从 NVMe SSD 流式加载专家权重,而不是试图把所有内容都保存在内存中。 - 它使用 LRU 缓存保留最近使用过的专家,避免每次都重新加载。 - 它直接对压缩后的 MXFP4 权重进行计算,而不是先将其解压。 - 整个推理引擎使用可移植的 C99 编写,不依赖 PyTorch、CUDA、TensorRT,甚至不需要 BLAS。 显然,这里有一个代价:它很慢。在内存较低的系统上,每个 token 的生成时间要以秒计,所以短期内它不可能取代 GPU 推理。我不认为有人会用它来部署生产级聊天机器人。但我也认为那不是它的目的。在我看来,这更像是一个系统工程项目,而不是 AI 项目。它不是在问“我们需要多少内存?”,而是在问“我们真的需要同时把所有模型都放在内存里吗?”这是一个相当有趣的看待问题的角度。 我真心认为,随着模型不断变大,流式加载、更智能的缓存和更好的内存管理这类思路会变得越来越重要。好奇这里大家怎么看。这真的是推理引擎的发展方向吗,还是仅仅是一个非常酷的概念验证,不会有太大实际影响? (由 AI 润色)
查看原文

相似文章

使用29 GB内存以0.50 tok/s运行Kimi K3

Hacker News Top

WASTE是一个新的开源C语言推理引擎,它从磁盘流式加载专家权重,在仅29 GB内存的消费级笔记本电脑上运行拥有2.78万亿参数的Kimi K3模型,实现了0.49–0.54 tokens/s的速度。

Kimi K3 架构概述与笔记

Hacker News Top

Sebastian Raschka提供了开放权重的Kimi K3模型架构概述,重点介绍了其从480亿到2.8万亿参数的扩展、新的LatentMoE和注意力残差组件、移除RoPE改用NoPE,以及原生多模态支持。该模型强调推理效率,并达到前沿性能水平。