MxNet的混合精度
使用float16的好处:
1. 借助Tensor Cores加快计算速度:这种GPU本身支持半精度计算;(不支持半精度计算的,例如CPU,反而会更慢)
2. 减少显存空间占用量: Model变小; 可以放更复杂的网络,可以使用更大的batch;减少访存量,减小通信量;
怎样做效果好:
1. 输入数据,网络模型,中间激活,都用float16;
2. 使用float32的:最后一层在softmax之前的输出(因为softmax的分母要做Reduction规约); 参数服务器里的共享w;
3. 临时改变Scale的:反向传播的激活函数梯度;
本文探讨了MxNet中使用混合精度训练的优势,包括利用TensorCores加速计算,减少显存占用,允许更大batch及更复杂网络。文章详细介绍了如何有效实施混合精度,如数据与模型使用float16,特定层输出与参数服务器使用float32。
2191

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



