如果大模型推理被显存卡住,也许不是硬件不够,而是方法不对。
读完本文你将了解:AirLLM 的核心原理 | 安装与使用 | 支持的模型 | 与 vLLM/TensorRT-LLM 的对比
这个项目解决什么问题?
70B 参数的大模型需要多少显存?
按照常规计算,70B 模型在 FP16 下大约需要 140GB 显存。即使 4-bit 量化,也需要 35GB 以上。这意味着你至少需要 4 张 A100 80GB 才能跑起来。
AirLLM 给出的答案是:一张 4GB 显存的消费级显卡就够了,而且不需要量化、蒸馏或剪枝。
这个项目的核心洞见是:大模型的层间计算是高度时间解耦的。你不需要在推理时把整个模型加载到显存里——你可以一层一层地加载,算完一层再加载下一层。就像读一本书,不需要把整本书都摊在桌上。
AirLLM 在 GitHub 上积累了 29K+ stars,最近又因为支持了 Kimi K3(2.8T 参数)在单卡 3.72GB 显存下运行而引发关注。
核心亮点
分层推理(Layer-wise Streaming)
AirLLM 把模型加载拆成了两个阶段:
- 加载阶段:只把当前需要计算的层加载到显存
- 推理阶段:一层一层地计算,计算完成后释放显存,加载下一层
这个思路的本质是用时间换空间。相比传统方案一次性加载整个模型,AirLLM 的显存占用峰值大约是常规方案的 1/10 到 1/20。
压缩技术(3x 加速)
AirLLM 的第二代引入了 prefetching(预取)机制:在当前层计算的同时,预先将下一层的数据加载到显存。这样计算和 IO 可以并行,理论上有 10% 的性能提升。
配合模型压缩(Layer-wise Compression),推理速度能达到传统方案的 3 倍。
一行代码搞定
fromairllmimportAutoModel model=AutoModel.from_pretrained("Qwen/Qwen3-32B")# 想跑更大的?# model = AutoModel.from_pretrained("Qwen/Qwen3-235B-A22B") # 235B, 约3GB显存AutoModel 会自动检测模型类型,不需要手动指定。支持的模型包括 Llama3/3.1/3.2、DeepSeek V2/V3、Qwen2.5/3、Gemma、Phi-4、ChatGLM、Baichuan 等主流模型。
快速上手
pipinstallairllmMac 用户也能直接跑:
# macOS 也能运行 70B 模型model=AutoModel.from_pretrained("Qwen/Qwen3-32B")outputs=model.generate(prompt="你好",max_length=128)print(outputs)官方还提供了 Colab 示例,可以直接在免费的 T4 GPU 上运行 405B 模型。
支持的模型与显存对比
| 模型 | 常规方案显存需求 | AirLLM 显存需求 |
|---|---|---|
| Llama 70B | ~140GB (4×A100) | ~4GB (单卡 RTX 3060) |
| Llama 405B | ~810GB | ~8GB (单卡 RTX 3080) |
| DeepSeek-V3 (671B) | ~1340GB | ~12GB |
| Kimi K3 (2.8T) | ~5600GB | ~3.72GB (稀疏MoE) |
| Kimi K3 之所以能在如此小的显存下运行,是因为它是稀疏 MoE 模型——每个 token 只激活一部分专家,不需要整个层一起加载。 |
我的评价
AirLLM 的价值不在于"让穷人也能跑大模型",而在于降低了大模型推理的硬件门槛,让更多研究者和开发者能在消费级硬件上做实验。
相比 vLLM 和 TensorRT-LLM(它们追求的是吞吐量和延迟),AirLLM 的定位更偏向单机实验和开发。它不是生产环境的最优解,但绝对是个人研究和快速原型的首选。
竞品对比:
- vLLM:生产级推理框架,追求吞吐量和低延迟,但显存需求仍然是全模型加载
- TensorRT-LLM:NVIDIA 官方推理优化,性能最强,但依赖 CUDA,部署复杂
- AirLLM:单机实验友好,显存占用最低,部署最简单
如果你的场景是"想在个人电脑上试一下某个新模型",AirLLM 是目前最优的选择。