这篇博客是在pytorch中基于apex使用混合精度加速的一个偏工程的描述,原理层面的解释并不是这篇博客的目的,不过在参考部分提供了非常有价值的资料,可以进一步研究. 一个关键原则:“仅仅在权重更新的时候使用fp32,耗时的前向和后向运算都使用fp16”.其中的一个技巧是:在反向计算开始前,将dloss乘上一个scale,人为变大:权重更新前,除去scale,恢复正常值.目的是为了减小激活gradient下溢出的风险. apex是nvidia的一个pytorch扩展,用于支持混合精度训练和分布式…