在张量流中利用高精度gpu

kpi*_*pie 5 python hardware tensorflow

嗨,我正在阅读张量流使用GPU页面,我想知道gpu精度性能是否是张量流量的一个因素.例如,给定一台带有两张卡的机器,

游戏gpu

+

工作站gpu

是否有任何实现可以提供工作站卡的更高精度性能可以克服较慢的时钟速度?

我不确定这些情况是否会在训练后或其他地方的梯度体面或网络性能的背景下存在,但我希望获得有关该主题的更多信息!

提前致谢.

McA*_*gus 5

TL; DR

事实恰恰相反.TensorFlow等框架不太需要更高精度的计算.这是由于较慢的训练和较大的模型(更多的ram和磁盘空间).

长版

神经网络实际上受益于使用较低精度的表示.本文是对该主题的一个很好的介绍.

我们探索的关键发现是深度神经网络可以使用低精度定点算法进行训练,前提是在定点数运算时应用随机舍入方案.

它们使用16位固定点数而不是高得多的进动32位浮点数(这里有更多关于它们差异的信息).

以下图片来自该论文.它显示了不同舍入方案的测试误差以及专用于定点表示的整数部分的位数.如您所见,实线红色和蓝色线(16位固定)与黑线(32位浮点)具有非常相似的误差.

在此输入图像描述

降低精度的主要好处/驱动因素是计算成本和权重存储.因此,较高精度的硬件不会提供足够的精度增加以降低计算速度的成本.

我认为这样的研究是神经网络特定处理硬件规范背后的一大推动力,例如Google的新TPU.尽管大多数GPU不支持16位浮点数,但谷歌正在努力支持它.