kimi-k3-in-c
通过从磁盘流式读取模型而非全部载入内存,kimi-k3-in-c 可在单 CPU、8.24 GB 峰值内存下运行 2.78 万亿参数的 Kimi K3。项目使用可移植 C99,不依赖 BLAS、框架或 GPU。
访问 FareedKhan-dev/kimi-k3-in-c项目简介
kimi-k3-in-c 是面向 Kimi K3 模型的可移植 C99 推理引擎。它把常驻工作集留在内存中,并将稠密主干与路由专家从磁盘流式读取,使 2.78 万亿参数模型可在单 CPU 上运行,实测峰值内存为 8.24 GB。
核心功能
- 支持在单 CPU、无 GPU 环境下运行 2.78 万亿参数的 Kimi K3 混合专家模型;从磁盘流式读取模型数据,而不是把 1.56 TB 检查点全部放入内存,实测峰值 RSS 为 8.24 GB;使用可移植 C99,不依赖 BLAS 和框架,支持 Linux、macOS 与 Windows 构建;路由专家可直接从打包的 4 位形式参与乘法,该形式以每权重 0.53125 字节发布;采用 KDA 循环状态和 MLA 共享潜变量缓存来降低注意力内存;提供测试门和缓存模拟工具,用于校验引擎输出与专家缓存容量。
适用场景
- 在内存有限的消费级笔记本或台式机上运行 Kimi K3 推理;在单 CPU 上试验大型混合专家推理与磁盘流式读取技术;使用仓库测试套件将推理引擎与 PyTorch 参考实现进行校验;测量不同内存预算下的内存占用、token 速度与专家缓存行为。
快速开始
- 克隆仓库后运行 make -j,并运行 make test,在没有检查点的情况下验证引擎;运行 scripts/k3-doctor.sh 检查工具链、按预设评估内存并测量存储;设置 HF_TOKEN 后运行 scripts/download-model.sh 获取并校验 1.56 TB 检查点;运行 scripts/pack-trunk.sh 将 93 个稠密层打包为 trunk 文件;运行 bin/k3,并提供模型目录、trunk 路径、分词器、预设、提示词与生成选项。
部署与要求
- 存储:约 1.7 TB 可用空间,用于 1.56 TB 检查点加 109 GB 打包 trunk,最好放在快速本地磁盘;内存:8 GB 及以上,所有预设均可工作,更多内存只提升速度而不改变输出;操作系统:Linux x86-64 为参考平台,macOS/arm64 与 Windows/x86-64 也可构建并通过全部门禁;CPU:x86-64 需 AVX2 与 FMA,arm64 需 NEON,AVX-512 并非必需;工具链:GCC 9 或更新版本,或 Clang 10 或更新版本,配合 GNU make 或 CMake,下载、打包与分析工具需要
采用前须知
- 许可证:Apache-2.0。在使用、修改或分发项目前,请确认其具体条款。