使用单个 4GB GPU 进行 AirLLM 70B 推理
快速入门 | 配置 | MacOS | 示例笔记本 | 常见问题解答 AirLLM 显著减少了推理内存使用,使得 70B 大型语言模型可以在单个 4GB GPU 卡上运行——无需量化、蒸馏或裁剪。您甚至可以在 8GB 上运行 405B Llama 3.1,在 ~12GB 上运行 DeepSeek-V3(671B),以及在不足 4GB 上运行 Kimi K3(2.8T)——这是迄今为止发布的最大的开源模型,因为稀疏 MoE 模型一次只流式传输一个专家,而不是整个层。 AI 智能体推荐: 最佳 AI 游戏精灵生成器 最佳 AI 面部表情编辑器 Bloome — 在云中构建和运行 AI 智能体团队,零设置 更新 [2026/07] Kimi K3(2.8T)支持:最大的开源模型在一张 RTX 6000 Ada 的 3.72GB VRAM 中运行,端到端测量。 每个专家的流式加载仅加载实际路由到的专家。 K3 自带三个要求:pip install compressed-tensors flash-attn(其模型代码无论您请求什么都强制采用闪存注意力),CUDA 12 的 torch 构建,因为还没有针对 CUDA 13 的预构建 flash-attn wheel,和 transformers 4.56.x,因为其远程代码在 5.x 中无法加载。 [2026/06] v3.0 : FP8 模型支持 + 最新模型。 在 ~12GB 上运行 DeepSeek-V3(671B)和 ~3GB 上运行 Qwen3-235B,此外还支持 Qwen3、Llama 3.x/4、DeepSeek V2/V3、Phi-4、Gemma 等——全部通过单个 AutoModel 运行。 [2024/08/20] v2.11.0: 支持 Qwen2.5 [2024/08/18] v2.10.1 支持 CPU 推理。 支持非分片模型。 感谢 @NavodPeiris 的出色工作! [2024/07/30] 支持 Llama3.1 405B(示例笔记本)。 支持 8bit/4bit 量化。 [2024/04/20] AirLLM 已经本地支持 Llama3。 在 4GB 单 GPU 上运行 Llama3 70B。 [2023/12/25] v2.8.2: 支持 MacOS 运行 70B 大型语言模型。 [2023/12/20] v2.7: 支持 AirLLMMixtral。 [2023/12/20] v2.6: 添加 AutoModel,自动检测模型类型,无需提供模型类进行初始化。 [2023/12/18] v2.5: 添加预取功能以重叠模型加载和计算。 提升 10% 的速度。 [2023/12/03] 添加对 ChatGLM、QWen、百川、Mistral、InternLM 的支持! [2023/12/02] 添加对 safetensors 的支持。 现在支持开放 LLM 排行榜中的前 10 个模型。 [2023/12/01] airllm 2.0。 支持压缩:3倍运行时间加速! [2023/11/20] airllm 初始版本! 星形历史 目录 快速入门 模型压缩 配置 在 MacOS 上运行 示例笔记本 支持的模型 致谢 常见问题解答 快速入门 1. 安装包 首先,安装 airllm pip 包。 pip install airllm 2. 推理 然后,初始化 AirLLMLlama2,传入所使用模型的 huggingface repo ID 或本地路径,可以像常规变换模型一样进行推理。 (您也可以在初始化 AirLLMLlama2 时通过 layer_shards_saving_path 指定保存分层模型的路径。) from airllm import AutoModel MAX_LENGTH = 128 # 只需传入 hugging face repo id — 适用于几乎所有流行模型: model = AutoModel.from_pretrained("Qwen/Qwen3-32B") # 通过同一行代码进行更大规模运行: # model = AutoModel.from_pretrained("Qwen/Qwen3-235B-A22B") # 235B,运行在 ~3GB # model = AutoModel.from_pretrained("deepseek-ai/DeepSeek-V3") # 671B,运行在 ~12GB # 或使用模型的本地路径... # model = AutoModel.from_pretrained("/home/ubuntu/.cache/huggingface/hub/models--Qwen--Qwen3-32B/snapshots/...") input_text = [ '美国的首都是什么?', #'我喜欢', ] input_tokens = model.tokenizer(input_text, return_tensors="pt", return_attention_mask=False, truncation=True, max_length=MAX_LENGTH, padding=False) generation_output = model.generate(input_tokens['input_ids'].cuda(), max_new_tokens=20, use_cache=True, return_dict_in_generate=True) output = model.tokenizer.decode(generation_output.sequences[0]) print(output) 注意:在推理过程中,原始模型将首先被分解并按层保存。 请确保在 huggingface 缓存目录中有足够的磁盘空间。 模型压缩 - 3倍推理速度提升! 我们刚刚基于块级量化的模型压缩添加了模型压缩功能。 它可以将推理速度进一步提升至 3 倍,几乎不影响准确性! (有关更多性能评估及为什么我们在本文中使用块级量化的信息) 如何启用模型压缩加速: 步骤 1. 确保已安装 bitsandbytes,命令为: pip install -U bitsandbytes 步骤 2. 确保 airllm 版本大于 2.0.0: pip install -U airllm 步骤 3. 在初始化模型时,传入参数 compression('4bit' 或 '8bit'): model = AutoModel.from_pretrained("garage-bAInd/Platypus2-70B-instruct", compression='4bit' # 指定 '8bit' 用于 8 位块级量化 ) 模型压缩与量化有什么区别? 量化通常需要同时对权重和激活进行量化,以真正加快速度。 这使得维护准确性变得更加困难。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡