sqliteai/warp
Run the full 2.78-trillion-parameter Kimi K3 model, DeepSeek V4.1 Flash or GLM-5.3-Flash beyond available RAM by streaming activated weights directly from NVMe. A dependency-free, embeddable C inference engine.
什么是 WARP?
WARP(Weight‑Aware Runtime and Paging)是一个用 C 语言编写的微型、自包含的推理引擎。它允许你在没有 GPU 或任何外部库的情况下,在笔记本电脑或台式机上运行非常大的混合专家(MoE)语言模型——例如 2.78 万亿参数的 Kimi K3。
工作原理
- 混合内存布局 – 模型的共享部分(“主干”)保留在 RAM 中,而庞大的专家权重则存储在高速存储设备(SSD)上。当处理一个 token 时,引擎会预测需要哪些专家,从磁盘流式传输这些专家块,并将其缓存在一个有限大小的 RAM 专家缓存中。
- 前瞻路由 – 一个轻量级路由器会提前预测下一层的专家,使磁盘读取与计算重叠,减少空闲时间。
- 量化 – 共享权重以 4 位或 8 位精度保存;专家使用 3 位残差向量量化,显著减小了磁盘上的占用空间。
- 高效的 KV 缓存 – 使用线性注意力和压缩的键值缓存,将上下文内存保持在极小的水平(4K 上下文约 0.2 GB)。
可运行的模型
| 模型 | 大小(容器) | 最小内存 | 速度(tokens/s) |
|---|---|---|---|
| Kimi K3 2.78 T | 982 GB | 29 GB | 0.45 – 0.62(64-token 运行) |
| DeepSeek‑V4.1‑Flash 552 B | 299 GB | 4.9 GB | 3.7 |
| GLM‑5.3‑Flash 313 B | 112 GB | 5.1 GB | 3.3 – 3.9 |
| Kimi‑Linear 48 B | 19 GB | 1.3 GB | 14 – 17 |
该引擎还支持多模态输入——你可以使用 --image 附加图像,模型的视觉塔将对其进行处理。
快速上手
- 构建 –
make会编译出wasteCLI 和静态库(libwaste.a)。无需 BLAS、CUDA、Python 或其他运行时依赖。 - 运行 – 示例命令:
CLI 会报告内存使用量、缓存命中/未命中率和吞吐量。./waste run ~/models/k3.waste "What is the capital of Italy?" - 转换模型 – 一个 Python 转换脚本(
convert.py)可将公开检查点(safetensors、fp8 等)转换为 WARP 容器格式。转换需要额外的临时存储空间(Kimi K3 最多约 1.5 TB),但转换后的容器可在满足 RAM/存储要求的任意机器上使用。
为何重要
- 前沿模型的本地推理 – 大多数 2 万亿参数以上的模型需要数十 GB 的 GPU 内存。WARP 表明,通过从 SSD 流式传输专家权重,你可以在消费级 CPU 上运行此类模型。
- 开源且可嵌入 – 该引擎是一个单一的 C 库,构建宽松,易于嵌入其他应用程序或服务中。
- 人机协作开发 – 代码库由 LLM 在人类指导下生成,展示了快速原型化新推理算法的创新工作流。
谁应该关注?
- 探索纯 CPU 推理大规模 MoE 模型的研究人员。
- 需要离线、隐私保护型 LLM 运行时的开发者(无需云服务,无需 GPU 驱动)。
- 对权重感知分页技术以及如何最大限度利用现代 SSD 进行 AI 工作负载感兴趣的任何人。
TL;DR: WARP 是一个纯 C 语言、零依赖的引擎,从磁盘流式传输 MoE 专家权重,让你在内存有限的笔记本电脑上运行万亿参数语言模型。它提供 CLI、静态库,并支持文本+图像生成。
相关
- Dispatch
- 项目
- Dispatch
- 项目
- 项目