lyogavin/airllm
AirLLM 2.8T LLM inference with single 4GB GPU
AirLLM – 在小型 GPU 上运行和训练巨型 LLM
功能简介
AirLLM 是一个 Python 库,允许您在仅有几 GB 显存的单块消费级 GPU 上推理和微调超大型语言模型(最高 6710 亿参数)。它通过从磁盘流式加载模型层,并每次仅在 GPU 上保留一层(加上可选的适配器)来实现这一点。该库还提供轻量级的块级仅权重量化压缩(4 位/8 位),可在最小精度损失的情况下将推理速度提升三倍。
重要性
通常,一个 700 亿参数的模型需要 30-40 GB 的 GPU 内存。AirLLM 的逐层流式加载将内存需求降低到单层的大小,因此 700 亿参数的模型可在约 4 GB 显存上运行,1250 亿参数的 MoE 模型约需 6 GB,甚至 6710 亿参数的 DeepSeek-V3 也仅需约 12 GB。它还支持通过流式加载冻结权重并仅在 GPU 内存中保留适配器来训练大型模型,从而在 6 GB 显卡上微调 1250 亿参数的模型。
主要特性(根据 README 描述)
- 逐层流式加载 – 一次加载一个 transformer 层,其余层保留在磁盘上。
- 块级仅权重量化压缩 – 仅对权重进行 4 位或 8 位量化(不量化激活),最高可提速 3 倍。
- 广泛的模型支持 – 兼容几乎所有 Hugging Face LLM:Llama 2/3/3.1/3.3/4、Qwen(1-3.8、MoE、Flash-Next、FP8、VL)、DeepSeek-V2/V3、Mixtral、Phi-4、Gemma、ChatGLM、Baichuan、InternLM、Yi、Kimi K3 等。
- 在极小显存上训练 – 流式加载冻结权重 + LoRA 适配器;提供 Qwen 3.8-Flash-Next(1250 亿)和 Qwen 3.8-27B 的示例。
- 简单 API –
AutoModel.from_pretrained(<repo_id>, compression='4bit')与标准 Hugging FaceAutoModel用法一致。 - 跨平台 – 支持 Linux、Windows 和 Apple 芯片 macOS(MLX + torch)。
- 可配置 – 压缩、性能分析、自定义分片保存路径、Hugging Face 令牌、预取,以及可选删除原始模型以节省磁盘空间。
典型用法
from airllm import AutoModel
model = AutoModel.from_pretrained(
"Qwen/Qwen3-32B", # 任何 HF 模型 ID 均可
compression='4bit' # 可选的 4 位/8 位加速
)
# 分词、生成等 – 与常规 HF 模型相同
首次加载时,库会将模型拆分为逐层分片存储在磁盘上;后续运行只需流式加载这些分片。
训练示例(LoRA)
python air_llm/examples/train_qwen38_flash_next_lora.py \
--data my_data.jsonl \
--seq-len 512 \
--epochs 1 \
--save-adapter qwen38-flash-next-lora.pt
该脚本流式加载每个解码器层,将适配器保留在 GPU 内存中,并写入 LoRA 检查点。
性能亮点(来自 README)
| 模型 | 参数 | 所需显存(约) |
|---|---|---|
| Qwen3-32B | 320 亿 | ~4 GB |
| Qwen3.8-Flash-Next(1250 亿 MoE) | 1250 亿 | ~5.95 GB |
| DeepSeek-V3 | 6710 亿 | ~12 GB |
| Llama 3.1-405B | 4050 亿 | ~8 GB |
| Kimi K3(2.8 万亿) | 2.8 万亿 | ~3.7 GB |
适用人群
- 拥有单块中端 GPU、希望尝试最新 LLM 的研究人员或爱好者。
- 需要在低成本环境(如边缘服务器、个人工作站)中运行大型模型推理的开发者。
- 任何希望用
transformers.AutoModel的即插即用替代方案来大幅降低显存需求的人。
获取方式
- 通过 PyPI 安装:
pip install airllm。 - 源代码、笔记本和模型特定脚本位于 GitHub(https://github.com/lyogavin/airllm)。
- 社区聊天在 Discord 上,Patreon 提供支持。
以上所有信息均直接取自仓库的 README;未添加任何外部声明。
相关
- Dispatch
- 项目
- 项目
- 项目
- Dispatch