
kimi-k3-in-c
在普通 CPU 上跑起万亿参数大模型,内存仅需 8G。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 11375
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Linux x86-64 平台(README 徽章标明 Platform: Linux x86-64)
- C99 编译器与 OpenMP(make -j 只需编译器与 OpenMP,数个 C 文件在数秒内编译完成)
- Python 3.9+ 与 numpy(仅在运行 tools/sim_cache.py 复现缓存容量表时需要)
- 磁盘空间:checkpoint 在磁盘上约 1.56 TB,打包后的 trunk 文件约 109 GB
- 内存:最小可行配置约 8.24 GB 峰值 RSS(--preset laptop),内存越大速度越快
安装与启动步骤
-
1克隆仓库
把源码克隆到本地并进入目录,README 说明整个快速上手不需要 checkpoint、网络和 Python。
git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git cd kimi-k3-in-c -
2编译引擎
执行默认目标,几秒钟完成,只需编译器与 OpenMP,不依赖 BLAS、框架或 GPU。
make -j -
3跑完整测试
运行无权重测试套件,一分钟内结束,用来确认引擎与参考实现完全一致。
make test -
4环境自检
k3-doctor.sh 可随时运行,会检查工具链、按预设评估内存大小、测量存储并打印下一步命令。
./scripts/k3-doctor.sh -
5打包主干
把 93 个稠密层重写成一个 109 GB 文件,约四分钟只做一次;输出目录要放在你最快的磁盘上。
./scripts/pack-trunk.sh ~/k3model ~/k3trunk -
6运行推理
用 laptop 预设跑最小可行配置,tokenizer 随 checkpoint 提供,所以 --tok 指向模型目录。
./bin/k3 ~/k3model --trunk ~/k3trunk --preset laptop \ --tok ~/k3model --prompt "Hello! My name is" --gen 16 --incremental -
7复现缓存测量
可选步骤,从仓库内的 trace 文件复现 100,096 次专家请求的容量表,需要 Python 3.9+ 和 numpy。
python3 tools/sim_cache.py tests/fixtures/expert_trace.bin
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--trunk | 是 | 指向 pack-trunk.sh 生成的主干文件目录 | ~/k3trunk |
--preset | 是 | 内存预设,用于确定驻留层数 | laptop |
--tok | 是 | tokenizer 路径,指向模型目录本身 | ~/k3model |
--prompt | 否 | 直接写在命令行的提示词 | "The capital of France is" |
--gen | 否 | 生成的 token 数量 | 16 |
--incremental | 否 | 启用增量解码,使用 KV cache 与携带的 KDA 状态 | --incremental |
如何确认成功
make test 输出末尾出现 “ALL WEIGHTLESS TESTS PASSED” 及 “VERDICT: ENGINE MATCHES THE REFERENCE EXACTLY”,三个 GATE 均为满分。
常见问题
Q:需要 GPU 或深度学习框架吗?
A:不需要。项目是纯 C99 实现的 CPU 推理引擎,不依赖 BLAS、框架和 GPU,三者的数量都是 0。
Q:make test 需要先下载 1.56 TB 的模型吗?
A:不需要。测试完全无权重,不需要 checkpoint、网络和 Python,整件事大约一分钟,用的是仓库内提交的 fixtures 和 PyTorch 参考结果。
Q:8.24 GB 内存真的够吗?
A:README 给出的 8.24 GB 是实测峰值 RSS。用 --preset laptop 即最小可行运行;内存越多只是越快,不会改变答案。
Q:启动时报 REFUSING TO START 怎么办?
A:说明需求内存超过可用内存的 95%。可选方案是换更大的机器、调小 --cache-gb,或减少层数(--layers)。
Q:为什么 --trunk 和 --tok 都指向模型相关目录?
A:--trunk 指向打包输出的主干文件目录,--tok 指向模型目录,因为 tokenizer 是随 checkpoint 一起发布的。
注意事项
- README 节选未给出 checkpoint 的下载地址,需自行准备模型并放到 ~/k3model 这类目录后再执行打包与运行。
- pack-trunk.sh 约需四分钟并生成约 109 GB 文件,README 建议把输出放在最快的磁盘上。
- 引擎在分配内存前会先做一次预测性检查,若预计需求超过可用内存 95% 会拒绝启动。
- README 说明内存计划只是预测值,应以运行结束时打印的 PEAK RSS 作为真实内存占用。
核心亮点
- 纯 C99 实现,无外部依赖,编译和部署极简
- 内存占用极低(8.24GB),消费级 CPU 即可运行
- 支持 2.78T 参数模型,展示极致的量化与压缩技术
不足之处
- 推理速度可能较慢,实际性能待验证
- 文档/社区待观察
适用场景
- 在无 GPU 的服务器或边缘设备上部署大模型
- 研究模型量化与内存优化的教学案例
- 需要完全离线、可控的推理环境
替代项目
llama.cpp、ggml、whisper.cpp
同类项目推荐
BigMoeOnEdge
开源
12GB 手机纯 CPU 跑超内存 MoE 大模型,无损不降智
Run MoE models bigger than your RAM. Frontier-size MoE on a phone, laptop, edge. Los···
stable-diffusion-docker
开源
一键启动全功能AI绘画环境,省去配置烦恼
Docker image for Stable Diffusion WebUI with ControlNet, After Detailer, Dreambooth,···
paddler
开源
自托管 LLM 负载均衡,简单部署,CPU/GPU 通吃
Open-source LLM/VLM load balancer and serving platform for self-hosting LLMs (and VL···
gitmoney-public-framework
开源
套用现成框架,AI 办公基建不用从零搭建
Public GitMoney framework for plain-English GitHub, AI Office infrastructure, and fo···
llm-d-router
开源
让 K8s 推理入口按负载智能分发请求,降低排队与延迟
llm-d Router: The intelligent entry point for inference requests
MachineAuth
开源
让 AI 代理安全访问 API,权限可控可审计
MachineAuth provides authentication and permission infrastructure that allows AI age···
mlops-project
开源
一键跑通ML全流程,从训练到部署不再手忙脚乱
An end-to-end machine learning (mlops) project
Python-MLOps-Cookbook
开源
一套代码,轻松部署到三大云,快速上手 MLOps 实践。
This is an example of a Containerized Flask Application that can deploy to many targ···
kite
开源
一个界面管多集群,AI 帮你运维 K8s
A lightweight, modern Kubernetes dashboard. All your clusters. One workspace.