1,700· 290 forks· C· Apache-2.0开发工具

用纯 C 在 8GB 内存跑 2.78 万亿参数 Kimi K3

FareedKhan-dev/kimi-k3-in-c

无需 GPU/框架/BLAS,用 176KB 纯 C99 引擎在单 CPU 8GB 内存推理 Kimi K3 2.78T 参数模型

成熟度维护活跃,最近提交 3 天前,当前 6 个 open issues,项目刚发布(v0.1.0)

项目体检

许可 · Apache-2.0,允许商用(需保留版权声明和许可证副本)

活跃 · 新项目活跃维护中,v0.1.0 于 3 天前发布,2 位贡献者,最近提交 3 天前

解决什么

主流大模型推理依赖昂贵 GPU 集群和数百 GB 内存,让个人开发者和资源受限场景难以实验超大参数模型。该项目用纯 C 实现 Kimi K3(2.78 万亿参数)推理引擎,通过四层优化将内存需求从理论上的数 TB 压缩到 8GB,让普通笔记本 CPU 也能运行万亿级模型。核心突破在于:将 1.56TB 检查点通过 4-bit 量化、专家流式加载、线性注意力(KDA)和 MLA 压缩技术,实现相同输出在 8GB 到 224GB 任意内存预算下字节级一致。

为何火

技术极客关注点:用 176KB 纯 C 代码(无 BLAS/PyTorch/GPU 依赖)挑战工程极限,证明通过精细内存管理和 SIMD 优化(AVX2)可在消费级硬件跑生产级模型。项目展示了四个递进式优化——专家 4-bit 量化、KDA 常数内存注意力、MLA 头压缩、Trunk 流式加载——如何将理论不可能变为 8.24GB 实测峰值。对系统编程和深度学习交叉领域有教学价值,README 包含完整原理拆解和验证路径。

核心功能

  1. 极致内存优化:896 个专家(1.45TB)永不驻留内存,直接从 NVMe 以 4-bit 形式流式计算;93 层 Trunk 可配置驻留深度,剩余层按需加载
  2. 多预设适配:提供 laptop(8GB)到 server(224GB)五档预设,同一模型不同内存配置产生完全相同输出
  3. 纯 C99 实现:零依赖外部库,所有矩阵运算、注意力机制、专家路由用手写 AVX2 SIMD 内核,可移植到任意 x86-64 Linux
  4. LRU 专家缓存:智能缓存热点专家权重,通过 trace 分析优化命中率
  5. 增量生成:支持流式输出和完整运行报告(内存峰值、token 速度、缓存统计)

安装

前置要求:

  • 1.7TB 可用存储(1.56TB 检查点 + 109GB 打包 Trunk)
  • 支持 AVX2/FMA 的 x86-64 CPU
  • 8GB+ 内存(更多更快但输出相同)

步骤:

# 1. 克隆仓库
git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git
cd kimi-k3-in-c

# 2. 编译(通用 AVX2 或针对本机优化)
make portable  # 或 make native

# 3. 下载 Kimi K3 检查点(需梯子访问 Hugging Face)
# 按 README Full setup 章节说明下载 1.56TB 模型文件

# 4. 运行推理
./bin/k3 ~/k3model --trunk ~/k3trunk --preset laptop \
         --tok ~/k3model --prompt "你的提示词" --gen 20

适合谁

  • 系统编程学习者:想理解 LLM 推理底层实现(内存映射、SIMD、缓存策略)的开发者
  • 资源受限研究者:需在无 GPU 环境实验超大模型的学术机构或个人
  • 极客挑战者:对"用最少资源跑最大模型"感兴趣的工程师
  • 不适合:生产环境(速度慢,laptop 预设 32 秒/token)、需要中文文档的初学者、无法承担 1.56TB 下载成本的用户

社区评价

暂无足量社区公开讨论,以下为基于项目本身的中立评估:

该项目在技术实现上展现了教科书级的系统优化思路,README 详尽到可作为深度学习推理工程的案例教材。四层优化策略(量化、线性注意力、头压缩、流式加载)逻辑清晰且有实测数据支撑。但实用性存在明显局限:1.56TB 检查点下载门槛极高,国内用户需梯子且存储成本不菲;32 秒/token 的速度仅适合研究而非应用;作为 base 模型缺少对话模板,需额外适配才能实际交互。项目价值更多在教育和技术验证,而非替代现有推理框架。

选型对比

维度kimi-k3-in-cllama.cppvLLM
依赖零依赖纯 C需 C++ 编译链Python + CUDA
内存下限8GB(CPU)~16GB(量化)需 GPU 显存
速度极慢(32s/token)中等快(GPU 加速)
适用场景学习/极限挑战通用 CPU 推理生产部署

取舍:若追求极致资源利用和代码可读性选本项目;需平衡性能和易用性选 llama.cpp;生产环境必选 vLLM 等 GPU 方案。

已知坑

  1. 存储刚需:1.56TB 检查点无法绕过,SSD 空间不足会卡在下载阶段
  2. 国内网络:Hugging Face 需梯子,建议用海外服务器中转下载
  3. 速度预期:即使 server 预设(127GB 内存)也只能到 10 秒/token,不适合实时交互
  4. 平台限制:仅支持 Linux x86-64,macOS 和 Windows 需虚拟机或 WSL2
  5. Base 模型特性:输出是续写而非对话,需自行实现 chat template 才能问答
  6. 调试门槛:纯 C 代码无高级调试工具,出问题需手动 gdb 排查
  7. AVX2 硬性要求:老旧 CPU(2013 年前)无法运行,make portable 也需 AVX2 支持

来源: GitHub 仓库 + README 技术文档

安装方式:make