FareedKhan-dev/kimi-k3-in-c
A 2.78-trillion-parameter Kimi K3 running inference on a single CPU in 8.24 GB of RAM. Portable C99: no BLAS, no framework, no GPU.
解决的问题
本项目提供了一个可移植的 Kimi K3 推理引擎 C99 实现,使庞大的 2.78 万亿参数模型能够在消费级硬件上运行。它通过从磁盘流式传输模型权重,而非要求权重完全驻留在内存中,解决了极端的内存需求问题,使模型能够在仅 8 GB 的内存上运行,而不受机器总内存的限制。
运作原理
该引擎使用多种技术来减少内存占用:
- 权重流式传输 (Weight Streaming): “主干”(dense layers) 被打包成单个文件并从磁盘流式传输。此部分分配的内存量可通过预设值 (例如
laptop,server) 进行调整。 - 专家缓存 (Expert Caching): 1.45 TB 的路由专家模型不会完全驻留;相反,它们直接从打包的 4-bit 格式进行乘法运算,并通过 LRU (最近最少使用) 缓存进行管理。
- 架构优化: 实现了 KDA 注意力机制 (内存永不增长) 和 MLA (Multi-head Latent Attention) 以减少 KV 缓存的内存开销。
- 可移植 C99: 引擎以可移植 C99 编写,不依赖 BLAS 或大型 AI 框架,使用 OpenMP 进行并行处理,并使用 AVX2/NEON 进行硬件加速。
适用对象
- AI 研究人员与开发者: 对高效率推理与内存受限环境感兴趣者。
- 硬件受限的用户: 希望在标准笔记本电脑或台式机上运行 Kimi K3 模型,而无需 GPU 集群的用户。
特点
- 极致内存效率: 在仅 8.24 GB 的峰值 RSS 下运行 2.78T 参数模型。
- 零 GPU 依赖: 完全在 CPU 上运行。
- 字节完全相同的输出: 无论是在 8 GB 还是 224 GB 内存上运行,产生的输出结果完全相同。
- 极小占用空间: 整个推理引擎仅 176 KB。
- 跨平台: 支持 Linux, macOS 与 Windows。
相关
- Dispatch
- 项目
- 项目
- Dispatch
- Dispatch