0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何选择高效的深度学习硬件?剖析GPU、FPGA、ASIC和DSP

电子工程师 来源:未知 作者:李倩 2018-11-19 10:20 次阅读

深度学习最近取得的成功势不可挡:从图像分类和语音识别到图片标注、理解视觉场景、视频概述、语言翻译、绘画,甚至是生成图像、语音、声音和音乐!随着我们的家变得越来越智能,你会发现许多设备都会需要连续地使用深度学习应用、收集和处理数据。

所以我们需要新的硬件,一个比 Intel Xeon 所驱动的服务器更加高效的硬件。一个英特尔服务器 CPU 可能会消耗 100-150 瓦功率并需要一个有着冷却装置的超大系统来支持其性能的正常发挥。

还有哪些其它的选择?

图形处理器GPU 现场可编程的逻辑器件、FPGA(现场可编程门阵列/Field-Programmable Gate Array) 定制芯片、特殊应用型集成电路ASIC、[**芯片**](http://pubads.g.doubleclick.net/gampad/clk?id=132505090&iu=/122049170/TEXT_AD)系统或 [**SoC**](http://pubads.g.doubleclick.net/gampad/clk?id=132505090&iu=/122049170/TEXT_AD) 数字信号处理器、DSP 未来的、外星人发明的、由新的物理定律所发展出的技术

GPU

GPU 最早是为生成基于多边形网络的计算机图形而设计的。在最近几年,由于近来计算机游戏和图形引擎领域的需求和复杂度需要,GPU 积累了强大的处理性能。英伟达是 GPU 领域的领军者,能生产有数千个内核的处理器,这些内核的设计工作效率可以达到 100%。实际上这些处理器也非常适用于运行神经网络和矩阵乘法方面的计算。注意,矩阵向量的乘法运算被认为是「尴尬的并行(embarrassingly parallel)」,因为它可以通过简单的算法扩展被并行化(它们缺少分支因而可以避免缓存信息丢失)。

Titan X 是训练深度学习模型的一个最得力的助手。它拥有 3500 多个内核,每秒能够执行超过 11 万亿次浮点运算。更多测试性能方面的信息请参考这里(https://github.com/soumith/convnet-benchmarks)。

由于 GPU 的超多核(~3500 个,对比 Intel Xeon 的 16 个/ Xeon Phi 的 32 个),英特尔的 CPU 和英伟达的 GPU 之间的竞争助长了后者的发展,使其 GPU 比 CPU 在时钟频率快 2~3 倍。GPU 核是更为复杂(分支预测和流程)的 CPU 核的流线型版本,但是前者许多都支持更高级别的并行运算,因而拥有更好的性能。

这种 GPU 很擅长训练深度学习系统——卷积神经网络或者循环神经网络。它们可以在仅仅几毫秒之内就运行一批 128 或 256 张图像。但是它们同时也会消耗大约 250 瓦的功率并且需要一个完整的计算机来支持运行,这又消耗了额外的 150 瓦的功率。一个高性能的 GPU 系统至少需要消耗 400 瓦的功率。

这并不适用于增强现实眼镜、无人机手机、移动设备和小型机器人。甚至对于未来的消费级自动驾驶汽车来说也是不可接受的。

英伟达正在致力于开发效率更高的器件,比如 Tegra TX1、TX2(深度神经网络需要 12 瓦的能耗和每秒 ~100 千兆次浮点运算的性能,TX2 需要的更多)和更强大的 Drive PX(250 瓦,与一个 Titan X 的消耗量差不多)。

这里还要注意,在自动驾驶汽车和智能摄像机中,直播视频是必要的而图像批处理是不可能实现的,因为视频需要针对及时响应进行实时处理。

一般 GPU 的水平大约是 5 G-flops/s per W。如果我们想在移动系统中部署深度学习解决方案,那我们还需要更好的方法!

FPGA

Xilinx 等公司的现代 FPGA 器件就是电子元器件中的乐高。我们可以使用其电路作为模块来构建出整个定制微处理器和复杂的异构系统。而在最近几年,FPGA 开始生产出越来越多的乘累加计算模块。这些 DSP 模块正如其名,能够执行乘法运算并可以被排列到一起来进行一定量的并行运算。

我们将 FPGA 应用于神经网络的研究历史已有 10 年时间。我们的工作始于来自纽约大学的 Yann LeCun 的开创性工作,尤其是 Clement Farabet。我们的协同合作制造出了 NeuFlow,它是一个复杂的、用于运行神经网络的数据流处理器。

从 2011 年到 2015 年早期,我们完善了一个全新的设计——nn-X。这项工作是由 Berin Martini 和 Vinayak Gokhale(来自我们的办公室)领导的。这套系统可以在 4 瓦的功率电力预算下实现 200 G-ops/s 的速度,也即 50 G-ops/s/W,这个结果几乎是 GPU 性能的 10 倍。

但是 nn-X 有两个很大的问题:

当固定的卷积引擎(convolutional engine)未被使用时其利用率会很低

高内存带宽

第一个问题是由于 nn-X 采用了固定的 10x10 卷积引擎,而当它在执行 3x3 卷积时,只有 9% 的 DSP 单元得到了有效利用。这一点后来是通过将一个 12x12 的网格分为 4x4 单元的 3x3 卷积器而得以解决。不幸的是该系统还需要高内存带宽,因为它并没有使用数据缓存且需要从内存中读取输入并直接将结果保存在内存中。像这样的 nn-X 不能进行扩展,且其 DPS 单元的利用率永远不会超过 75–80%。

设计方面有类似限制的系统也会有性能方面的限制。

我们所需的是一个带有数据缓存的系统,它可以使用任意组 DPS 单元来有效地(近乎 100% 地)利用资源。这种系统有 Microsoft Catapult 和我们的 SnowFlake 加速器,后者的利用率几乎可以达到 100%(更多内容即将呈现)。

微软使用 Altera 器件来实现创纪录的深度神经网络处理性能。不幸的是它并不是一个商业化的系统,而是一项微软的数据中心资产,因而还未对公众开放。中国的科技巨头企业百度也加入了这一队列。

定制 SoC

高通AMDARM、英特尔和英伟达都在致力于将定制化芯片整合进它们的现有解决方案中。Nervana 和 Movidius(目前都在英特尔旗下)已经或者说正在开发集合方案。SoC 在同一技术节点上所能提供的性能大约是 FPGA 系统的 10 倍,在特定结构中还要更高。由于 SoC 和处理器所需的功率变得越来越低,其区别将来自于新的集合内存系统和带宽对外部存储器的有效利用。在这一领域,整合为 systems-on-a-package(SOP)的 3D memory 至少可以节约 10 倍的功率。

DSP

DSP 已经存在了很长一段时间,它最初是用来执行矩阵算法的。但到目前为止,DSP 并没能真正提供任何有用的性能或是可以与 GPU 相匹敌的器件。为什么会这样呢?其主要原因就是核数量。DSP 主要用于电信系统,且无需拥有 16 个或 32 个以上的核。其工作负载并不需要这么多。相反,GPU 负载在近 10~15 年间一直在增加,因此它需要更多的核。最终,大约从 2006 年开始,英伟达的 GPU 在性能上就超过了 DSP。

Texas Instruments 公司还在开发 DSP,但是我们从中并没有看到任何有竞争力的性能。且许多 DSP 也已经被 FPGA 取代了。

Qualcomm 在它们的 SoC 中使用 DSP,并且其性能会有所加速,但是目前还没有足够多的信息来将它与其它的解决方案进行比较。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593173
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10442

    浏览量

    206545
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119906

原文标题:剖析GPU、FPGA、ASIC和DSP,如何选择高效的深度学习硬件?

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    相比GPU和GPP,FPGA深度学习的未来?

    相比GPU和GPP,FPGA在满足深度学习硬件需求上提供了具有吸引力的替代方案。凭借流水线并行计算的能力和
    发表于 07-28 12:16 7368次阅读

    到底什么是ASICFPGA

    ASICFPGA的区别,还有它们和CPU、GPU之间的区别。 ASICFPGA,本质上都是芯片。AISC是全定制芯片,功能写死,没办法
    发表于 01-23 19:08

    FPGA深度学习应用中或将取代GPU

    ,这使得它比一般处理器更高效。但是,很难对 FPGA 进行编程,Larzul 希望通过自己公司开发的新平台解决这个问题。 专业的人工智能硬件已经成为了一个独立的产业,但对于什么是深度
    发表于 03-21 15:19

    FPGA 超越 GPU,问鼎下一代深度学习主引擎

    的合著者之一,说:“深度学习是AI中最令人兴奋的领域,因为我们已经看到了深度学习带来的巨大进步和大量应用。虽然AI 和DNN 研究倾向于使用 GPU
    发表于 04-27 14:10

    【详解】FPGA深度学习的未来?

    学习硬件需求上提供了具有吸引力的替代方案。凭借流水线并行计算的能力和高效的能耗,FPGA将在一般的深度
    发表于 08-13 09:33

    软件无线电设计中选择ASICFPGADSP需要考虑哪些因素?

    ASICFPGADSP的应用领域呈现相互覆盖的趋势,使设计人员必须在软件无线电结构设计中重新考虑器件选择策略问题。从可编程性、集成度、开发周期、性能和功率五个方面探究,你会发现软件
    发表于 08-16 07:51

    软件无线电设计中ASICFPGADSP该怎么选择

    ASICFPGADSP的应用领域呈现相互覆盖的趋势,使设计人员必须在软件无线电结构设计中重新考虑器件选择策略问题。
    发表于 09-02 07:58

    深度学习推理和计算-通用AI核心

    摘要与深度学习算法的进步超越硬件的进步,你如何确保算法明天是一个很好的适合现有的人工智能芯片下发展?,这些人工智能芯片大多是为今天的人工智能算法算法进化,这些人工智能芯片的许多设计都可能成为甚至在
    发表于 11-01 09:28

    DSPFPGA有哪些异同

    硬件DSP:是ASIC,如同CPU/GPU一样,适合量产,降低成本,缺点是(硬件)设计一旦确定,便不易于修改。
    发表于 07-28 09:06

    MCU、DSPGPU、MPU、CPU、DPU、FPGAASIC、SOC、ECU、NPU、TPU、VPU、APU、BPU、ECU、FPU、EPU、这些主控异同点有哪些?

    MCU、DSPGPU、MPU、CPU、DPU、FPGAASIC、SOC、ECU、NPU、TPU、VPU、APU、BPU、ECU、FPU、EPU、这些主控异同点有哪些?
    发表于 12-17 17:07

    FPGAASIC/GPU NN实现进行定性的比较

    的快速发展以及新一代设备的不断出现也时刻改变着竞争格局。二、为什么选择FPGA?如图所示神经网络实现的硬件架构范例。GPU是具有高灵活性的通用硬件
    发表于 02-08 15:26

    什么是深度学习?使用FPGA进行深度学习的好处?

    深度学习计算而优化的 ASIC 被推向市场,GPU 配备了专门用于深度学习的电路。基于这些,不
    发表于 02-17 16:56

    深度学习方案ASICFPGAGPU比较 哪种更有潜力

    几乎所有深度学习的研究者都在使用GPU,但是对比深度学习硬鉴方案,ASIC
    发表于 02-02 15:21 1w次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>方案<b class='flag-5'>ASIC</b>、<b class='flag-5'>FPGA</b>、<b class='flag-5'>GPU</b>比较 哪种更有潜力

    GPU和GPP相比谁才是深度学习的未来

    相比GPU和GPP,FPGA在满足深度学习硬件需求上提供了具有吸引力的替代方案。凭借流水线并行计算的能力和
    发表于 10-18 15:48 1337次阅读

    GPU深度学习中的应用与优势

    人工智能的飞速发展,深度学习作为其重要分支,正在推动着诸多领域的创新。在这个过程中,GPU扮演着不可或缺的角色。就像超级英雄电影中的主角一样,GPU
    的头像 发表于 12-06 08:27 714次阅读
    <b class='flag-5'>GPU</b>在<b class='flag-5'>深度</b><b class='flag-5'>学习</b>中的应用与优势