AirLLM:把 700 亿参数模型塞进 4GB 显卡——不做量化,靠的是逐层流式
按常规算账:70B 参数 × 2 字节(FP16)= 140GB 显存。你的 4GB 是杯水车薪。量化到 4-bit?也得 35GB。还是差一个数量级。
目录
AirLLM:把 700 亿参数模型塞进 4GB 显卡——不做量化,靠的是「逐层流式」
仓库:lyogavin/airllm
语言:Python / Jupyter Notebook
Stars Today:541
创建时间:2023-06-12(持续更新至 2026/09)
一个不可能的请求
你手头有一张 RTX 3060,4GB 显存。你想跑 Llama 70B。
按常规算账:70B 参数 × 2 字节(FP16)= 140GB 显存。你的 4GB 是杯水车薪。量化到 4-bit?也得 35GB。还是差一个数量级。
AirLLM 给的答案是:4GB 够了,不用量化,不用蒸馏,不用剪枝——全精度推理。
这不是魔术,是一个工程思路的范式转换。
核心机制:逐层流式加载
传统推理的流程是:把整个模型加载到显存 → 推理。模型太大?那就量化、蒸馏、用 LoRA 适配器。
AirLLM 换了个思路:像流式播放视频一样推理模型。
一个 Transformer 模型的推理过程,本质上是逐层前向传播。第 1 层的输出是第 2 层的输入,第 2 层的输出是第 3 层的输入……直到最后一层输出 token 概率。
AirLLM 的做法:
1. 把模型按层切分,存到硬盘上(每层一个 shard) 2. 推理时,只把当前层的权重加载到显存 3. 算完这一层,立刻丢弃,加载下一层 4. 用 prefetching 重叠加载和计算,减少等待
这就像你不会把一部 4K 电影整个下载到内存里再播放——你流式地读,边读边播,播完就丢。
代价是什么?速度。每生成一个 token,都要把整个模型从硬盘/内存读一遍到显存。70B 模型在普通 SSD 上,一个 token 可能要几秒到十几秒。
但如果你只需要批量推理——比如离线处理一批数据、跑评测、做数据增强——速度慢一点完全可接受。关键是:你能跑起来。
数据说话
AirLLM 的实测数据(来自 README):
| 模型 | 参数量 | 显存需求 | 硬件 |
|---|---|---|---|
| Llama 3 70B | 70B | 4GB | 单卡 RTX 3060 |
| Qwen3-235B | 235B | 3GB | 单卡 |
| Qwen3.8-Flash-Next | 125B (MoE) | 5.95GB | RTX 4090 |
| Qwen3.8-27B | 27B | 3.33GB | RTX 3090 |
| DeepSeek-V3 | 671B | ~12GB | 单卡 |
| Kimi K3 | 2.8T | 3.72GB | RTX 6000 Ada |
MoE 的特殊优化:按需加载专家
对于 MoE(Mixture of Experts)模型,AirLLM 做了一个更精细的优化。
MoE 模型的每一层有多个「专家」子网络,但每个 token 只激活其中少数几个。AirLLM 的做法是:只加载被路由到的专家,而不是整层全部加载。
Kimi K3 有 2.8T 参数,但每个 token 实际激活的专家可能只有几十B。这意味着逐层流式加载时,实际需要传输的数据量远小于模型总大小。
这是一个聪明的「数据局部性」利用——你不需要为没被用到的专家付显存税。
训练也能做:流式梯度
2026 年 9 月,AirLLM 加入了训练支持。思路一致:
- 冻结权重流式加载:基础模型的权重按层流式加载,每次只加载一层
- 适配器留在显存:LoRA 等适配器参数量小,常驻显存
- 梯度只回传到适配器:基础模型不动,只训练适配器
这把「大模型微调」的门槛从「需要 8×A100」降到了「一张消费级显卡」。
代价与适用场景
AirLLM 不是银弹。它的核心代价是速度极慢——每生成一个 token 都要遍历整个模型的权重加载。
适合的场景:
- 离线批量推理:跑一批数据,过夜出结果
- 资源受限环境:只有消费级显卡,但需要跑大模型
- 评测和实验:验证大模型在你的任务上是否有效,再决定是否投入更多资源
- 教育/demo:让学生在普通硬件上体验 70B+ 模型
- 实时交互:用户等不了每个 token 10 秒
- 高吞吐服务:需要并发的生产环境
- 长上下文:KV cache 仍然需要显存,长上下文会吃掉节省的空间
为什么这个思路重要
AirLLM 的价值不在于「让推理变快」——它实际上让推理变慢了。它的价值在于重新定义了「能跑」的门槛。
过去三年,大模型推理的叙事一直是「买更多卡」。8×A100 是标配,H100 集群是追求。这个叙事把大模型的使用权限制在了少数公司手里。
AirLLM 提供了另一条路:用时间换空间。你不需要 800GB 显存来跑 700B 模型——你需要 12GB 显存和耐心。
这和「云计算」早期的逻辑一样。在个人电脑算力不够时,人们用时间换空间——批处理作业、磁带存取、终端远程连接。后来硬件追上来了,批处理变成了实时。
大模型推理可能也在走同一条路。在硬件追上来之前,AirLLM 这样的「流式推理」是一种过渡方案——但它让「现在就能用」变成了现实。
技术细节
安装:
pip install airllm
使用(和普通 Transformer 模型几乎一样):
from airllm import AutoModel
model = AutoModel.from_pretrained("Qwen/Qwen3-32B")
# 就这么简单,32B 模型在 4GB 显卡上跑起来了
支持矩阵:
- Llama 3/4 全系列
- Qwen 2.5/3/3.8 全系列
- DeepSeek V2/V3
- Mistral/Mixtral
- Phi-4
- Gemma
- Kimi K3(2.8T)
- FP8 模型支持
一句话总结
AirLLM 把大模型推理从「显存问题」变成了「时间问题」。你不需要买更多卡——你需要等更久。在硬件民主化到来之前,这是一个务实的过渡方案。
项目地址:https://github.com/lyogavin/airllm