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

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

入了深度学习的坑,没有个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/

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
13天前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
1月前
|
监控 异构计算
Jetson 学习笔记(八):htop查看CPU占用情况和jtop监控CPU和GPU
在NVIDIA Jetson平台上使用htop和jtop工具来监控CPU、GPU和内存的使用情况,并提供了安装和使用这些工具的具体命令。
101 0
|
20天前
|
机器学习/深度学习 人工智能 并行计算
CPU和GPU的区别
【10月更文挑战第14天】
|
20天前
|
机器学习/深度学习 人工智能 缓存
GPU加速和CPU有什么不同
【10月更文挑战第20天】GPU加速和CPU有什么不同
39 1
|
2月前
|
机器学习/深度学习 测试技术 PyTorch
深度学习之测量GPU性能的方式
在深度学习中,测量GPU性能是一个多方面的任务,涉及运行时间、吞吐量、GPU利用率、内存使用情况、计算能力、端到端性能测试、显存带宽、框架自带性能工具和基准测试工具等多种方法。通过综合使用这些方法,可以全面评估和优化GPU的性能,提升深度学习任务的效率和效果。
218 2
|
2月前
|
人工智能 自然语言处理 文字识别
MinerU-大语言语料处理神器,CPU/GPU均可跑,开源免费“敲”好用
在7月4日举行的WAIC 2024科学前沿主论坛上,书生·浦语2.5正式发布,面向大模型研发与应用的全链条工具体系同时迎来升级。
MinerU-大语言语料处理神器,CPU/GPU均可跑,开源免费“敲”好用
|
3月前
|
持续交付 测试技术 jenkins
JSF 邂逅持续集成,紧跟技术热点潮流,开启高效开发之旅,引发开发者强烈情感共鸣
【8月更文挑战第31天】在快速发展的软件开发领域,JavaServer Faces(JSF)这一强大的Java Web应用框架与持续集成(CI)结合,可显著提升开发效率及软件质量。持续集成通过频繁的代码集成及自动化构建测试,实现快速反馈、高质量代码、加强团队协作及简化部署流程。以Jenkins为例,配合Maven或Gradle,可轻松搭建JSF项目的CI环境,通过JUnit和Selenium编写自动化测试,确保每次构建的稳定性和正确性。
61 0
|
5天前
|
机器学习/深度学习 人工智能 测试技术
深度学习在图像识别中的应用与挑战
本文探讨了深度学习技术,尤其是卷积神经网络(CNN)在图像识别任务中的最新进展和面临的主要挑战。通过分析不同的网络架构、训练技巧以及优化策略,文章旨在提供一个全面的概览,帮助研究人员和实践者更好地理解和应用这些技术。
32 9
|
2天前
|
机器学习/深度学习 分布式计算 并行计算
深度学习在图像识别中的应用与挑战
本文深入探讨了深度学习技术在图像识别领域的应用,分析了当前主流的卷积神经网络(CNN)架构,并讨论了在实际应用中遇到的挑战和可能的解决方案。通过对比研究,揭示了不同网络结构对识别准确率的影响,并提出了优化策略。此外,文章还探讨了深度学习模型在处理大规模数据集时的性能瓶颈,以及如何通过硬件加速和算法改进来提升效率。
|
3天前
|
机器学习/深度学习 人工智能 计算机视觉
深度学习在图像识别中的应用与挑战
【10月更文挑战第38天】本文将深入探讨深度学习如何在图像识别领域大放异彩,并揭示其背后的技术细节和面临的挑战。我们将通过实际案例,了解深度学习如何改变图像处理的方式,以及它在实际应用中遇到的困难和限制。

热门文章

最新文章