中文

16位神经网络训练对表示范围的需求

人工智能 2021-04-08 v2 机器学习 数值分析 数值分析

摘要

得益于其在广泛真实应用中的最先进性能,深度学习已快速发展。虽然神经网络一直使用IEEE-754 binary32算术进行训练,但深度学习计算需求的快速增长提升了对更快、低精度训练的兴趣。结合IEEE-754 binary16与IEEE-754 binary32的混合精度训练已被尝试,而其他16位格式,例如谷歌的bfloat16,也已流行。在浮点算术中,随着指数位数变化,精度与表示范围之间存在权衡;非规格化数扩展了表示范围。这引发了若干问题:需要多少指数范围,是否存在介于binary16(5位指数)与bfloat16(8位指数)之间且优于二者之一的格式,以及非规格化数是否必要。在本文中,我们研究混合精度训练对非规格化数的需求,并提出一种1/6/9格式,即6位指数与9位显式尾数,可提供更好的范围-精度权衡。我们表明,1/6/9混合精度训练能够在因非规格化操作而性能下降的硬件上加速训练,或完全消除对非规格化数的需求。并且,对于计算机视觉与自然语言处理中的若干全连接与卷积神经网络,1/6/9取得了与标准混合精度数值一致的结果。

关键词

引用

@article{arxiv.2103.15940,
  title  = {Representation range needs for 16-bit neural network training},
  author = {Valentina Popescu and Abhinav Venigalla and Di Wu and Robert Schreiber},
  journal= {arXiv preprint arXiv:2103.15940},
  year   = {2021}
}

备注

7 pages, 3 figures, 4 tables; conference