llama-modchip - 让 284B MoE 模型在 64 GB 内存的 CPU 上跑起来
llama-modchip 是一组 ggml/llama.cpp 内核补丁、量化转码器与运行时工具,目标是在不依赖 GPU 的前提下,把稀疏 MoE 检查点完整放进系统内存运行。据项目自述,它把 DeepSeek-V4-Flash 压缩到 56.56 GiB,可在 64 GB Linux 机器上零 swap 驻留。
llama-modchip 是一组面向 ggml / llama.cpp 的内核补丁、量化转码器与运行时工具,目标是在不依赖 GPU 的前提下,把稀疏混合专家(MoE)检查点完整放进系统内存运行。据项目自述,它面向 x86_64(AVX-512 / AVX2)与 ARM64(NEON / SVE / Apple Metal)处理器,适合手头只有普通笔记本、迷你主机或大内存台式机、又想本地跑大 MoE 模型的开发者。项目由 synchopate 维护,采用 Apache-2.0 许可证。
维护者与状态
仓库由 synchopate 维护,创建于 2026-10-29,最后提交时间为 2026-11-08。最新正式版本为 v2.4.0,发布于 2026-11-04。截至 2026-11-09,仓库获得 506 个星标。从时间线看,这是一个创建不足两周、迭代节奏较快的项目,版本号已推进到 2.4.0。
主要能力
以下能力均来自项目 README 的自述,未经本站独立验证:
- 大模型塞进消费级内存:项目称标准
UD-IQ1_S版 DeepSeek-V4-Flash(284.33B 总参数、13.17B 激活参数)占用 76.87 GiB,超过 64 GB Linux 机器约 62.5 GiB 的可用内存;llama-modchip 将其压缩到 56.56 GiB(1.71 bpw),使模型连同 256K 上下文 KV 缓存一起驻留内存,无需 swap。 - CPU 缓存与 SIMD 内核补丁:README 称其用 AVX-512BW 寄存器、L1D、L2、L3 多级多列分块调度替换预填充阶段的单列量化矩阵向量循环,并配合寄存器驻留的 FlashAttention 与非临时 MoE 流式加载,避免冷专家权重把热 KV 缓存行挤出 L3。
- 自推测解码与上下文快照:项目说明中描述了一个 1.64 MB 的 n-gram 草稿器,配合
/dev/shm的 KV 槽位快照,用于快速恢复长工具调用提示的上下文。 - 量化转码:提供
./modchip quantize,据称可把 BF16 / Q4_0 / UD-IQ1_S 的 GGUF 转码为 Fractal-64(3.75 bpw)或 Fractal-MXFP4(4.25 bpw)。 - 配套命令行工具:README 列出
chat(终端对话与实时 tok/s 遥测)、web(深色 Web 聊天界面)、bench(30 秒两阶段速度测试)、claude(接入 Claude Code CLI)、eval(质量与工具调用评测)、status/stop(检查 CPU 就绪状态与后台服务)等子命令。
使用入口
项目主页与说明文档:
据 README,Linux 与 macOS 上可克隆仓库后执行 ./modchip chat 完成自动安装并进入对话;也可直接使用随 Release 与模型仓库分发的预编译 Linux x86_64 二进制 llama-server-modchip-linux-x86_64,以 -m 指定 GGUF、-c 指定上下文长度、-t 指定线程数启动服务。Windows 10/11 用户可运行 windows/ 目录下的批处理脚本,由脚本检测 CPU 核心数、空闲内存与 GPU 显存后自动分配 CPU/GPU 专家层并启动 Web 界面。README 还提供了一个无需下载模型即可运行的 CPU 就绪检查脚本。
许可与限制
许可证为 Apache-2.0。使用前需要注意项目自述中提到的几点边界:
- 自定义张量类型不兼容上游:Fractal-64 模型使用自定义的 64 权重块 BF16 缩放张量(
GGML_TYPE_Q2_0,类型 ID 40)以及专用内核,未经补丁的llama.cpp、Ollama 或 LM Studio 会以unknown tensor type 40拒绝加载,必须使用项目自带的二进制或脚本。 - 内存门槛明确:README 给出的硬件分级中,30B 级 MoE 面向 16–32 GB 内存的笔记本与迷你主机,284B 级模型则需要 64 GB 内存的台式机或服务器;8 通道工作站可进一步提速。
- 速度数据为项目自测:README 中列出的吞吐数字(如 16 核 Zen 5 上 284B 预填充 44.36 tok/s、30B 解码 25.0–111.6 tok/s)均出自项目自身的测试环境,不同 CPU、内存通道数与平台差异较大,不应直接当作通用预期。
- 默认不丢专家:项目称 v2.4.0 默认对每层全部 6 个路由专家求值,可通过环境变量下调 Top-K 以换取更高解码速度,但会带来困惑度变化。
总体而言,这是一个针对特定大 MoE 检查点做深度内核与量化协同优化的实验性项目,适合愿意折腾编译、命令行与内存配置的高级用户,而非开箱即用的通用推理方案。