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

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

例如,它是否使用双精度运算或其他可能导致GeForce卡性能下降的因素?

我正打算购买一个用于TensorFlow的GPU,想知道GeForce是否合适。谢谢你们的帮助,我非常感激。


回答:

我认为GeForce TITAN非常出色,并且在机器学习(ML)领域被广泛使用。在大多数情况下,机器学习使用单精度就足够了。

关于GTX系列(目前是GeForce 10)的性能,可以在维基百科上找到更多详细信息,在这里

网络上其他来源也支持这一说法。这里引用doc-ok在2013年的评论永久链接)。

作为对比,一款“入门级”的700美元的Quadro 4000在我的几款Vrui应用程序的测试中明显慢于530美元的高端GeForce GTX 680,而我找到的与GeForce GTX 680性能最接近的Quadro 6000则高达3660美元。

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

Quadro GPU不是为科学计算设计的,Tesla GPU才是。Quadro卡是为加速CAD设计而设计的,所以它们不会帮助你训练神经网络。虽然它们可能也能用于这个目的,但这是在浪费钱。

Tesla卡是为科学计算设计的,但它们往往价格昂贵。好消息是,Tesla卡相较于GeForce卡提供的许多功能对于训练神经网络来说并不是必需的。

例如,Tesla卡通常具有ECC内存,这很好但并非必需。它们还对双精度计算有更好的支持,但对于神经网络训练来说,单精度已经足够,而且在单精度计算上,它们的性能与GeForce卡大致相同。

Tesla卡的一个有用功能是它们通常比可比的GeForce卡拥有更多的RAM。如果你计划训练更大的模型(或使用RAM密集型计算如基于FFT的卷积),更多的RAM总是受欢迎的。

如果你在Quadro和GeForce之间选择,肯定应该选择GeForce。如果你在Tesla和GeForce之间选择,除非你有大量的资金并且真正需要额外的RAM,否则选择GeForce。

注意:请注意你使用的平台及其默认的精度。例如,在CUDA论坛(2016年8月)中,一位开发者拥有两张Titan X(GeForce系列),但在他们的R或Python脚本中没有看到任何性能提升。这被诊断为R默认使用双精度的结果,并且在新GPU上的性能比他们的CPU(Xeon处理器)还要差。Tesla GPU被认为是双精度性能最好的。在这种情况下,将所有数字转换为float32可以将性能从使用nvBLAS时的12.437秒提升到使用gmatrix+float32s时的0.324秒(见第一个基准测试)。引用自这个论坛讨论:

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注