前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >听说用CPU就能做深度学习!再也不用攒钱买GPU了?

听说用CPU就能做深度学习!再也不用攒钱买GPU了?

作者头像
大数据文摘
发布2020-07-14 16:22:43
1.6K0
发布2020-07-14 16:22:43
举报
文章被收录于专栏:大数据文摘大数据文摘

大数据文摘出品

作者:牛婉杨

入了深度学习的坑,没有个GPU怎么能带得动,你是不是也发愁过配什么样的GPU?NVIDIA,AMD GPU,Intel Xeon Phis,Google TPU...各家芯片让人挑花了眼,一个不行还得多买几个,而且越专业的硬件价格就越贵。

所以近年来,有人就动了个念头,硬件不行,我改软件还不行吗!

2017年,MIT教授 Nir Shavit 在研究一个需要借助深度学习重建老鼠大脑图像的项目时,由于不知道如何在图形卡或GPU上编程,于是他选择了CPU。

Nir Shavit

没想到,竟然顺利完成了这一研究。Shavit回忆说:“看,我发现只要以合适的方式编程,CPU就可以完成GPU的工作。”

难道未来做深度学习可以不用挑选专门的硬件了?

GPU也不是百分百适合深度学习

其实,GPU成为深度学习的首选硬件也算是一个巧合。GPU(Graphics Processing Unit)也就是图形处理器,顾名思义,这些芯片最初是被设计用来在电子游戏等应用中快速渲染图形的。

我们都知道中央处理器CPU具有四到八个复杂的内核,是我们电脑中不可或缺的芯片,可以用来执行各种计算。GPU则由数百个只能执行特定操作的简单内核组成,但是这些内核可以同时执行操作,而不是一个接一个地执行,从而缩短了完成大量计算所需要的时间。

AI 研究领域的人们很快就意识到这种大规模并行化也使得 GPU 非常适合深度学习。像图形渲染一样,深度学习也涉及执行成千上万次的简单数学计算。

2011年,在与芯片制造商英伟达的合作中,谷歌发现在 2,000 个 CPU 上训练出来的计算机视觉模型可以区分猫与人,而仅仅在 12 个 GPU 上进行训练就可以达到相同的性能。于是,GPU成为了用于模型训练和推理的常用芯片。

但是GPU也不是百分百适合深度学习。一方面,它们不能作为独立芯片来使用。由于它们能执行的操作类型有限,因此必须依赖于 CPU 来处理其他操作。另一方面,GPU的高速缓存也非常有限 (这里的高速缓存是与芯片处理器最接近的数据存储区域), 这意味着大部分数据都存储在芯片之外,并且必须在处理时进行存取。这些来来回回的数据流最终成为了计算的瓶颈,从而限制了 GPU 运行深度学习算法的速度。

用CPU做深度学习,成本低范围广?

在MIT教授 Nir Shavit偶然间发现CPU可以完成GPU的工作后,他诞生了创业的想法。于是他和MIT研究科学家 Alex Matveev 在 2017 年合伙创办了一家名为公司Neural Magic的公司,宣称能通过一种“专有算法”让计算机在不配备专用硬件的前提下,运行复杂的数学函数,并使用更大规模的数据集。

官网链接:

https://neuralmagic.com/

该公司认为这不仅会降低深度学习的成本,还会使AI的使用范围更广。

Neural Magic用修改软件来替代硬件改造。该公司重新设计了深度学习算法,通过利用芯片自身的大容量可用内存和复杂的内核,使得算法在 CPU 上能更高效地运行。尽管这种方式失去了由 GPU 的并行化带来的速度,但据报道,由于它减少了在芯片内外传送数据的需求,从而节省了大致相同的时间。

该公司表示,这些算法可以在CPU上实现GPU的速度,但成本低了很多。

Neural Magic认为,以前没有采用这一方法也是有原因的。首先,这违反了大众普遍的认知。深度学习需要专用硬件的想法已经根深蒂固,以至于其他方法很容易就被忽略。其次,在行业中应用 AI 本身还是个相对较新的事物,并且很多公司刚开始寻找更简单的方法来部署深度学习算法。

对于Neural Magic公司来说,目前尚不清楚这样的新方法是否能够成就他们。该公司的产品正在数10家公司中进行Beta测试,这仅是整个AI行业的很小一部分公司。

目前来看,Neural Magic所提供的服务是否实用还是因公司而异。

正如Shavit所说,他们有一个客户是大型的显微镜设备制造商,现在正在尝试使用这种方法来为其显微镜增加 AI 功能。因为显微镜已经带有 CPU,所以他们不需要增加任何额外的硬件。对于他们来说,使用基于GPU的深度学习模型的设备则体积更大且更耗电。

但对于大部分公司来说,如果要先在专用硬件上训练他们的模型,再使用 Neural Magic 的软件将训练后的模型转换为与 CPU 兼容的格式,就有点多此一举了。

Shavit表示这也仅仅是个开始。Neural Magic 计划在将来扩展其产品,以帮助其他公司在 CPU 上训练 AI 模型。他说:“我们相信从现在开始10到20年后,CPU 将成为运行机器学习算法的实际架构。”

MIT计算机科学与人工智能实验室的研究科学家Neil Thompson则不这么确定。他说:“在芯片生产方面,经济确实发生了变化,这将导致更多的专业化。” 此外,尽管 Neural Magic 的技术能从现有硬件中获得更高的性能,但基本的硬件改进仍将是继续推动计算向前发展的唯一途径。

“这听起来是提高神经网络性能的一种非常好的方法。但我们不仅要改善神经网络,而且要改善整体计算,”Thompson说。

关于“无硬件深度学习”,你怎么看?

好奇的文摘菌在reddit上逛了一圈,看看大家关于“无硬件深度学习”的看法。文摘菌发现了一个很直白的楼主,他问道,“Neural Magic这家公司是骗子吗?是怎么用CPU实现GPU级别的算力的?”

评论区的同学表示,“骗子”倒不至于,“他们的背景是多线程计算技术,所以我猜他们使用了大量的近似方法,比如诱导稀疏性、低精度、哈希、压缩等,并自动生成非常高性能的多线程代码。这也可以解释为什么他们要针对推理。”

“但如果你是一个深度学习研究人员,我觉得它可能不会对你非常有用。”

他还补充道,“由于架构和软件方面的原因,这些东西通常在GPU上无法很好地运行。这就是为什么现在稀疏图工作负载通常在高性能计算的CPU上运行的原因。”

网友jminuse也表示,GPU在稀疏矩阵上效率较低,因此它们在本质上不如CPU能提供那么多的加速。在这个问题域内是公平的,如果稀疏模型在精度上与稠密模型相等也是公平的。但是如果他们说“我们可以和GPU一样快(如果我们使用的模型不那么精确)”,这就不是一个好的比较。

还有网友称,自己多年来也一直在用CPU训练神经网络,不过他们没有Neural Magic那么大胆的宣称在所有情况下始终能够以最快的速度运行。

对此,你怎么看?欢迎各位技术大大在评论区分享经验~

更多相关讨论详见:

https://www.reddit.com/r/MachineLearning/comments/dtircc/d_is_neural_magic_a_scam/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GPU也不是百分百适合深度学习
  • 用CPU做深度学习,成本低范围广?
  • 关于“无硬件深度学习”,你怎么看?
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档