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

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

它解决了什么问题

AirLLM 允许用户在显存(VRAM)非常有限的消费级硬件上运行大规模语言模型(LLMs)。它使得在显存仅为 8GB 到 12GB 的 GPU 上运行 Llama 3.1 405B 或 DeepSeek-V3 671B 等模型成为可能,从而绕过了对昂贵高端 GPU 或复杂的模型压缩技术(如蒸馏或剪枝)的需求。

工作原理

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

适用人群

希望在低端普通计算机或爱好者级别的 GPU 卡上运行最先进的大规模 LLM,且不愿牺牲模型准确性的开发者和研究人员。

亮点

  • 极高的显存效率:在 4GB GPU 上运行 70B 模型,在 12GB GPU 上上运行 671B 模型。
  • 广泛的模型支持:通过单一的 AutoModel 接口,兼容 Llama、Qwen、DeepSeek、Mistral、Mixtral、Phi、Gemma 等模型。
  • 无精度损失:默认情况下,无需量化、蒸馏或剪枝即可运行。
  • 跨平台支持:支持 Linux 和 Apple Silicon (MacOS)。
  • 性能优化:包含预取(prefetching)功能,通过重叠模型加载与计算过程来实现更快的推理。

Sources