AI基础设施与推理优化 · 第 4 期

70B模型只要4GB显存?

airllm · 层流式加载 · CPU offload

airllm的极端思路:模型太大装不下?那就一次只加载一层到GPU,算完立刻丢回CPU,下一层再传上来。显存需求降到单层大小(70B只要4GB),代价是CPU↔GPU来回传,慢10~50倍。换的是「能跑」vs「跑不了」——不是快,是兜底。
⏱ 约 9 分钟 🎯 显存不够又想跑大模型的人 📦 源:airllm 库

01核心招式:层流式加载

70B模型FP16要140GB显存,单卡24G根本装不下。airllm的解法:把模型放CPU内存(或磁盘),推理时一层一层搬到GPU。

Transformer是层叠结构:每层输入是上层的输出。airllm利用这点——第i层算完,输出留下,权重丢掉,传第i+1层上来。显存里同一时刻只有一层权重 + 当前激活 + KV缓存。70B有80层,单层约1.7GB,加上激活和KV,4GB就能跑。

常规:显存 = 全部层权重 + 激活 + KV  ≈ 140GB
airllm:显存 = 单层权重 + 激活 + KV  ≈ 4GB

代价赤裸裸:每生成一个token,要把80层全部从CPU传到GPU再传回一次。PCIe带宽(~32GB/s)远低于GPU显存带宽(~2TB/s),每层传输比计算慢得多。结果:70B在单卡airllm上每秒可能就出1~2个token,比A100满血慢几十倍。这是「能跑」的代价。

airllm不是让大模型快,
是让它能跑。
灏天文库 · AI基础设施与推理优化 P.10

02极限省内存演示:三种方案对比

选模型大小,看常规加载 / 4bit量化 / airllm流式三种方案的显存需求和速度。airllm显存最低但最慢——选哪个看你卡多大、能不能等。

🪶 极限省内存演示
选模型,看显存从「装不下」到「4GB能跑」的代价。
airllm 层流式加载(点一次跑一层)

03什么时候该用airllm

不该用的场景:线上服务(延迟受不了)、要吞吐的批处理(太慢)、追求性价比(量化+多卡通常更划算)。airllm是「兜底方案」不是「优选方案」——能用量化+多卡就别用airllm,速度差一个数量级。它的价值在「把不可能变可能」,不在「把可能变更好」。

常规

满血快

显存装得下时最快,70B要2×A100(80G),单卡别想。

4bit量化

性价比王

70B压到35GB,A100(80G)单卡或2×4090可跑,速度损失小。

airllm

兜底慢

70B只要4GB,单卡4090能跑,但慢10~50倍。

多卡张量并行

又快又贵

多卡分担,快但卡多,预算够首选。

兜底方案的价值,
是让不可能变可能。
灏天文库 · AI基础设施与推理优化 P.11

04带走这套清单

✅ airllm 与单卡大模型 6 条可执行规则

  1. 显存真不够才用airllm:它是兜底不是优选,慢10~50倍,能用量化+多卡就别用。
  2. 70B单卡首选4bit量化:压到35GB,A100(80G)单卡或2×4090,速度损失小。
  3. airllm适合离线批处理:不在乎延迟、跑一晚上出结果的场景,便宜能跑。
  4. 配高速PCIe和CPU内存:airllm瓶颈在CPU↔GPU传输,内存大、PCIe快能提速。
  5. 开chunked prefill:长输入分段加载,避免prefill阶段显存峰值。
  6. 调试用airllm、生产用量化:研究阶段单卡跑通流程,上线换量化+多卡要速度。
能跑比跑得快更重要,
当你根本跑不了的时候。
灏天文库 · AI基础设施与推理优化 P.12