AirLLM 是一款开源大语言模型推理优化工具,可让 70B 参数模型在单张 4GB 显存 GPU 上运行,无需量化、蒸馏或剪枝。通过层级模型分片和重叠预取技术,Llama3.1 405B 现在也只需 8GB 显存,支持 MacOS (Apple Silicon)。

🎤 引言

搞大模型推理的朋友们,有没有被显存这个坎卡住过?70B 的模型动辄需要几百 G 显存,穷玩家只能眼巴巴看着。

今天安利一个开源项目 AirLLM,GitHub 18.9k Stars,可以让 70B 大模型在单张 4GB 显存 GPU 上跑起来!不需要量化、不需要蒸馏、不需要剪枝,原生模型直接跑。


⭐ 核心功能

分层模型分片是 AirLLM 的核心招数。它把模型按层拆分,每次只把下一层加载进显存,其他层占用内存而非显存。这样一来,显存压力骤降。

重叠预取是另一个狠招——在当前层计算的同时,后台异步加载下一层。官方说这一招能带来 10% 的速度提升

模型压缩支持 4bit / 8bit 分块量化,压缩后推理速度提升 3 倍!而且对精度的影响微乎其微。

自动模型检测AutoModel 类,不用再手动指定模型类型了。

多模型支持包括:

  • Llama2 / Llama3 / Llama3.1 (包括 405B)
  • Qwen / Qwen2.5
  • ChatGLM3
  • Baichuan2
  • Mistral / InternLM

MacOS 支持也能跑!Apple Silicon M 系列芯片实测可以跑 70B 模型。


📥 安装使用

安装就一行命令:

pip install airllm

使用方式跟普通 transformers 几乎一模一样:

from airllm import AutoModel

MAX_LENGTH = 128
model = AutoModel.from_pretrained("garage-bAInd/Platypus2-70B-instruct")

input_text = ['What is the capital of United States?']
input_tokens = model.tokenizer(
    input_text,
    return_tensors="pt",
    return_attention_mask=False,
    truncation=True,
    max_length=MAX_LENGTH,
    padding=False
)

generation_output = model.generate(
    input_tokens['input_ids'].cuda(),
    max_new_tokens=20,
    use_cache=True,
    return_dict_in_generate=True
)

output = model.tokenizer.decode(generation_output.sequences[0])
print(output)

开启压缩加速(3 倍速度):

model = AutoModel.from_pretrained(
    "garage-bAInd/Platypus2-70B-instruct",
    compression='4bit'  # 或 '8bit'
)

MacOS 加速

pip install mlx torch

🎯 适用场景

  • 💻 个人开发者的福音:没有高端显卡,照样跑 70B 模型做 Demo
  • 📚 科研实验:快速验证想法,不需要排队等 GPU 集群
  • 🎓 学生学习:理解大模型推理过程,低成本上手
  • 🚀 边缘部署:在资源受限的环境中部署大模型服务

🔍 对比/替代方案

方案显存需求量化支持速度适用场景
AirLLM4GB (70B)4/8bit基准低成本推理
llama.cpp4GB (70B)2-8bit较慢CPU 推理
GPTQ6GB (70B)4bit较快量化推理
AWQ6GB (70B)4bit高效推理

AirLLM 的优势在于不需要预先量化,直接处理原版模型,部署流程更简单。


⚠️ 注意事项

  1. 磁盘空间要够:模型分层过程会占用大量磁盘空间,确保有足够空间并清理 HuggingFace 缓存目录
  2. 低端 GPU 速度慢:T4 这类低端卡推理速度较慢,不适合交互式聊天场景
  3. MacOS 仅支持 Apple Silicon:不支持 Intel Mac
  4. 部分模型需要 Token:Gated 模型(如 Llama-2)需要提供 HuggingFace API Token

✅ 总结

AirLLM 最大的价值在于降低了玩大模型的门槛。4GB 显存这个数字,很多人的游戏显卡都能满足。

优点

  • 显存需求极低,4GB 即可跑 70B
  • 无需量化蒸馏,原生模型直接跑
  • 压缩模式 3 倍加速,效果不错
  • 支持 MacOS Apple Silicon
  • 使用简单,API 与 transformers 兼容

缺点

  • 首次加载慢(需要分层模型)
  • 低端 GPU 推理速度仍然较慢
  • 只支持推理,不支持训练

总的来说,如果你只有一张入门级显卡又想玩大模型,AirLLM 值得一试!

GitHub: lyogavin/airllm
PyPI: airllm