常用模型参数量-显存占用估计统计如下表:
精度&显存模型占用量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博客
版权归原作者 马鹏森 所有, 如有侵权,请联系我们删除。