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
- Repolyogavin/airllm