AirLLM:70B大模型单卡4GB显存推理,4bit量化最高提速3倍
【免费下载链接】airllmAirLLM 70B inference with single 4GB GPU项目地址: https://gitcode.com/GitHub_Trending/ai/airllm
AirLLM解决"大模型装不进显存"的OOM问题:把权重按层切分、用到哪层才流式加载进GPU,让70B模型在单张4GB显卡上跑通推理,4bit分块量化还能再提速约3倍。
AirLLM支持的大模型清单:按架构分组看
中文对话类:Qwen 系覆盖最全,从 Qwen、Qwen2、Qwen2.5 一路到 Qwen3.8,Qwen3 的稠密版、MoE 版和 FP8 版都能加载;ChatGLM、百川、书生(InternLM)则可以直接接入。它们统一走 AutoModel 入口,只传仓库 ID,不用自己判断该实例化哪个模型类。要验证中文对话效果,从 Qwen 系开始最省事。
英文通用类:Llama 2/3/3.1/3.3/4、Mistral、Phi、Gemma、DeepSeek V2/V3/R1 都支持,代码写法和中文模型完全一样。最夸张的两组数字:Llama 3.1 405B 只要约 8GB 显存,DeepSeek-V3(671B)约 12GB,而且都是全精度加载,不需要量化也能装下。
MoE 混合专家类:Mixtral、Qwen3-235B、Kimi K3(2.8T)走的是按专家流式加载——token 实际路由到哪个专家,才把哪个专家载入显存,所以显存占用和总参数量基本脱钩。Kimi K3 是目前最大的开源模型,单张 RTX 6000 Ada 上端到端实测 3.72GB;Qwen3-235B 约 3GB 就能跑。
端侧硬件适配:Apple Silicon 的 Mac 走 MLX 后端,初始化代码和 Linux 上相同,装好 mlx 和 torch 即可。也支持纯 CPU 推理,没有独显的机器同样能试,只是速度会慢一些。
🔧 AirLLM如何把显存打下来:层级流式加载与分块量化原理
传统方式要求全部权重常驻显存:70B 模型 bf16 精度下约 140GB,4GB 的卡连 OOM 都算不上,直接没机会跑。AirLLM 把问题拆掉了:首次运行时先把 checkpoint 切成逐层分片存到磁盘,模型本体在 meta 设备上实例化、不占显存,再给每一层挂上前向钩子——某层计算前一刻才把它的权重从磁盘搬进显存,用完立刻释放。这意味着显存需求只取决于单层大小,和模型总规模无关。
在此之上还可以打开 8bit 或 4bit 分块量化(compression='4bit')。它压缩的是磁盘上的分片体积:这套方案的瓶颈是磁盘加载,所以只量化权重、不动激活值,精度损失很小。实测推理时间从不压缩的 449 秒降到 8bit 的 237 秒、4bit 的 157 秒,接近 3 倍差距。默认开启的预取功能让后台线程在算当前层时顺带把下一层读进来,磁盘和 GPU 不互相等。
分片如何落盘的细节可以看 persist/ 模块,流式加载、预取与量化的核心逻辑在 airllm_base.py 里。
AirLLM跑大模型的体验:显存数字与磁盘注意事项
显存占用和参数量基本脱钩,实测档位大致是:
| 参数量 | 代表模型 | 显存占用 |
|---|---|---|
| 约8B | Qwen3 / Mistral / Phi | 1–2GB |
| 30–47B(MoE) | Qwen3-30B / Mixtral | 1–3GB |
| 70B 全精度 | Llama 3.x 70B | 约4GB |
| 235B(MoE) | Qwen3-235B | 约3GB |
| 405B | Llama 3.1 405B | 约8GB |
| 671B | DeepSeek-V3 | 约12GB |
两个实操提醒:首次运行会把原始权重拆成逐层分片,Hugging Face 缓存目录要留好几倍于模型大小的空闲空间,磁盘紧张可以设置delete_original为 true 拆完就删原文件;Llama 等部分模型是 gated 仓库,需要传hf_token。
一句话点评:这是"用磁盘带宽换显存"的取舍——显存账单压到单层大小,代价是每个 token 都要等磁盘。所以它最适合个人实验、低吞吐推理,以及"能跑起来"比"跑得快"更重要的场景,也就是典型的低显存大模型推理需求。
AirLLM上手路径:clone、一行加载、跑通验证
三步走。第一步拿代码:git clone https://gitcode.com/GitHub_Trending/ai/airllm,或者直接pip install airllm。第二步一行加载:model = AutoModel.from_pretrained("Qwen/Qwen3-32B"),想加快磁盘读取就加compression='4bit'参数。第三步验证:run_all_types_of_models.ipynb 覆盖了各模型族的主要用法,配置项明细和常见报错排查都在 README.md 的 Configurations 与 FAQ 两节。
如果你手边有一张 4GB 显存的卡,今晚就可以 clone 下来跑一次 70B——记得给逐层分片留足磁盘空间。
【免费下载链接】airllmAirLLM 70B inference with single 4GB GPU项目地址: https://gitcode.com/GitHub_Trending/ai/airllm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考