AirLLM通过逐层从磁盘加载模型而非全量驻留显存,将70B模型显存需求降低90%以上,同时避免了重度量化带来的能力衰减。
低显存 LLM 推理:认识 AirLLM

随着开源大语言模型(LLM)能力不断提升,其硬件需求也水涨船高。运行一个 70B 或 405B 参数的模型,传统上需要配备数百 GB 显存的 企业级云 GPU 服务器。
AirLLM 是由 lyogavin 开发的开源 Python 库,旨在让超大参数模型的推理在普通消费级硬件上成为可能——使开发者能够在仅有 4GB 显存的 GPU 上运行 70B 模型。
AirLLM 没有尝试将整个神经网络一次性装入 GPU 显存,而是采用了"分而治之"的执行架构。它将模型各层从磁盘逐个加载到内存中,计算该层的输出,然后清除,再加载下一层。
通过逐层顺序执行模型,AirLLM 将显存需求削减了 90% 以上。它让开发者能在 4GB 显存的 GPU 上运行 70B 参数模型,在 8GB 显存上运行 405B 模型,并且对混合专家(MoE)架构的内存开销也极低。
许多节省内存的工具严重依赖 4-bit 或 2-bit 量化,这会降低推理能力。AirLLM 允许开发者直接从磁盘执行完整的 16-bit 精度模型,而不会牺牲输出准确性。
AirLLM 硬件无关。它能无缝运行在配备入门级显卡的标准台式机、云服务器实例以及苹果 Silicon MacBook(M1、M2、M3 和 M4 芯片)上。
将 AirLLM 集成到现有 Python 脚本中只需几行代码:
from airllm import AirLLMLlama
model = AirLLMLlama("meta-llama/Meta-Llama-3.1-70B-Instruct")
input_text = ["What is the capital of France?"]
input_tokens = model.tokenizer(input_text, return_tensors="pt")
generation_output = model.generate(
input_tokens['input_ids'].cuda(),
max_new_tokens=20,
use_cache=True
)
output_text = model.tokenizer.decode(generation_output[0])
print(output_text)
通过将 LLM 参数规模与显存容量解耦,AirLLM 消除了 AI 开发中最大的经济壁垒之一。它让研究人员、独立开发者和业余爱好者能够在本地测试前沿模型,而无需依赖昂贵的云 GPU 集群。
想在自己的机器上运行 70B 模型?查看 AirLLM GitHub Repository。