大模型训练显存快速计算办法
若再启用 QLoRA / ZeRO-3 / 梯度检查点,可在上表基础上继续砍半甚至更多。如需更精确的数字,可把 batch、seq、层数代入 activation 公式。以下两套「拿来即用」的显存估算公式,并分别用 14 B 模型举例。四、一张速查表(FP16 + AdamW)” 即可粗略得出 SFT 峰值显存需求。显存 ≈ 静态占用 + 动态占用。二、SFT(全参数微调)示例。为缺省条件,单位
以下两套「拿来即用」的显存估算公式,并分别用 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(全参数微调)示例
-
代入公式
复制
静态 = (2 + 2 + 8) × Φ = 12 × Φ = 12 × 14 GB ≈ 168 GB 动态 = 20 GB(batch=1, seq=2048 经验值) 框架 = 8 GB 总计 ≈ 196 GB
-
快速记忆法
“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 / 梯度检查点,可在上表基础上继续砍半甚至更多。
更多推荐
所有评论(0)