2.4万星!GitHub这个开源神器,4GB破显卡就能跑700亿参数大模型lyogavin/airllm:23.8K Stars,4GB单卡跑70B大模型,不量化不蒸馏不剪枝,v3.1.0刚发布支持Kimi K3(2.8T参数)我是雷子,今天聊一个让我"直接把吃灰的旧显卡翻出来"的开源项目。从Hugging Face上兴冲冲下载了一个70B参数的大模型,满心欢喜准备本地跑起来,结果终端甩给你一行冷冰冰的红字:CUDA out of memory. Tried to allocate 140.00 GiB.你低头看了看自己那张8GB的RTX 3070,又看了看网上80GB A100显卡的价格(大约8万人民币),默默关掉了终端。这不是你一个人的困境。据统计,超过68%的开发者因为硬件限制,根本无法体验最新的开源大模型。但今天这个GitHub上的开源项目,用一种极其"野路子"的方式,把这件事给破了——12GB显存,跑671B的DeepSeek-V3。甚至不到4GB,跑Kimi K3(2.8万亿参数)。项目名:AirLLM。GitHub 2.4万星,Apache 2.0开源协议,7月底刚发了v3.1.0大版本。AirLLM的核心思路非常直观——不跟你玩显存,玩磁盘。传统推理方式是把整个模型一次性塞进GPU显存。70B模型FP16精度大概需要140GB显存,405B需要810GB——这根本不现实。AirLLM的做法是:把模型按Transformer层切片,存到磁盘上。推理时,每次只把一层加载到GPU,算完就卸掉,再加载下一层。70B模型大概有80层,每层权重约1.6GB——4GB显存绰绰有余。打个比方:传统方式是把整座图书馆的书摊在桌子上读,AirLLM是每次只从书架上拿一页,读完放回去,再拿下一页。桌子小没关系,书总能读完。光逐层加载还不够,注意力机制本身也会吃内存。AirLLM集成了FlashAttention技术,把self-attention的内存复杂度从O(n²)降到O(n),长文本推理时内存占用大幅缩减。原始模型文件动辄10GB一个分片,AirLLM在首次运行时自动把模型按层拆分,用SafeTensors格式存储,支持内存映射加载——磁盘读取速度和内存格式完美匹配,避免重复IO浪费。v2.5版本加入了prefetching机制:当前层在GPU上计算的同时,下一层已经在从磁盘往内存里加载了。推理速度提升约10%。v3.1.0版本最重磅的更新是对Kimi K3(2.8万亿参数)的支持。这个模型采用了MoE(混合专家)架构——整个模型虽然有2.8万亿参数,但每个token只激活其中一小部分专家。AirLLM利用这个特性,实现了单专家流式加载:只把当前token需要用到的专家层加载到GPU,而不是整层。这就是为什么2.8T参数的Kimi K3只需要3.72GB显存——GPU上任何时候只存在极小一部分模型权重。这个优化思路对MoE架构来说几乎是降维打击。 | | |
|---|
| | ~1-2 GB |
| | ~1-3 GB |
| | ~3 GB |
| | ~4 GB |
| | ~8 GB |
| 671B | ~12 GB |
| 2.8T | ~3.7 GB |
from airllm import AutoModel # 传Hugging Face repo ID,自动识别模型类型 model = AutoModel.from_pretrained("Qwen/Qwen3-32B") # 想跑更大的?同样一行代码: # model = AutoModel.from_pretrained("deepseek-ai/DeepSeek-V3") # 671B,约12GB # model = AutoModel.from_pretrained("MoonshotAI/Kimi-K3") # 2.8T,约3.7GB input_text = ['请介绍一下你自己'] input_tokens = model.tokenizer(input_text, return_tensors="pt", return_attention_mask=False, truncation=True, max_length=128) output = model.generate(input_tokens['input_ids'].cuda(), max_new_tokens=50, use_cache=True, return_dict_in_generate=True) print(model.tokenizer.decode(output.sequences[0]))注意:首次运行时,模型会被自动切层保存到本地缓存,需要磁盘空间约等于模型原始权重大小。之后再推理就直接读缓存,不会重复切片。如果你想要更快的速度(牺牲一点点精度),可以开启压缩:model = AutoModel.from_pretrained("Qwen/Qwen3-32B", compression='4bit')4bit压缩最高可带来3倍推理速度提升,精度损失极小——因为它只量化权重不量化激活值,比传统量化方案对精度的影响更小。• Linux/Windows:CUDA GPU推理(主力场景)• MacOS:Apple Silicon + mlx,同样支持70B模型本地推理• v3.1.0新增:Kimi K3支持(2.8T参数的MoE模型,单专家流式加载,仅3.72GB显存)说白了:AirLLM解决的是"能不能跑"的问题,量化解决的是"跑得快不快"的问题。• 有一张4-12GB消费级GPU,想在本地跑70B+模型体验效果• 显存够放下量化后的完整模型(比如12GB放7B Q4模型)两者不是替代关系,是互补关系。 很多开发者的工作流是:先用AirLLM在低配机上验证模型效果,确认OK后再上量化方案做生产部署。另外提一嘴vLLM和llama.cpp。vLLM是面向高吞吐推理服务的框架,需要大显存多卡环境,走的是"堆硬件换速度"路线;llama.cpp则是在CPU上做量化推理,速度更慢但兼容性最广。AirLLM的独特定位在于:用最小的显存代价跑最大的模型,在"能跑"和"跑得快"之间找到了一个非常实用的中间点。pip install -U bitsandbytes
from airllm import AutoModel model = AutoModel.from_pretrained("Qwen/Qwen3-32B")首次运行会把模型切层保存到Hugging Face缓存目录(通常在~/.cache/huggingface/),确保磁盘有足够空间(32B模型大约需要60GB磁盘空间)。这一步耗时较长,取决于你的磁盘速度。SSD大概10-20分钟,HDD可能更久。切层完成后,后续推理就很快了。一行调用,直接出结果。 | |
|---|
| |
| 跑405B Llama 3.1,或70B + 4bit压缩提速 |
| 跑DeepSeek-V3(671B),或70B满速 |
| |
| |
| |
如果你磁盘空间紧张,可以加一个参数让AirLLM在切层完成后删除原始模型文件,只保留切层后的版本,能省下一半磁盘空间:model = AutoModel.from_pretrained("Qwen/Qwen3-32B", delete_original=True)某高校NLP实验室只有一张RTX 3090(24GB),之前跑7B模型做实验。装上AirLLM后,直接在本地跑起了Llama 3 70B做对比实验,省下了每月数千元的云GPU租赁费用。一家金融公司需要在本地对敏感文档做摘要,数据不能上传云端。用AirLLM在一张RTX 4060(8GB)上跑Llama 3.1 405B,满足合规要求的同时获得了接近GPT-4级别的文本理解能力。独立开发者想在集成大模型能力前先验证效果。用AirLLM在笔记本上跑Qwen3-32B做原型验证,确认效果满意后再决定采购云资源做生产部署——避免了"花了几万块租GPU,结果模型效果不行"的坑。因为瓶颈从显存变成了磁盘IO,推理速度比全量显存加载慢很多。70B模型大概5-8 tokens/秒,日常对话够用,但做高并发API服务就别想了。首次运行需要和模型原始权重等量的磁盘空间来存储切层文件。70B模型大概140GB磁盘空间。切层完成后后续推理不需要额外空间,但第一次确实需要。适用边界一句话总结:适合本地体验、调试、隐私推理、原型验证,不适合高并发生产服务。1. 持续维护:项目从2023年11月维护至今,v3.1.0在7月29日刚发布,308次commit,10位贡献者,不是"发完就撤"的项目2. 真正降低门槛:让70B甚至2.8T级别的模型在消费级硬件上可运行,这是AI民主化的实质性一步3. 极简接入:一行代码,一个AutoModel接口,和Hugging Face使用习惯完全一致4. v3.1.0重大更新:支持Kimi K3(2.8T参数,开源界最大模型),单卡3.72GB显存即可运行AirLLM让我想起一句话:"限制你的从来不是硬件,而是想象力。"当我们习惯了"大模型=大显存=大成本"这个等式时,AirLLM用一种近乎"土办法"的逐层加载策略,硬生生把这个等式给打破了。它不完美——速度慢、吃磁盘。但它解决了一个最本质的问题:让没有A100的普通人,也能亲自摸一摸70B模型的能力边界。对于正在评估大模型落地方案的企业IT团队、想在本地做原型验证的独立开发者、以及所有被"显存不足"劝退过的AI爱好者来说,这个项目值得你花10分钟试一下。安装只需一行命令:pip install airllm跑起来的那一刻,你会明白为什么2.4万人给它点了Star。🔗 项目地址:https://github.com/lyogavin/airllm⭐ GitHub Stars:23.8K(持续增长中)你觉得4GB跑70B模型这个方案怎么样?你的显卡能跑多大的模型?欢迎在评论区聊聊👇如果这篇对你有帮助,点赞+在看+转发三连支持一下,你的支持是我持续更新的动力🙏关注「雷子AI工具箱」,每天一个GitHub热门AI工具,帮你锁定AI赛道最前沿的开源利器🚀