项目是什么

kimi-k3-in-c 是一个用可移植 C99 实现 Kimi K3(2.78 万亿参数)推理的开源项目,Apache-2.0 许可,GitHub 6369 star。

核心特征:

指标
参数规模2.78T
检查点大小1.56 TB
峰值内存8.24 GB
引擎体积176 KB
依赖无 BLAS / 无框架 / 无 GPU

它的定位不是「替代生产推理框架」,而是用极致资源约束证明:大模型推理的门槛可以从「集群」压到「普通笔记本」。

环境要求

要求
操作系统Linux, x86-64
CPUAVX2 + FMA
内存8 GB 及以上
存储约 1.7 TB(1.56TB 检查点 + 109GB 打包主干)
工具链GCC ≥ 9 或 Clang ≥ 10,GNU make 或 CMake
Python3.9+(仅下载/打包/分析用,make test 不需要)

快速开始(无需下载模型)

克隆、编译、跑测试,约一分钟,不需要检查点、网络和 Python:

git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git
cd kimi-k3-in-c

make -j            # 几秒钟,七个 C 文件 + OpenMP
make test          # 不到一分钟

测试通过会输出:

GATE 1  teacher forcing : 32/32 positions match tf_pred
GATE 2  greedy decode   : 20/20 generated tokens match full_ids
GATE 3  incremental    : 20/20 generated tokens match full_ids
VERDICT: ENGINE MATCHES THE REFERENCE EXACTLY

这一步把整个引擎(内核、流式缓存、safetensors 读取器、配置读取器、分词器)在 13 层小模型上验证了一遍,和 PyTorch 参考结果对齐。

完整设置(六步到生成文本)

# 步骤 0:克隆(约 45MB)
git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git
cd kimi-k3-in-c

# 步骤 1:检查机器(k3-doctor 会测磁盘、内存,打印下一步命令)
./scripts/k3-doctor.sh

# 步骤 2:构建(几秒钟)
make -j
# 或用 CMake:
# cmake -B build && cmake --build build -j && ctest --test-dir build

# 步骤 3:下载前先验证(承诺下 1.56TB 前值得做)
make test

# 步骤 4:下载检查点(唯一慢的步骤)
# 按 k3-doctor 打印的命令执行

# 步骤 5:运行推理
./bin/k3 ~/k3model --trunk ~/k3trunk --preset laptop \
    --tok ~/k3model --prompt "The capital of France is" --gen 8 --incremental

输出示例:

--- generated text ---
 Paris.",
8 tokens in 261.5 s, 32.69 s/token average
PEAK RSS for the whole run: 8.24 GB

内存阶梯(同一个模型,逐字节相同的答案)

机器内存token 耗时
普通笔记本8 GB26.5s
高端笔记本32 GB24.2s
台式机64 GB19.8s
重型工作站128GB+5.6s

更多内存只买速度,不改变答案。

四项缩减技术(为什么能压到 8GB)

  1. 半字节专家:路由专家权重本来就是 4-bit 量化,1.45TB 专家从不驻留内存,直接乘出;
  2. KDA 注意力:KV 缓存内存「永不增长」;
  3. MLA:一个潜在向量替代 96 个注意力头;
  4. 流式主干:93 层按需从磁盘读,内存下限变旋钮。

中文版

我已将 README 完整中文化:https://github.com/yangshun2005/kimi-k3-in-c-cn

中文版保留了「从问题到四项缩减再到验证」的完整技术推导、内存阶梯表、门禁测试说明,适合想系统理解大模型 CPU 推理优化的读者。

如果这个项目对你有帮助,也欢迎动动小手去原仓库点个 Star,支持作者持续维护。

更多推荐