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