在tensorflow中利用高精度gpus
Leveraging high precision gpu's in tensor flow
您好,我正在阅读有关张量流的 using GPUs page,我想知道 gpu 精度性能是否曾经是张量流的一个因素。例如给定一台有两张卡的机器,
gaming gpu
+
workstation gpu
是否有任何实现可以提供工作站卡更高精度的性能来克服较慢的时钟速度?
我不确定这些情况是否会存在于训练后的梯度体面或网络性能或其他地方,但我很想获得有关该主题的更多信息!
提前致谢。
TL;DR
实际情况恰恰相反。 TensorFlow 等框架不太需要更高精度的计算。这是由于训练速度较慢和模型较大(更多 ram 和磁盘 space)。
长版
神经网络实际上受益于使用较低精度的表示。 This paper很好地介绍了主题。
The key finding of our exploration is that deep neural networks can
be trained using low-precision fixed-point arithmetic, provided
that the stochastic rounding scheme is applied while operating on
fixed-point numbers.
他们使用 16 位定点数而不是更高进动的 32 位浮点数(更多关于它们差异的信息 here)。
下图取自那篇论文。它显示了不同舍入方案的测试误差以及专用于定点表示的整数部分的位数。如您所见,红色和蓝色实线(16 位固定)与黑色线(32 位浮点)有非常相似的错误。
降低精度的主要 benefit/driver 是计算成本和权重存储。因此,更高精度的硬件不会提供足够的精度提高来消除较慢计算的成本。
我认为像这样的研究是神经网络特定处理硬件规范背后的一个重要驱动因素,例如 Google's new TPU. Even though most GPUs don't support 16 bit floats yet Google is working to support it。
您好,我正在阅读有关张量流的 using GPUs page,我想知道 gpu 精度性能是否曾经是张量流的一个因素。例如给定一台有两张卡的机器,
gaming gpu
+
workstation gpu
是否有任何实现可以提供工作站卡更高精度的性能来克服较慢的时钟速度?
我不确定这些情况是否会存在于训练后的梯度体面或网络性能或其他地方,但我很想获得有关该主题的更多信息!
提前致谢。
TL;DR
实际情况恰恰相反。 TensorFlow 等框架不太需要更高精度的计算。这是由于训练速度较慢和模型较大(更多 ram 和磁盘 space)。
长版
神经网络实际上受益于使用较低精度的表示。 This paper很好地介绍了主题。
The key finding of our exploration is that deep neural networks can be trained using low-precision fixed-point arithmetic, provided that the stochastic rounding scheme is applied while operating on fixed-point numbers.
他们使用 16 位定点数而不是更高进动的 32 位浮点数(更多关于它们差异的信息 here)。
下图取自那篇论文。它显示了不同舍入方案的测试误差以及专用于定点表示的整数部分的位数。如您所见,红色和蓝色实线(16 位固定)与黑色线(32 位浮点)有非常相似的错误。
降低精度的主要 benefit/driver 是计算成本和权重存储。因此,更高精度的硬件不会提供足够的精度提高来消除较慢计算的成本。
我认为像这样的研究是神经网络特定处理硬件规范背后的一个重要驱动因素,例如 Google's new TPU. Even though most GPUs don't support 16 bit floats yet Google is working to support it。