把 1.58bit 三值量化玩到头之后,我一直以为这条路已经走到极限了——35B 级别塞进 16GB 内存,效果还行,再大就真的没招。70B?405B?连 4bit 量化都装不下,更别提全精度了。
然后上周翻 GitHub 趋势榜,看到一个叫 AirLLM 的项目冲到了周榜第一。点进去一看简介愣了:“70B 模型只需 4GB 显存,无需量化”。第一反应是不信,点开 README 看完才意识到——人家根本不是在压缩模型,是在用另一种方式把模型搬进显存。

思路完全反着来
传统的本地推理,不管你用 Ollama 还是 Rapid-MLX,核心假设都是同一个:模型必须完整地装进显存才能算。所以大家拼命在压缩——4bit、3bit、1.58bit、量化感知训练,思路都是把模型变小来适应显存。
AirLLM 的思路是:模型大小不变,但不需要同时存在。
具体做法是这样的——首次加载时把模型按层(layer)拆成几十个独立的小文件存到磁盘上,每层大概 1-3GB。推理的时候只把当前要算的那一层塞进显存,算完立刻释放,再把下一层从磁盘读进来继续算。峰值显存占用 = 最大的单层大小,跟模型总参数量没关系。
这意味着:
- Llama 3.x 70B 全精度只要 4GB 显存(不再是 140GB)
- Llama 3.1 405B 约 8GB
- DeepSeek-V3 671B 约 12GB
- Kimi K3 2.8 万亿参数?约 3.7GB(MoE 模型更夸张,只加载被激活的专家)
代价也很直接——你拿硬盘当显存用,每次推理都在搬数据,速度肯定不会快。GitHub 上 31k stars,318 commits,作者 lyogavin 一个人维护到现在,Apache-2.0 协议,最近的 v3.1.0 版本专门加了对 Kimi K3 的支持。
在 Mac 上试了一下
pip install airllm 装上之后,先拿 8B 小模型试水。第一次运行会触发按层拆分,整个过程大概几分钟,磁盘多占约 16GB(8B 模型)。之后推理就正常了,速度跟你用 Ollama 跑 8B 没明显差别。

然后我开始尝试更大的模型——这里有个大坑:
bitsandbytes 库不支持 macOS。也就是说 Mac 上没法用 4bit/8bit 压缩加速,只能裸跑全精度。社区里有人在 Linux + NVIDIA 显卡上能拿到 3x 加速,Mac 用户只能干瞪眼。
速度实测(16GB 统一内存的 Mac):
- 8B 模型:体感跟 Ollama 差不多,可以正常用
- 13B 模型:约 20 tok/s,对话能跑通
- 70B 模型:约 0.2 tok/s,首个 token 出来要等 1 分钟+
70B 这个速度基本就是”能确认它跑得通,但不能用它聊天”的程度。社区里有人开玩笑说:”这是用来写博士论文用的,不用来聊天的。”
那这工具到底有啥用
我琢磨了一下它的实际定位,不是在抢 Ollama 或者 Rapid-MLX 的饭碗,更像是填补了一个空白场景:
场景一:提前验证模型值不值得部署。你想跑 405B 的 Llama 看看效果,但不想先花几百块租 A100。用 AirLLM 在本地 8GB 显卡跑通,先确认这个模型对你有用,再决定要不要上正规推理服务。
场景二:跑离线评测。你有一堆 benchmark 要跑,对单个请求速度不敏感,只要能跑完就行。AirLLM 在本地慢慢跑,省得去抢云端 A100 配额。
场景三:MoE 模型的本地方案。Kimi K3 这种 2.8T 参数的 MoE 模型,激活参数只有几百亿,AirLLM 的逐专家加载正好命中这个特性——理论上只需要 4GB 显存就能跑,这在以前是不敢想的事。
场景四:学生党/独立开发者的实验台。只有笔记本独显或者老 Mac,想本地玩一下顶级模型做实验,AirLLM 把门槛从”买不起”拉到了”只要有硬盘”。
几个不能忽视的坑
写到这里如果你已经准备上手了,先看几个我踩到的、或者社区里反复提到的坑:
磁盘 I/O 是瓶颈。每算一层都要从硬盘读一次层文件。如果你的 SSD 是 SATA 而不是 NVMe,速度会更慢。建议用 NVMe,或者干脆把模型分层文件放在外置雷电硬盘上——能减少对内置 SSD 的写入损耗。
首次运行要做模型拆分。第一次加载新模型时,AirLLM 会把原始权重按层切分成几十个小文件存到磁盘。这个过程很吃空间——70B 全精度需要约 140GB 磁盘(拆分后)外加 140GB 临时空间(拆分中)。如果你硬盘不够,会直接报错 MetadataIncompleteBuffer。
SSD 寿命问题。频繁读写层文件对 SSD 不太友好。有人建议把分层文件放在外置 NVMe 硬盘上保护内置 SSD,理论上是合理的。
Mac 上的额外限制。除了 bitsandbytes 不支持,mlx-community 的预量化模型格式可能跟 AirLLM 预期的不一致,会出现 FileNotFoundError。Mac 用户最好直接用 HuggingFace 上的原始全精度模型。
不是生产方案。如果你需要多用户并发、实时响应、低延迟的 Agent 推理,老老实实用 vLLM 或者 TensorRT-LLM。AirLLM 解决的是”能不能跑”的问题,不是”跑得快不快”的问题。
值不值得装
我的建议是——装上,但别当主力。日常聊天还是 Ollama 或者 Rapid-MLX 更快更省心。AirLLM 放在那里,等哪天你想试一个新发布的超大模型(反正跑不通),用 AirLLM 跑通一下,确认它对你的场景值不值得,再决定要不要花大钱租显卡。
它不是替代品,是最后一道兜底方案。当所有量化路线都走到头、当你的硬件确实跑不动某个模型、当你只是想确认一下”这个模型到底怎么样”——AirLLM 这种”把 SSD 当显存用”的野路子,可能就是你唯一的选择。
至于那个 0.2 tok/s 的速度嘛……耐心好的话,确实能跑完一个对话。耐心不好的话,云服务更香。