AirLLM:逐层流式加载让小显存运行大模型
AirLLM 是开源的推理与训练工具,通过把模型按层拆分并逐层加载到 GPU,使显存需求取决于单层大小而非模型总大小。项目 README 称可在小显存上运行 70B 乃至数百 B 级模型,并已扩展出 LoRA 微调能力;文中显存数字多为项目自述的特定硬件测量,未独立核验。
工具定位
AirLLM 是一个开源 Python 库,目标是让显存有限的机器运行和微调大型语言模型。README 说明其做法是:推理时 GPU 上只保留一个解码层,其余层从磁盘流式加载,因此显存占用取决于单层规模而非模型总参数。项目称使用该方式无需量化、蒸馏或剪枝即可运行大模型;同时另提供基于块量化的压缩选项用于提速。
使用方法
README 给出的入口是安装 airllm 包后,用 AutoModel.from_pretrained(...) 传入 Hugging Face 仓库 ID 或本地路径,再按常规方式调用 tokenizer 与 generate。首次使用前会先把模型按层拆分保存,因此需要预留足够的缓存目录磁盘空间。初始化还支持配置压缩(4bit/8bit)、保存拆分模型的额外路径、访问受限模型所需的 Hugging Face token、预取以重叠加载与计算,以及删除原始下载以节省磁盘。
显存与支持范围
README 列出了多组显存数字,例如 Llama 3.x 70B 约 4GB、DeepSeek-V3 约 12GB、Qwen3-235B 约 3GB,部分条目注明是在指定显卡上端到端测得。需要注意,这些数字来自项目自述,未在本摘要中独立验证,且不同模型、精度与硬件条件下不可混用;README 内部对个别模型的参数规模表述也不完全一致(如 Qwen3.8-Flash-Next 一处写 125B、表格中写约 180B),引用时宜以实际仓库信息为准。
微调
新增的训练说明称,冻结的基础权重逐层从磁盘流式加载,仅适配器常驻 GPU,从而在小显存上做 LoRA 微调。README 提供了 .jsonl/.txt 数据格式说明、示例训练脚本与 Python API,并说明这不等同于 Hugging Face Trainer 或 bitsandbytes QLoRA,部分新模型还依赖特定版本的 transformers。
平台与常见问题
README 称 macOS 上安装后用法与 Linux 相同,但仅支持 Apple silicon,并需安装 mlx 与 torch。FAQ 中记录了磁盘不足导致的 safetensors 报错、模型类型误用、受限模型需 token、tokenizer 无 padding token 等情形及其处理方式。这些条件均以原文为准,未在此补充其他部署细节。
来源与核对说明
- lyogavin/airllm ↗https://github.com/lyogavin/airllm
本文经 AI 整理及独立自动校对,未做运行验证;自动校对仍可能遗漏问题,请以原始资料为准。
这篇内容对你有帮助吗?
点赞人数由服务器记录,收藏保存在当前浏览器。