拉姆Cherukuri,MathWorks公司
此视频介绍半精度或float16,一个相对较新的浮点数据的概念。它可以用来减少一半的内存使用情况,已成为加快深学习培训和推理很受欢迎。我们也期待在福利,以及比传统的32位单精度或折衷的64位传统控制应用的双精度数据类型。
半精度或float16是一个相对较新的浮点数据类型使用16位,不像传统的32位单精度或64位双精度数据类型。
所以,当你在MATLAB变量声明为一半,说圆周率,你可能会比单或双表示,当我们在这里看到通知的一些精度损失。
的差异来自通过半精度使用的比特的数量有限。我们只有精度10位和供指数5个比特,而不是精确的23位和用于在单个指数8位。因此,EPS是大得多,也动态范围是有限的。
那么,为什么这很重要?半最近流行是因为它在加速深学习培训和推理主要在NVIDIA GPU中的文章强调了在这里有用的。此外,英特尔和ARM平台还支持半加速计算。万博1manbetx
使用半精度的明显的好处是减少了内存和减少50%的数据带宽,因为我们在这里看到Resnet50。此外,硬件厂商也为一半这样的计算在NVIDIA GPU的情况下,CUDA内在提供硬件加速。
我们看到传统的应用,如动力总成控制系统做同样如图一个简单的例子在这儿,你可能在查找表的形式的数据。通过使用一半的存储类型,你可以用4倍,以减少这种2D查找表的内存占用。
然而,要了解有限精度的权衡和范围的一半精度是很重要的。举例来说,在深学习网络的情况下,量化误差为10 ^ -4和一个订单有分析如何影响网络的整体精度。
这是一个简短的介绍,以半精度。请参考下面了解更多关于如何从半在MATLAB和Simulink仿真和生成的C / C ++或CUDA代码链接。万博1manbetx
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。