airllm: 一种内存高效的推理引擎,通过逐层加载的方式在消费级 GPU 上运行大规模 LLM

它解决了什么问题

AirLLM 允许用户在显存(VRAM)非常有限的消费级硬件上运行大规模语言模型(LLMs)。它能够在仅有 12GB 显存的 GPU 上运行高达 671B 参数的模型(如 DeepSeek-V3),或者在 4GB 显存的显卡上运行 70B 模型,且无需进行量化、蒸馏或剪枝。

工作原理

AirLLM 不会将整个模型加载到 GPU 显存中,而是将模型进行分解并按层保存。在推理过程中,它每次只在 GPU 上保留模型的一层,这意味着显存需求由单层的大小决定,而不是模型的总大小。它还支持可选的分块量化(4-bit 或 8-bit),以减小磁盘上的权重大小并使加载速度提高多达 3 倍。

适用人群

希望在低端普通计算机或爱好者级别的 GPU 上运行最先进的大规模开源 LLM,且不想承受通常与重度量化相关的精度损失的开发者和研究人员。

亮点

  • 极高的显存效率:在 8GB 显存上运行 405B Llama 3.1,或在 12GB 显存上运行 DeepSeek-V3 (671B)。
  • 广泛的模型支持:支持 Llama (2/3/3.1/3.3/4)、Qwen、DeepSeek、Mistral、Mixtral、Phi、Gemma、ChatGLM 等更多模型。
  • 无需量化选项:能够以全精度运行模型,而无需进行剪枝或蒸馏。
  • 跨平台:支持 Linux 和 Apple Silicon (MacOS)。
  • 代码简洁:使用单个 AutoModel 类来自动检测并从 Hugging Face 加载模型。

Sources