GPU的注册主要是NVIDIA®GPU是推动2010年代大深度学习热潮的燃料之一。在处理大量数据(数千或数百万个数据样本)和复杂的网络架构时,GPU可以显著加快训练模型的处理时间。在此之前,今天的许多深度学习解决方案都是不可能的。万博 尤文图斯
是的,GPU很棒,但它们到底是什么?
GPU或图形处理单元最初用于图形(顾名思义)。GPU可以并行执行许多计算,使它们非常擅长处理像素操作等大型简单任务。
与通常有四个或八个强大内核的CPU不同,GPU可以有数百个并行工作的较小内核。每个GPU内核都可以执行简单的计算,但它本身并不十分智能。它的力量来自蛮力;将所有这些内核用于深入学习计算,如卷积、ReLU和池。
这在直觉上应该是有意义的:如果我有一个较小的输入大小,并要求网络执行较少的计算(使用较少的层),那么GPU提供的并行化和加速的机会就没有那么多了。
我能给你的最好建议是看看你是否可以借用一个GPU或注册一些基于云的GPU资源,并测量培训时间的差异。不管怎样,实际测量可能比“预期”或“预测”的好处更有说服力!
我想在这个问题中挑出两个词:“需要”和“快速”。需要意味着需要,这是一个只有你才能回答的问题。管理层是否要求您在紧迫的期限内准备好神经网络投入生产?那当然!你需要一个。如果没有快速的GPU,你正在训练的任何东西都能工作吗?最后所以,这真的取决于你。
现在,你需要一个“快速”的GPU吗?与“需要”一样,这可以追溯到您的实际需求,但我们已经过了技术层面,所以让我们假设您有一定的时间压力,并将此问题视为,“我如何知道我需要哪个GPU?”
与一般的计算机硬件一样,GPU也会随着时间的推移而老化,因此在训练模型时,您需要跟踪当前的研究使用了什么。与上一个问题类似,根据您对这些问题的回答,结果可能会有所不同:
即使你的笔记本电脑也有GPU,但这并不意味着它可以处理深度学习所需的计算。
不久前,我达到了我自己的耐心极限。我有一个深入的学习模型,我正试图运行,这是永远的。我看到我的一个开发人员朋友,我想我会挑选他的大脑,看看问题可能是什么。我们经历了网络的复杂性(基于ResNet Inception的),图像的数量(几十万),以及课程的数量(大约2000)。我们不明白为什么培训会花费超过几个小时的时间。
然后我们谈到了硬件。我提到我使用的是2014年左右的特斯拉K40,他真的开始大笑。这很尴尬。而且有点粗鲁。但一旦他厌倦了硬件羞辱我,他就让我使用他的。随之而来的是速度的提高,整个国家都实现了和平。这个故事的寓意是,硬件的进步很快分享泰坦X的朋友才是真正的朋友。
原始型号(50节课):12.6小时,Acc:66.7%
小型模型(8节课):90分钟,Acc:83.16%
原始型号(50节课):2.7小时,Acc:67.8%
小型模型(8级):26分29秒,Acc 80%
需要注意的是:两个测试都启用了用于监视和屏幕截图目的的训练图。班级的数量不是罪魁祸首;这是因为使用更少的类使用更少的输入样本。对培训时间有实际影响的部分是每堂课的数据量。
5120
4608
2944
价格会随着硬件的老化而下降,所以尽管我们之前嘲笑过我的特斯拉K40的故事,但它是500美元。如果你没有钱,不要被最新和最好的产品所蒙蔽。每年,GPU制造商都会继续生产出我们见过的最快的GPU,这将使旧型号更不受欢迎和更便宜。事实上,就拿它来说吧看看RTX2080,不到1千美元的小GPU还不错。
好消息是你还有选择。
首先:云资源
下一步:为CPU优化
您可以运行多核CPU培训。您仍然可以从多个CPU核上的低性能GPU中获益,但它们总比没有好。
除此之外,您还可以切换算法。您可以从网络执行“激活”操作,而不是进行训练。Gabriel Ha在其关于在MATLAB中使用神经网络进行特征提取的视频中谈到了这一点。您还可以按照迁移学习往往比从头开始的培训花费更少的时间。您可以利用先前培训中学习的功能,并关注网络中的一些后续功能,以了解新数据集的独特功能。
最后:借用一个GPU,然后用CPU进行测试
假设您已经成功地训练了您的网络;CPU在推理方面工作得非常好!与GPU相比,速度差异变得更加易于管理,并且我们已经改进了这些网络在CPU上的推理性能。
在一个位置查找所有列。