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 万亿参数模型能够在消费级硬件上运行。通过从磁盘流式加载权重,解决了极端内存需求的问题,即使模型检查点大小高达 1.56 TB,也能在仅 8 GB 内存的机器上运行,而无需依赖大量内存。
如何工作
该引擎使用多种内存优化技术,将模型适配到有限的 RAM 中:
- 流式主干(Streaming Trunk): 密集层(即“主干”)被打包成单个文件,并从磁盘流式加载,将内存需求变为可调节的“旋钮”——更多 RAM 提升速度但不影响输出质量。
- 专家缓存(Expert Cache): 路由专家(1.45 TB)不会完全驻留在内存中;而是直接从压缩的 4 位形式中乘法展开,并通过 LRU 缓存进行管理。
- 架构优化: 实现了 KDA(固定内存注意力)和 MLA(多头潜在注意力),以减少注意力机制的内存占用。
- 零依赖: 引擎使用可移植的 C99 编写,无需 BLAS、GPU 或重型 AI 框架,仅依赖 libm 和 OpenMP 实现并行处理。
适用人群
希望在本地 CPU 硬件上运行超大规模 MoE(专家混合)模型,而无需 GPU 集群的研究人员和开发者。
主要亮点
- 极致内存效率: 仅需 8.24 GB 的峰值 RSS 即可运行 2.78 万亿参数模型。
- 字节级完全一致输出: 无论运行在 8 GB 还是 224 GB RAM 上,输出结果完全相同。
- 可移植 C99: 无需 GPU 或外部 AI 框架;使用 GCC 或 Clang 可快速构建。
- 灵活内存预设: 提供笔记本、桌面、工作站、服务器等预设,可根据可用系统内存优化性能。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目