在深度学习模型的训练过程中,计算资源和训练速度是两个重要的考量因素。使⽤较低精度
的浮点数(如 float16)可以减少内存占⽤和提⾼计算速度。然⽽,float16 的数值范围和精
度较⼩,可能导致数值溢出(overflow)或下溢(underflow),从⽽影响模型的训练效
果。
1、溢出的原因

2、解决溢出的方法
2.1、混合精度
在模型中同时使⽤多种数值精度(如 float16 和 float32)来兼顾计算效率和数值稳定性。

2.2、损失缩放(Loss Scaling)
通过在计算损失前将其放⼤⼀个缩放因⼦,在反向传播时再将梯度缩⼩相同的因⼦, 避免梯度下溢。

2.3、float16转为bfloat16

2.4、改进数值稳定性

Leaky Relu

ELU

2.5、调整超参数

548

被折叠的 条评论
为什么被折叠?



