
airllm
4GB 显卡跑 70B 大模型,显存不够也能玩转
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 42041
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境与 pip(用于安装 airllm 包)
- 一张 NVIDIA GPU,显存最低约 4GB(70B 模型),125B 约 6GB,671B 约 12GB
- 足够的磁盘空间,用于下载并保存分层转换后的模型权重
- 如需下载 meta-llama/Llama-2-7b-hf 等门控模型,需要 Hugging Face token
安装与启动步骤
-
1安装 airllm 包
直接用 pip 安装官方发布的 airllm 包,这是 README 给出的唯一安装方式。建议在虚拟环境中安装,避免与已有依赖冲突。
pip install airllm -
2准备训练数据文件
训练脚本通过 --data 指定 jsonl 数据文件。若不传 --data,脚本会用内置的小片段做过度拟合,仅适合验证流程。
-
3训练 125B MoE 模型
在仓库根目录执行脚本,用 LoRA 方式微调 Qwen 125B MoE 模型,adapter 保存在指定 pt 文件中。seq-len 与 epochs 可按需调整。
python air_llm/examples/train_qwen38_flash_next_lora.py \ --data my_data.jsonl \ --seq-len 512 \ --epochs 1 \ --save-adapter qwen38-flash-next-lora.pt -
4训练 27B 密集模型
如需微调 27B 密集模型,改用对应的训练脚本,参数含义一致,只需更换数据与保存的 adapter 文件名。
python air_llm/examples/train_qwen38_lora.py \ --data my_data.jsonl \ --seq-len 512 \ --epochs 1 \ --save-adapter qwen38-27b-lora.pt -
5冒烟测试
加上 --steps N 参数后,只处理 N 条样本就停止,适合在正式训练前快速确认环境与显存是否正常。
python air_llm/examples/train_qwen38_flash_next_lora.py \ --data my_data.jsonl \ --seq-len 512 \ --epochs 1 \ --steps 1 \ --save-adapter qwen38-flash-next-lora.pt
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
compression | 否 | 模型压缩方式,可选 4bit、8bit 分块量化,默认 None 不压缩 | 4bit |
profiling_mode | 否 | 设为 True 时输出各阶段耗时,便于排查性能瓶颈,默认 False | True |
layer_shards_saving_path | 否 | 指定分层切片模型的另一保存路径 | /your/path |
hf_token | 否 | 下载 gated 类模型时需提供的 Hugging Face token | hf_xxxxxxxxxxxxxxxx |
prefetching | 否 | 预取以重叠模型加载与计算,默认开启,目前仅 AirLLMLlama2 支持 | True |
delete_original | 否 | 磁盘不足时设为 True,删除原始 HF 模型只保留转换后版本以省一半空间 | True |
如何确认成功
pip install 过程无报错,并在 Python 中 import airllm 成功,即表示包已正确安装。
常见问题
Q:显存不够怎么办?
A:可在初始化模型时把 compression 设为 4bit 或 8bit 做分块量化,进一步降低显存占用;AirLLM 本身按层加载并即时释放权重。
Q:下载 Llama-2 等模型时报权限错误?
A:这类模型属于 gated model,需要在 Hugging Face 申请权限后,初始化时通过 hf_token 配置项传入自己的访问 token。
Q:磁盘空间不够放模型怎么办?
A:把 delete_original 设为 True,转换完成后会删除原始下载的 Hugging Face 模型,只保留分层后的版本,可节省约一半空间。
Q:想先确认脚本能跑通再正式训练?
A:在训练命令中加 --steps N,处理完 N 条样本即停止;省略 --data 时脚本会用内置片段过拟合,也可用于快速验证。
注意事项
- README 节选只给出了 pip 安装与训练脚本命令,未提供推理调用的示例代码,实际使用请以仓库中的 notebooks 为准。
- 训练脚本需在仓库根目录下执行,示例数据文件名为 my_data.jsonl,请替换为自己的真实文件路径。
- prefetching 目前仅 AirLLMLlama2 支持,其他模型开启后不一定生效。
- 模型越大对显存与磁盘要求越高,建议先用小参数 + --steps 做冒烟测试再跑全量。
核心亮点
- 显存占用极低,4GB 显卡可跑 70B 模型,突破硬件限制
- 基于分层推理,自动卸载和加载权重,无需手动优化
- 兼容 Hugging Face 生态,集成简单,几行代码即可使用
不足之处
- 推理速度较慢,因为涉及频繁的显存与内存/磁盘交换
- 文档/社区待观察
适用场景
- 个人开发者本地实验 70B 级大模型,无需高端显卡
- 资源受限的云环境或边缘设备部署大模型
- 教学演示和学术研究,探索低资源推理技术
替代项目
llama.cpp、DeepSpeed、Accelerate
同类项目推荐
kiwi-mem
开源
给 AI 伴侣装上会遗忘、会做梦的长期记忆
Self-hosted memory gateway for AI companions — OpenAI-compatible proxy with vector ···
github-copilot-api-vscode
开源
把 Copilot 订阅变成本地 OpenAI 接口,任意工具免 Key 直连
Unlock GitHub Copilot as a local API Gateway. Use Copilot with Cursor, LangChain, an···
terraform-genai-rag
开源
填几个变量,云上 RAG 环境一键搭好
Deploys a Generative AI RAG solution
qgate-sln-mlrun
开源
一键检查 MLRun 项目质量,交付更放心
MLRun/Iguazio/Nuclio quality gate solution. The solution checks a quality of MLRun i···
ai-optimizer
开源
在 Oracle 数据库上快速调优 RAG 和 NL2SQL 实验
Agentic Optimizer and Toolkit for experimentation using the Oracle AI Database
satoriDB
开源
把向量搜索嵌进你的应用,本地跑,快又省。
High performance embedded vector database
redis-vl-python
开源
用 Redis 做向量检索,一套 Python 库搞定 AI 数据层
Redis Vector Library. The AI-native Python client for Redis.
llmserve
开源
终端里选模型选后端,一键把本地 LLM 跑起来
A simple TUI for serving local LLM models. Pick a model, pick a backend, serve it
robustmq
开源
一个二进制搞定多协议消息通信,省掉一堆中间件
Communication infrastructure for the AI era — one binary, one broker, one storage l···