选择使用GeForce还是Quadro GPU来通过TensorFlow进行机器学习

45

如果使用Quadro GPU和GeForce GPU,在TensorFlow性能上是否有明显差异?

例如,是否使用双精度操作或其他可能导致GeForce卡性能下降的东西?

我正准备购买用于TensorFlow的GPU,并想知道是否可以使用GeForce。谢谢并感谢您的帮助。


8
这绝对不是基于个人观点的。 - Goddard
5
这个问题不是基于观点的,TensorFlow是一个特定的应用程序,这些卡之间存在着具体的硬件差异。这个问题甚至指出了其中一个主要的区别,并问编程库是否使用该技术。 - user359135
1个回答

46
我认为GeForce TITAN非常出色,并且在机器学习(ML)中被广泛使用。在大多数情况下,ML中单精度就足够了。
更多关于GTX系列(目前是GeForce 10)性能的详细信息可以在维基百科这里找到。
网络上的其他来源也支持这一说法。以下是来自2013年doc-ok的一句引用(永久链接)(永久链接)
“作为比较,一个价格为700美元的入门级Quadro 4000比价格为530美元的高端GeForce GTX 680慢得多,至少根据我使用几个Vrui应用程序进行的测量,而最接近GeForce GTX 680的性能等效产品是Quadro 6000,价格高达3660美元。”

针对机器学习,包括深度学习,有一个 Kaggle论坛讨论专门讨论这个主题(2014年12月,永久链接),其中涵盖了Quadro、GeForce和Tesla系列之间的比较:

Quadro GPU不适用于科学计算,需要使用Tesla GPU。Quadro卡是为加速CAD而设计的,因此无法帮助您训练神经网络。它们可能可以用于该目的,但这样会浪费金钱。Tesla卡用于科学计算,但它们往往非常昂贵。好消息是,与GeForce卡相比,Tesla卡提供的许多功能对于训练神经网络并不是必需的。例如,Tesla卡通常具有ECC内存,这很好但不是必需的。它们还具有更好的双精度计算支持,但单精度足以进行神经网络训练,并且在这方面的性能与GeForce卡大致相同。Tesla卡的一个有用功能是它们往往具有比可比较的GeForce卡更多的RAM。如果您计划训练更大的模型(或使用基于FFT的卷积等RAM密集型计算),则始终欢迎更多的RAM。如果您在Quadro和GeForce之间选择,请选择GeForce。如果您在Tesla和GeForce之间选择,请选择GeForce,除非您有很多钱并且确实需要额外的RAM。

注意:请注意您正在使用的平台以及其默认精度。例如,这里在CUDA论坛中(2016年8月),一位开发人员拥有两个Titan X(GeForce系列)并且没有在任何R或Python脚本中看到性能提升。这是由于R被默认设置为双精度,并且在新的GPU上性能比他们的CPU(Xeon处理器)更差。Tesla GPU被认为是双精度最佳性能。在这种情况下,将所有数字转换为float32可以从一个TITAN X上的nvBLAS 0.324s与gmatrix + float32s的12.437s的性能提高(请参见第一个基准测试)。引用来自这个论坛讨论的话:

Titan X的双精度性能相当低。


9
Quadro GPUs不适用于科学计算,而Tesla GPUs则适用。+1 - Guy Coder
7
但是Quadro卡拥有24GB的GPU内存,这对未来的深度学习模型非常有帮助。为什么没有人提及呢?或者它实际上太慢了,完全不值得使用? - harveyslash
3
我知道,就速度而言,Quadro显卡并不是最好的选择,但是通常来说,深度学习模型的限制因素更多地是你可以存储在显卡内存中的数据量。 一个处理更大训练批次的较慢GPU难道不能更快地进行训练吗? - PhilMacKay
1
@Guy Coder,不完全同意。重要的是底层芯片,在特斯拉、Quadro或GeForce之间通常完全相同。特斯拉可能拥有的唯一优势是更多的RAM和ECC RAM。 - beginner_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接