250M 参数 LLM 量化至 60 MB,纯 CPU 即可运行
开发者 QLNI 从零训练 250M 参数模型,量化为 60 MB,支持纯 CPU 400 tok/s 推理,开源含微调…
近日,开发者在 Reddit r/LocalLLaMA 公开发布了自研小型语言模型 SHADOW-250M,仅 250M 参数却在工程上做到了极致压缩:整体权重经 2 bit 以下量化后仅 60 MB,运行时占用约 80 MB 内存,普通笔记本 CPU 可达约 400 tok/s,无需 GPU,亦不依赖 PyTorch 等大型框架。项目以 MIT 协议开源,同时提供 Windows 与 Linux 编译产物。
训练与基本指标
模型在 FineWeb 数据集上从零训练,使用 30 B tokens。语言建模质量在未参与训练的英文网页留出集(2,048 token 窗口)上评测,结果为:
- 交叉熵:3.15 nats / token
- 困惑度(perplexity):23.3
- 信息密度:0.99 bits / byte
作者明确说明,250M 规模的模型不追求在开放域知识问答上超越主流大模型,重点在于验证极小量化与超长上下文检索方案的可行性。
极简部署与量化
整套部署文件控制在 60 MB 内,量化精度低于 2 bit。由于量化与运行时都做了精简,模型在常规笔记本 CPU 上推理时不需额外框架,仅靠一个小型编译后的运行时即可执行。这一设计为算力受限设备的本地推理提供了一种参考实现。
长上下文机制:从 KV 缓存到磁盘
长上下文部分是该项目较有特色的设计:
- 最近 2,048 个 token 以 fp16 形式保存在内存,行为类似常规的 KV cache。
- 更早的 token 被压缩为 1 bit 后写入磁盘,每 token 约 320 字节,因此 100 万 token 的历史大约占用 320 MB。
- 模型在训练阶段就被要求从磁盘缓存中检索信息,理论上可支持检索距离最远 100 M token 的内容。
作者也坦言,受预算限制,模型仅被训练为「从远距上下文中检索并回答」,尚未训练对远距信息的复杂推理能力。
词表方案:无参数 embedding
该项目没有使用常规的 embedding 表,而是把每个 token 表示为固定的 512 bit 编码:
- 词表大小:131k tokens
- 全部编码体积:8.4 MB
- 可训练参数:0
作者在 WordSim-353(人类词义相似度评分)上测试 Spearman 相关系数,结果为 0.619,远高于随机编码的 0.029,表明这种固定编码确实保留了语义相似度信息。
开源与微调
项目同时开源了完整的微调套件,包含可复现脚本与微调前后的对比数据。预训练权重与指令微调权重分别托管在 Hugging Face 与 GitHub,感兴趣的开发者可直接取用。
- GitHub:github.com / QLNI / SHADOW-250M-Instruct
- Hugging Face:huggingface.co / NODEMIND / SHADOW-250M
整体而言,SHADOW-250M 不是一个能力领先的大模型,而是一次面向极小体积部署与超长上下文检索的工程实验,对关注边缘推理与轻量模型的社区具有参考价值。
