显存占用计算方法

总结自视频(吴恩达大模型入门课):13_02_computational-challenges-of-training-llms_哔哩哔哩_bilibili 

1. 模型加载阶段的显存占用

模型参数本身占用的显存应该是最主要的部分。

1.1 模型参数的显存计算

显存占用 ≈ 参数量 × 每个参数占用的字节数。简单来记,如果数据类型是float32,则1b就是占用1G显存。

  • 参数量:通常以 B(十亿)为单位,例如LLaMA-7B模型参量为70亿。

  • 数据类型与字节数:

    • float32: 4字节/参数(默认精度,如PyTorch加载时)

    • float16/bfloat16: 2字节/参数(混合精度训练或量化加载)

    • int8: 1字节/参数(量化模型,如BitsAndBytes库)

示例

  • 加载LLaMA-7B模型:

    • float32:7B × 4字节 = 28 GB

    • float16:7B × 2字节 = 14 GB

    • int8:7B × 1字节 = 7 GB

1.2 实际显存占用的额外因素

训练时,如果都是float32数据类型,每个模型参数会额外增加20字节内存,训练1个参数对应24字节内存。

 

1.3 快速估算工具 

  • 使用Hugging Face的 model.num_parameters() 获取参数量。

  • 实际加载后,通过 torch.cuda.memory_allocated() 查看精确显存占用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值