计算「微调大模型到底需要多少显存」时,本质上是把下面 4 大块一次性装进 GPU:
-
模型权重本身
-
激活值(前向、反向的中间张量)
-
梯度
-
优化器状态
下面给出两条常用「速算公式」和一张对照表,你可以 30 秒内估出「最低/推荐/宽裕」三档显存需求。所有数字单位都是 GB(十进制)。
速算公式 A:全参数微调(Full Fine-Tune)
显存 ≈ 20 × P
-
P = 参数量(单位:Billion,十亿)
-
经验系数 20 ≈ 权重(2 byte) + 梯度(2) + Adam 状态(8) + 激活(8)
-
只适用于 fp16/bf16 + AdamW,无 CPU offload,无 ZeRO-3
例:Llama-3.1-8B → 20 × 8 ≈ 160 GB(必须 4×A100-80G 或 8×A100-40G)
速算公式 B:LoRA/QLoRA 微调(最常用)
显存 ≈ 1.2 × P_base + 0.2 × P_lora
-
P_base:底座模型参数量
-
P_lora:LoRA 新增参数量(通常 < 1%)
-
1.2 系数来自 4-bit 量化权重 + 少量 fp16 激活/梯度
例:Qwen-2.5-7B + LoRA(rank=64)
-
7 × 1.2 ≈ 8.4 GB(单卡 24G 绰绰有余)
-
7 × 1.2 + 0.2 × 0.07 ≈ 8.5 GB(LoRA 额外可忽略)
一张对照表:常见模型显存需求
模型 | 参数量 | fp16 全参 | LoRA 4-bit | QLoRA 4-bit + ZeRO-3 | 备注 |
---|---|---|---|---|---|
Qwen-2.5-7B | 7 B | 140 GB | 8 GB | 6 GB | 单卡 24G OK |
Llama-3.1-8B | 8 B | 160 GB | 9 GB | 7 GB | 单卡 24G OK |
DeepSeek-14B | 14 B | 280 GB | 17 GB | 12 GB | 单卡 48G OK |
Qwen-72B | 72 B | 1440 GB | 86 GB | 60 GB | 需 8×A100-80G |
若想把误差压到 ±10%,可用开源计算器:
-
Model Memory Calculator(Hugging Face)
-
ZeRO-3 显存计算器(DeepSpeed 官方脚本)
LoRA/QLoRA 场景下,用「1.2 × 参数量 GB」就能快速估算;全参数微调直接乘 20。