以下两套「拿来即用」的显存估算公式,并分别用 14 B 模型举例。
所有数字都以 单卡、混合精度(FP16/BF16)、AdamW 优化器 为缺省条件,单位 GB。


一、通用估算框架
显存 ≈ 静态占用 + 动态占用

表格

复制

组成项 静态/动态 公式(单位:字节) 说明
Model 权重 静态 Φ × 2 14 B 模型 ⇒ 28 GB
Grad 梯度 静态 Φ × 2 14 B 模型 ⇒ 28 GB
Adam States 静态 Φ × 8(一阶+二阶 FP32) 14 B 模型 ⇒ 112 GB
Activation 动态 f(batch, seq, layers) 经验≈ 10–30 GB(可调)
框架/缓存 预留 5–10 GB

Φ = 参数量;14 B ⇒ Φ = 1.4 × 10¹⁰。


二、SFT(全参数微调)示例

  1. 代入公式

    复制

    静态 = (2 + 2 + 8) × Φ = 12 × Φ
         = 12 × 14 GB ≈ 168 GB
    动态 = 20 GB(batch=1, seq=2048 经验值)
    框架 = 8 GB
    总计 ≈ 196 GB
  2. 快速记忆法
    12 × 参数量 GB” 即可粗略得出 SFT 峰值显存需求。
    14 B ⇒ 约 200 GB;7 B ⇒ 约 100 GB


三、LoRA 示例

LoRA 只训练 低秩矩阵,设秩 r=16、α=32,常见比例:

表格

复制

项目 占用比例 14 B 模型占用
可训练参数 0.1 % 0.014 B ⇒ 28 MB
Model 权重(冻结) 100 % 28 GB
Grad 0.1 % 0.014 B × 2 B ≈ 28 MB
Adam States 0.1 % 0.014 B × 8 B ≈ 112 MB
Activation 与 SFT 类似 20 GB
框架/缓存 8 GB
总计 ≈ 56 GB

经验公式:
LoRA 峰值显存 ≈ 2 × 参数量 GB + 20 GB
14 B ⇒ 约 50–60 GB;7 B ⇒ 约 35 GB


四、一张速查表(FP16 + AdamW)

表格

复制

方法 7 B 14 B 70 B
SFT 全参 ≈ 100 GB ≈ 200 GB ≈ 1 TB
LoRA ≈ 35 GB ≈ 55 GB ≈ 180 GB
QLoRA-4bit ≈ 12 GB ≈ 24 GB ≈ 80 GB

如需更精确的数字,可把 batch、seq、层数代入 activation 公式
Activation ≈ 34 × b × s × h + 5 × b × s² × a × L


结论

  • SFT 全参数:简单记为 12 × 模型大小 GB

  • LoRA:简单记为 2 × 模型大小 GB + 20 GB

  • 若再启用 QLoRA / ZeRO-3 / 梯度检查点,可在上表基础上继续砍半甚至更多。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐