如何在普通电脑上运行 7440 亿参数神经网络
当你打开一个拥有 7440 亿参数的 GLM-5.2 或 2.8 万亿参数的 Kimi K3 这样的模型页面时,第一反应很简单:你需要一台配备十几块 H100 GPU 的服务器机架。如果你手边没有这些资源,唯一的选择就是付费调用 API。
最近我发现了 JustVugg/colibri 项目。作者用纯 C 语言编写了一个轻量级推理引擎,没有任何第三方依赖。该引擎能够在配备 24GB 内存的普通台式机或笔记本电脑上运行大型 MoE 模型,直接从高速 SSD 加载权重。
诀窍是什么
Mixture-of-Experts(MoE)架构的设计使得生成单个 token 不需要调用整个模型。例如,在 GLM-5.2 的 7440 亿参数中,只有约 400 亿处于活跃状态。此外,从一个 token 到下一个 token,只有约 11 GB 的权重会发生变化,对应于路由器选择的专家。
引擎没有尝试将 370 GB 的模型塞进显存,而是将数据分布到存储层级中:
- 模型的密集部分(嵌入层、注意力机制、共享层)以 int4 量化格式占用约 9.9 GB,永久保留在内存中。
- 近 20,000 个专家驻留在高速 NVMe SSD 上,通过异步 I/O 按需加载。
- 频繁使用的专家被缓存在内存或显存的 LRU 缓存中。
本质上,这个系统就像一个神经网络权重的 JIT 编译器。引擎追踪访问统计、记忆热门分支,并精确缓存当前上下文所需的专家。
引擎是如何工作的
代码库非常精简。核心部分用 C 编写(每个模型系列都有独立的文件,例如 GLM 的 c/colibri.c),并使用 gcc 或 clang 配合 OpenMP 编译。没有庞大的框架或臃肿的运行时环境。Python 仅用于一次性权重转换和 Web 界面包装器。
在生成每个 token 时,引擎执行多个步骤:
- 通过独立的预取线程提前一层计算路由。路由器以约 71% 的准确率预测所需专家,使磁盘读取与计算并行进行。
- 合并对相同专家的请求为批次,以消除重复读取。
- 在单个
pread系统调用中读取每个专家的三个矩阵。 - 将命中率统计保存到历史文件,以便后续运行时将热门层预固定在内存中。
对两个存储设备的支持实现得很有意思。如果将权重副本分布在两个不同的 SSD 上,引擎会按各磁盘读取速度的比例分配专家请求。一对速度分别为 9 GB/s 和 3 GB/s 的驱动器可以将读取速度提高约三分之一。
计算加速方面支持 CUDA、Apple Silicon 芯片上的 Metal 以及 Vulkan。Vulkan 变体甚至可以在较旧的 GPU(如 AMD RX 580)上通过 RADV 驱动运行,而该厂商早已停止了对最新 ROCm 的支持。
该包包含一个带有专家活动可视化的 Web 仪表板。在 Atlas 页面上,你可以旋转数千个专家的 3D 地图,观察不同组如何处理代码、法律主题或外语。
实际速度数据
没有奇迹,速度受限于磁盘吞吐量和可用内存。
项目基准测试在 GLM-5.2 模型上记录了以下结果:
- 配备 25 GB 内存且缓存冷的笔记本电脑产生 0.05-0.1 tokens/秒的 modest 速度。虽然很慢,但模型响应没有逻辑失真。
- 配备 128 GB 内存但无独立 GPU 的工作站,在缓存预热后提供约 1.8 tokens/秒。
- 配备移动版 RTX 5070 Ti 的笔记本电脑借助 GPU 管道加速至 1.07 tokens/秒。
- 配备六块 RTX 5090 卡的工作站将专家完全保留在显存中,达到 5.8-6.8 tokens/秒。
支持的模型
除了基础的 GLM-5.2,作者还添加了对四种架构的支持:
- Inkling (975B) — 以 int4 运行密集部分需要约 25 GB 内存和 469 GB 磁盘空间。
- Kimi K3 (2.8T) — 体积达 1.6 TB,直接从原始分片读取 MXFP4 原生权重,无需预转换。
- DeepSeek V4 Flash (284B) — 使用 fp4/fp8 格式的 167 GB 权重,需要 16 到 22 GB 内存。
- OLMoE (7B) — 紧凑型变体,权重仅 4 GB,可在 8 GB 内存上进行快速实验。
如何运行
引擎以 Linux、macOS 和 Windows 的预编译二进制文件形式分发,也可以在一分钟内从源码构建:
构建完成后,从 Hugging Face 下载所需模型的量化权重(例如 GLM-5.2 int4 约需 372 GB),然后通过终端启动聊天:
如果需要本地服务器兼容 OpenAI API 并附带 Web 面板,运行:
启动前,建议用 ./coli plan 检查内存分配情况,用 ./coli tune 运行快速硬件测试。
谁会发现这个项目有用
由于消费级硬件的磁盘读取延迟,Colibrì 可能不适合高负载生产环境。然而,对于需要在本地测试顶级开源模型推理能力的研究人员、爱好者和开发者来说,这是一个很好的选择,无需花费数百万购买服务器 GPU。核心代码紧凑透明,使引擎成为进行 I/O 和量化实验的理想场所。
相关项目