0


模型参数量与显存占用分析

常用模型参数量-显存占用估计统计如下表:
精度&显存模型占用量32bit(FP32)-单精度16bit(FP16/BF16)-半精度8bit(int8)4bit(int4)参数量14byte2byte1byte0.5byte1B4GB2GB1GB0.5GB2B8GB4GB2GB1GB7B28GB14GB7GB3.5GB13B52GB26GB13GB6.5GB32B128GB64GB32GB16GB70B280GB140GB70GB35GB

训练显存

由于反向传播、Adam优化和Transformer架构等因素,保守估计,训练所需的显存是模型参数所占显存的4倍(1x 为模型 、1x 为梯度、1~2x 为优化器)。

注1:使用AdamW优化器,显存需求为2x;使用SGD优化器,显存需求为1x

为了确保训练期间模型收敛,参数类型一般不能是int8或int4。通常使用FP32或量化到BF16。

例如,使用单浮点精度

FP32

训练一个1B模型大约需要16GB(4GB x 4)。

  • 对于float32类型:1B(10亿参数)x 4(float的字节数)+ 14 + 24 = 4*4=16G
  • 对于half/BF16类型参数:1B(10亿参数)x 2(每个BF16参数字节数)x 4 = 8 GB

推理显存

训练所需的显存是模型参数所占显存的1倍(1x 为模型)。

例如,使用单浮点精度

FP32

训练一个1B模型大约需要4GB(4GB x 1)。

  • 对于float32类型:1B(10亿参数)x 4(float的字节数)=4G

transformer系列5---transformer显存占用分析_transformer 占用显存大小-CSDN博客

https://cuiyuhao.com/posts/c87c0f5d/


本文转载自: https://blog.csdn.net/weixin_43135178/article/details/140313635
版权归原作者 马鹏森 所有, 如有侵权,请联系我们删除。

“模型参数量与显存占用分析”的评论:

还没有评论