如何在开源平台下,对FP32/16做算法优化?
西安交通大学人工智能与机器人研究所博士陶小语:
首先要考虑算法的权重、梯度和量级,很多算法的权重梯度有非常小的指数(如SSD 1e-60~1e-11),使用FP16导致梯度置0而显著降低精度,一般通过quantization [1],mixed precision key [2],loss-scaling等技术来解决精度损耗问题。目前开源平台普遍支持混合精度训练(MPT),感兴趣的朋友可以参考以下资料:http://docs.nvidia.com/deeplearning/sdk/mixed-precision-training/index.html
[1] Hubara I, Courbariaux M, Soudry D, et al. Quantized Neural Networks: Training Neural Networks with Low Precision Weights and Activations[J]. 2016.
[2] Micikevicius P, Narang S, Alben J, et al. Mixed Precision Training[J]. 2017.