0898-08980898
浏览次数:795 时间:2024-11-13 22:33:01
入了深度学习的坑,没有个GPU怎么能带得动,你是不是也发愁过配什么样的GPU?NVIDIA,AMDGPU,IntelXeonPhis,GoogleTPU...各家芯片让人挑花了眼,一个不行还得多买几个,而且越专业的硬件价格就越贵。所以近年来,有人就动了个念头,硬件不行,我改软件还不行吗!2017年,MIT教授NirShavit在研究一个需要借助深度学习重建老鼠大脑图像的项目时,由于不知道如何在图形卡或GPU上编程,于是他选择了CPU。NirShavit没想到,竟然顺利完成了这一研究。Shavit回忆说:“看,我发现只要以合适的方式编程,CPU就可以完成GPU的工作。
”难道未来做深度学习可以不用挑选专门的硬件了?GPU也不是百分百适合深度学习其实,GPU成为深度学习的首选硬件也算是一个巧合。GPU(GraphicsProcessingUnit)也就是图形处理器,顾名思义,这些芯片最初是被设计用来在电子游戏等应用中快速渲染图形的。我们都知道中央处理器CPU具有四到八个复杂的内核,是我们电脑中不可或缺的芯片,可以用来执行各种计算。
GPU则由数百个只能执行特定操作的简单内核组成,但是这些内核可以同时执行操作,而不是一个接一个地执行,从而缩短了完成大量计算所需要的时间。AI研究领域的人们很快就意识到这种大规模并行化也使得GPU非常适合深度学习。像图形渲染一样,深度学习也涉及执行成千上万次的简单数学计算。
2011年,在与芯片制造商英伟达的合作中,谷歌发现在2,000个CPU上训练出来的计算机视觉模型可以区分猫与人,而仅仅在12个GPU上进行训练就可以达到相同的性能。于是,GPU成为了用于模型训练和推理的常用芯片。
但是GPU也不是百分百适合深度学习。一方面,它们不能作为独立芯片来使用。
由于它们能执行的操作类型有限,因此必须依赖于CPU来处理其他操作。另一方面,GPU的高速缓存也非常有限(这里的高速缓存是与芯片处理器最接近的数据存储区域),这意味着大部分数据都存储在芯片之外,并且必须在处理时进行存取。这些来来回回的数据流最终成为了计算的瓶颈,从而限制了GPU运行深度学习算法的速度。用CPU做深度学习,成本低范围广?在MIT教授NirShavit偶然间发现CPU可以完成GPU的工作后,他诞生了创业的想法。
于是他和MIT研究科学家AlexMatveev在2017年合伙创办了一家名为公司NeuralMagic的公司,宣称能通过一种“专有算法”让计算机在不配备专用硬件的前提下,运行复杂的数学函数,并使用更大规模的数据集。官网链接:https://neuralmagic.com/该公司认为这不仅会降低深度学习的成本,还会使AI的使用范围更广。NeuralMagic用修改软件来替代硬件改造。
该公司重新设计了深度学习算法,通过利用芯片自身的大容量可用内存和复杂的内核,使得算法在CPU上能更高效地运行。尽管这种方式失去了由GPU的并行化带来的速度,但据报道,由于它减少了在芯片内外传送数据的需求,从而节省了大致相同的时间。该公司表示,这些算法可以在CPU上实现GPU的速度,但成本低了很多。
NeuralMagic认为,以前没有采用这一方法也是有原因的。首先,这违反了大众普遍的认知。
深度学习需要专用硬件的想法已经根深蒂固,以至于其他方法很容易就被忽略。其次,在行业中应用AI本身还是个相对较新的事物,并且很多公司刚开始寻找更简单的方法来部署深度学习算法。对于NeuralMagic公司来说,目前尚不清楚这样的新方法是否能够成就他们。
该公司的产品正在数10家公司中进行Beta测试,这仅是整个AI行业的很小一部分公司。目前来看,NeuralMagic所提供的服务是否实用还是因公司而异。正如Shavit所说,他们有一个客户是大型的显微镜设备制造商,现在正在尝试使用这种方法来为其显微镜增加AI功能。
因为显微镜已经带有CPU,所以他们不需要增加任何额外的硬件。对于他们来说,使用基于GPU的深度学习模型的设备则体积更大且更耗电。
但对于大部分公司来说,如果要先在专用硬件上训练他们的模型,再使用NeuralMagic的软件将训练后的模型转换为与CPU兼容的格式,就有点多此一举了。Shavit表示这也仅仅是个开始。NeuralMagic计划在将来扩展其产品,以帮助其他公司在CPU上训练AI模型。
他说:“我们相信从现在开始10到20年后,CPU将成为运行机器学习算法的实际架构。”MIT计算机科学与人工智能实验室的研究科学家NeilThompson则不这么确定。他说:“在芯片生产方面,经济确实发生了变化,这将导致更多的专业化。
”此外,尽管NeuralMagic的技术能从现有硬件中获得更高的性能,但基本的硬件改进仍将是继续推动计算向前发展的唯一途径。“这听起来是提高神经网络性能的一种非常好的方法。但我们不仅要改善神经网络,而且要改善整体计算,”Thompson说。关于“无硬件深度学习”,你怎么看?好奇的文摘菌在reddit上逛了一圈,看看大家关于“无硬件深度学习”的看法。
文摘菌发现了一个很直白的楼主,他问道,“NeuralMagic这家公司是骗子吗?是怎么用CPU实现GPU级别的算力的?”评论区的同学表示,“骗子”倒不至于,“他们的背景是多线程计算技术,所以我猜他们使用了大量的近似方法,比如诱导稀疏性、低精度、哈希、压缩等,并自动生成非常高性能的多线程代码。这也可以解释为什么他们要针对推理。
”“但如果你是一个深度学习研究人员,我觉得它可能不会对你非常有用。”他还补充道,“由于架构和软件方面的原因,这些东西通常在GPU上无法很好地运行。这就是为什么现在稀疏图工作负载通常在高性能计算的CPU上运行的原因。
”网友jminuse也表示,GPU在稀疏矩阵上效率较低,因此它们在本质上不如CPU能提供那么多的加速。在这个问题域内是公平的,如果稀疏模型在精度上与稠密模型相等也是公平的。但是如果他们说“我们可以和GPU一样快(如果我们使用的模型不那么精确)”,这就不是一个好的比较。
还有网友称,自己多年来也一直在用CPU训练神经网络,不过他们没有NeuralMagic那么大胆的宣称在所有情况下始终能够以最快的速度运行。
本文来源:乐发lll彩票-www.wyx188.net