4GB 显存跑 70B:AirLLM 的分层流式推理逻辑与模型覆盖一览
【免费下载链接】airllmAirLLM 70B inference with single 4GB GPU项目地址: https://gitcode.com/GitHub_Trending/ai/airllm
一张 4GB 显存的显卡,常规用法只能装下 7B 级别的模型;AirLLM 的分层流式推理让 70B 级模型以全精度状态在这张卡上完成逐 token 生成,无需量化、蒸馏或剪枝。这是一个专注大模型推理的开源项目,把显存占用从"模型总参数"改写成"单层参数"。
谁会被显存卡住
AirLLM 解决的问题很具体:模型权重必须常驻显存。一个 70B 全精度模型按 2 字节/参数计算约需 140GB,远超单卡容量,于是大多数人转向 7B 小模型或多卡集群。
它适合验证、教学与低成本演示场景:手里只有 4GB 到 8GB 级显卡,但需要用 70B 级模型出结果。代价是推理速度受磁盘加载速度限制,不适合高并发在线服务;换来的是硬件成本降到消费级。
核心机制:单层常驻 + 分块量化
原理可以概括为一条流水线。首次加载时,框架把整份权重按层拆解落盘;生成时 GPU 中任意时刻只驻留一层,当前层算完后下一层被预取,逐层接力直至生成结束。显存占用因此取决于单层大小而非模型总量——这正是 70B 压到约 4GB 的依据。
在此基础上可选开启分块量化压缩(compression参数取 4bit 或 8bit)。注意这里的量化只作用于权重:该方案的瓶颈在磁盘加载而非计算,权重变小即提速,激活值不动则精度损失可控。官方给出的对比数据:同一负载下不压缩 449s、8bit 237s、4bit 157s。
默认开启的预取(prefetching)进一步用磁盘 I/O 与计算重叠隐藏等待,官方称带来约 10% 提速。
AirLLM 支持哪些模型
模型接入统一走AutoModel,按 auto_model.py 中的路由规则自动分发,新架构默认落入通用的 airllm_base.py 流式实现:
- 通用稠密对话类:Llama 2/3.x/4、Qwen 各版本(含 3.8 的 VL)、Mistral、Phi、Gemma、ChatGLM、Baichuan、InternLM、Yi,覆盖中文对话、代码与通用问答。
- MoE 稀疏架构类:Mixtral、DeepSeek-V2/V3/R1(671B)、Qwen3-235B、Kimi K3(2.8T)。稀疏模型每次只把 token 实际路由到的专家搬上卡,显存需求显著低于同规模稠密模型。
- Apple Silicon 优化类:macOS 上自动切换为 airllm_llama_mlx.py 的 MLX 后端,70B 级模型同样适用。
上手路径与关键配置
安装pip install airllm,可运行的最小示例见 air_llm/inference_example.py。核心调用三步:
from airllm import AutoModel model = AutoModel.from_pretrained("Qwen/Qwen3-32B") tokens = model.tokenizer("你好", return_tensors="pt", truncation=True, max_length=128) out = model.generate(tokens["input_ids"].cuda(), max_new_tokens=20) print(model.tokenizer.decode(out.sequences[0]))常用配置项:compression(4bit / 8bit / None)、prefetching(默认开启)、layer_shards_saving_path(分层缓存目录)、delete_original(转换后删除原始权重,省一半磁盘)。首次拆解非常耗磁盘,缓存目录空间不足会报 MetadataIncompleteBuffer。
实测数据:各模型单卡显存占用
官方给出的单卡实测(全精度、含端到端生成):
| 模型 | 规模 | 显存 |
|---|---|---|
| Qwen3 / Mistral / Phi | 约 8B | 1–2 GB |
| Qwen3-30B / Mixtral | 30–47B | 1–3 GB |
| Qwen3.8-27B(稠密 VL) | 27B | 3.33 GB |
| Qwen3-235B(MoE) | 235B | 约 3 GB |
| Llama 3.x 70B | 70B | 约 4 GB |
| Llama 3.1 405B | 405B | 约 8 GB |
| DeepSeek-V3 | 671B | 约 12 GB |
Kimi K3 在单张 RTX 6000 Ada 上实测 3.72GB,但环境要求特殊:CUDA 12 版 torch 配 flash-attn,以及 transformers 4.56.x。
适合在 4–12GB 显卡或 Mac 上验证大模型效果的开发者与教学场景。建议先打开 examples/inferrence.ipynb,从 8B 模型跑通后再放大到 70B。
【免费下载链接】airllmAirLLM 70B inference with single 4GB GPU项目地址: https://gitcode.com/GitHub_Trending/ai/airllm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考