【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

CPU 上运算比 GPU 还快?美国莱斯大学最新研究克服硬件障碍

  • 2020-03-11
  • 本文字数:2773 字

    阅读完需:约 9 分钟

CPU上运算比GPU还快?美国莱斯大学最新研究克服硬件障碍

美国莱斯大学的计算机科学家们发明了一种在 CPU 上比 GPU 更快地训练深度神经网络的算法 SLIDE,克服了人工智能产业迅速发展的一个主要障碍,证明了在不依赖于图形处理单元(GPU)等专业级加速硬件的情况下,也能够实现对深度学习技术的加速。


根据外媒报道,莱斯大学的计算机科学家们已经克服了人工智能产业迅速发展的一个主要障碍,他们证明了在不依赖于图形处理单元(GPU)等专业级加速硬件的情况下,也能够实现对深度学习技术的加速。这个名为 SLIDE 的算法是第一个在 CPU 上比 GPU 更快地训练深度神经网络的算法。


在奥斯汀召开的 2020 机器学习系统会议MLSys上,来自莱斯大学的计算机科学家们,在来自英特尔公司的合作伙伴的支持下,于 3 月 2 日在奥斯汀会议中心展示了他们的最新研究成果。


当下,为了实现深度学习,许多公司正大力投资图形处理单元(GPU)和其他专业级硬件。如今,亚马逊 Alexa 和苹果 Siri 等智能助理、面部识别、产品推荐系统和其他技术都有深度学习在背后作为支撑。深度学习炙手可热的程度可以举一例说明,作为一手打造该行业金字招牌“特斯拉V100 Tensor Core GPU”芯片的制造商,Nvidia 公司最近的财务报告显示,其 2019 第四季度收入同比增长了 41%。


莱斯大学的研究人员创造了一种可替代 GPU 的节省成本的算法,称为“次线性深度学习引擎”(sub-linear deep learning engine,简称 SLIDE),这种算法只需使用一般通用的中央处理器(CPU),而无需专业级的加速硬件。


“我们的测试表明,SLIDE 是第一个基于 CPU 实现的深度学习智能算法,它的性能可以超越那些依照产业规模的建议采用大型全连接架构,使用 GPU 硬件加速的方法”,Anshumali Shrivastava这样说。这位莱斯大学布朗工程学院的助理教授与研究生Beidi ChenTharun Medini一起开发了该 SLIDE 算法。


SLIDE 不需要依赖于 GPU,因为这种算法从根本上采用了一种完全不同的深度学习方法。深度神经网络训练技术标准的“反向传播”算法需要矩阵乘法,如此繁重的计算量正是适合 GPU 发挥性能的理想场所。然而,通过 SLIDE 算法,Shrivastava、Chen 和 Medini 把神经网络训练转变成为一个可以用哈希表来解决的搜索问题。


与反向传播训练技术相比,这种 SLIDE 算法可以从根本上减少大量的计算开销。Shrivastava 举例说,诸如亚马逊、谷歌以及其他公司使用 GPU 打造的基于云的深度学习服务的顶级平台,一般会使用 8 块“特斯拉 V100”芯片,其费用约为 10 万美元。


莱斯大学计算机科学研究生 Beidi Chen 和 Tharun Medini 参与开发了 SLIDE,这是一种无需依赖图形处理单元对深度神经网络进行训练的算法。


“我们有一个在实验室运行的测试用例,它完全能承载一块 V100 芯片的工作负荷,即一个适用于 GPU 内存的,运行在大型全连接网络中超过 1 亿个参数的计算量”,Shrivastava 说,“我们用谷歌的 TensorFlow 软件包来训练该算法,它只花了 3 个半小时就完成了训练。”


“我们随后证明,新算法甚至可以在一小时内完成该训练,而且并不是运行在 GPU 上,而是运行在 44 核的 xeon-class CPU 上,” Shrivastava 说。


深度学习网络的灵感来自生物学,其核心特征是人工神经元,这些神经元是一小段可以学习并执行特定任务的计算机代码。一个深度学习网络可能包含数百万甚至数十亿这种人工神经元,只要通过对海量数据的学习,这些神经元共同工作就有可能学习并做出与人类水平相当的专家决策。例如,如果一个深度神经网络被训练来识别照片中的物体,当识别一张猫的照片或是识别一辆校车时,它将使用不同的神经元来进行学习。


“你不需要对每个用例的所有神经元都进行训练,” Medini 解释说,“我们是这样想的,如果只挑选相关的神经元,那这就变成了一个搜索问题。因此,从算法上讲,我们的想法就是使用局部敏感哈希算法来避免矩阵乘法的复杂性。”


哈希算法是 20 世纪 90 年代为互联网搜索发明的一种数据索引方法。它使用数字方法将大量信息,例如整个网站所有网页或一本书的所有章节,编码为一串称为哈希散列的数字。哈希表就是记录这些哈希散列值并可以实现快速搜索的列表。


“在 TensorFlow 或 PyTorch 上实现我们的算法是毫无意义的,因为这些软件执行的第一件事就是不管三七二十一先把你正在做的事情转换成一个矩阵乘法问题,” Chen 说。“而这正是我们的算法想要避免的。所以我们是从零开始写我们自己的 C++代码的。”


Shrivastava 说,SLIDE 相对于反向传播的最大优势在于它采用了数据并行的方式。


“我的意思是,通过数据并行,如果我想要训练两个数据实例,比方说一个是一只猫的形象,另一个是公共汽车,他们可能会激活不同的神经元,该 SLIDE 算法可以对这两个实例分别独立地进行更新或训练,” 他说,“这就大大地提高了 CPU 并行性的利用率。”


“另一方面,与 GPU 相比,我们需要更大的存储空间,” 他说,“在主存储器中有一个缓存层次结构,如果你使用时不够小心,可能会遇到一个叫做内存颠簸(cache thrashing)的问题,那样就会发生大量缺页中断。”


Shrivastava 说,他的团队第一次使用SLIDE进行实验时,就发生了严重的内存颠簸,但他们的训练时间仍然与 GPU 的训练时间相当,甚至更快。于是,他、Chen 和 Medini 于 2019 年 3 月在arXiv上发布了初步实验结果,并将他们的代码上传到 GitHub。几周后,英特尔公司主动联系了他们。


“来自英特尔的合作伙伴注意到了我们实验中的缓存问题,” 他说,“他们告诉我们,他们可以与我们进行合作,让这个算法更快地完成训练,之后的事实证明他们是正确的。在他们的帮助下,我们的实验性能又提高了约 50%。”


Shrivastava 说,SLIDE 还远远未达到其最大潜力。


“我们只能算是初尝甜头而已,” 他说,“我们还可以做很多事情来对这个算法进行优化。例如,我们还没有使用矢量化,也没有在 CPU 中使用内置的加速器,比如 Intel Deep Learning Boost 技术。我们还有很多其他的技巧可以让这个算法变得更快。”


Shrivastava 说,SLIDE 的重要性在于,它证明了还有其他方式来实现深度学习。


“我们想要传达的整个信息是,不要被矩阵乘法和 GPU 内存这两个瓶颈所限制住,” Chen 说,“我们的算法可能是第一个击败 GPU 的算法,但我希望它不是最后一个。这个领域需要新的想法,而这正是这次 MLSys 机器学习系统会议的重要意义所在。”


该算法的其他共同作者包括 James Farwell、Sameh Gobriel 和 Charlie Tai,他们都是来自英特尔实验室的成员。该研究还得到了美国国家科学基金会(NSF-1652131, NSF-BIGDATA 1838177)、空军科研办公室(FA9550-18-1-0152)、亚马逊和海军研究办公室的支持。


相关链接和资源:


MLSys 机器学习系统会议文件:


https://www.cs.rice.edu/~as143/Papers/SLIDE_MLSys.pdf


作者介绍:


Jade Boyd,莱斯大学公共事务办公室的科学编辑和新闻与媒体关系副主任。


英文原文:


Deep learning rethink overcomes major obstacle in AI industry


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2020-03-11 09:001878
用户头像
赵钰莹 InfoQ 主编

发布了 870 篇内容, 共 599.0 次阅读, 收获喜欢 2669 次。

关注

评论

发布
暂无评论
发现更多内容

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

EOSdreamer111

学习算法必备的《程序员代码面试指南》免费领取啦!!

小小怪下士

编程 程序员 算法 LeetCode 数据结构与算法

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

鳄鱼视界

由ChatGPT引发的关于AI的一些思考

xiaoboey

AI ChatGPT

打造IM生态,WorkPlus个性定制让企业业务管理再升级

WorkPlus

INFINI 产品更新啦 20230210

极限实验室

elasticsearch 极限实验室 极限网关 infini gateway INFINI Console

微信 API 中调用客服消息接口提示错误返回限制

HoneyMoose

状态机设计中的关键技术

timerring

FPGA

状态机设计中的关键技术

timerring

FPGA

状态机设计中的关键技术

timerring

FPGA

静态导航页设计与开发

AR7

团队管理 导航网站 vue next

ByteHouse:基于ClickHouse的实时数仓能力升级解读

字节跳动数据平台

数据库 大数据 数据分析 Clickhouse 企业号 2 月 PK 榜

如何通过极狐GitLab 平滑落地 Java 增量代码规范?

极狐GitLab

Java DevOps 代码规范 极狐GitLab checkstyle

代码分享 | 情人节表白黑科技

鼎道智联

代码 情人节 爱心代码

自动驾驶过冬,需要点燃“降本增效”的炉火

脑极体

自动驾驶

在 JavaScript 如何下载文件

devpoint

JavaScript Blob download

DNS 原理及大规模高性能监测

郑州埃文科技

DNS

设计模式-组合模式和建筑者模式详解

C++后台开发

数据结构 设计模式 组合模式 后端开发 Linux服务器开发

泼辣修图2023最新版本修图工具功能介绍

茶色酒

泼辣修图2023

架构实战 6 - 电商微服务拆分

架构实战营 「架构实战营」

CrossOver2023永久版虚拟机软件下载

茶色酒

CrossOver2023

微信客服接口的返回数据

HoneyMoose

五分钟实现pdf分页

程序员架构进阶

PDF 2月春节不断更 源码搭建 2月日更 pdfbox

私有化即时通讯软件可以保证员工的通讯安全吗?

WorkPlus

热点面试题:协商缓存和强缓存的理解及区别?

控心つcrazy

JavaScript https 面试题 HTTP 前端面试题

10w+训练标签?成本太高!PaddleNLP情感分析赋能消费“回暖”

飞桨PaddlePaddle

paddle nlp 飞桨

软件开发如何做好需求管理?方法+工具

PingCode

产品经理 管理工具 软件需求管理

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

股市老人

一文读懂 Zebec Chain 的“先行网络” Nautilus 链

西柚子

SpringBoot 三大开发工具,你都用过么?

程序员大彬

springboot

Ruby on rails入门

阿呆

ruby-on-rails

CPU上运算比GPU还快?美国莱斯大学最新研究克服硬件障碍_AI&大模型_JADE BOYD_InfoQ精选文章