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