硬件加速器为人工智能应用服务

Hardware accelerators serve AI applications

硬件加速器(Hardware accelerators)是用于执行特定任务(如对对象进行分类)的专用设备,越来越多地嵌入到为各种人工智能应用服务的片上系统(SoC)中。有助于创建紧密集成的定制处理器,提供更低的功耗、更低的延迟、数据重用和数据局部性。
首先,有必要对人工智能算法进行硬件加速。人工智能加速器是专门为加速人工智能任务而设计的;以传统处理器无法实现的方式执行特定任务。

此外,没有一个处理器能够满足人工智能应用的多样化需求,这里,集成到人工智能芯片中的硬件加速器为特定的工作负载提供了性能、电源效率和延迟优势。这就是为什么基于人工智能加速器的定制架构开始挑战人工智能应用程序中cpu和gpu的使用。

人工智能芯片设计者必须决定加速什么,如何加速,以及如何将这些功能与神经网络互连。下面是一个关键行业趋势的快照,这些趋势定义了硬件加速器在不断发展的人工智能工作负载中的使用。不可避免的是,开始于可集成到各种人工智能芯片和卡上的人工智能加速器。

AI accelerator IPs

AI加速器IPs

硬件加速器广泛应用于人工智能芯片中,用于分割和加速数据密集型任务,如计算机视觉和深度学习,用于训练和推理应用。这些神经网络加速了神经网络的运转。

Gyrfalcon Technology Inc.(GTI)设计AI芯片,并通过IP许可模式为定制SoC设计提供AI加速器。总部位于加州米尔皮塔斯的人工智能新贵分别为边缘和云应用提供了Lightspeeur2801和2803人工智能加速器。

值得注意的是,Gyrfalcon还围绕这些硬件加速器开发了AI芯片,这使得这些AI加速器IPs硅得到了验证。该公司用于edge设计的2801 AI芯片每瓦特(TOPS/W)每秒可执行9.3 tera操作,而其用于数据中心应用的2803 AI芯片可提供24 TOPS/W。

除了IP开发工具和技术文档外,Gyrfalcon还为AI设计师提供了用于模型创建、芯片评估和概念验证设计的USB3.0软件狗。许可证持有者可以在Windows和Linux个人电脑上使用这些软件狗,也可以在像Raspberry Pi这样的硬件开发工具包上使用这些软件狗。

Hardware architecture

硬件体系结构

人工智能加速器的基本前提是处理算法的速度比以往任何时候都要快,同时尽可能少用电。在边缘、数据中心或两者之间的某个地方执行加速。AI加速器可以在ASIC、GPU、FPGA、DSP或这些设备的混合版本中执行这些任务。

这就不可避免地导致了一些硬件加速器架构,针对机器学习(ML)、深度学习、自然语言处理和其人工智能工作负载进行了优化。例如,一些ASIC被设计为运行在深度神经网络(DNNs)上,而DNNs又可以在GPU或其ASIC上进行训练。

人工智能加速器架构的关键在于人工智能任务可以大规模并行。此外,人工智能加速器的设计与多核实现交织在一起,这突出了人工智能加速器体系结构的关键重要性。

下一步,人工智能的设计通过增加越来越多的专门用来提高神经网络效率的加速器,将算法分割得越来越细。用例越具体,就越有机会细粒度地使用多种类型的硬件加速器。

这里,值得一提的是,除了集成到定制芯片中的人工智能加速器之外,加速卡也被用于提高云服务器和内部数据中心的性能和减少延迟。例如,与cpu相比,Xilinx公司的Alveo加速卡可以从根本上加速数据库搜索、视频处理和数据分析(图1)。

图1:Alveo U250加速卡与高端CPU相比,实时推理吞吐量提高了20倍,与固定功能加速器(如高端GPU)相比,亚2毫秒延迟降低了4倍以上。

可编程性

在人工智能设计中有很多动态变化,因此,软件算法的变化比人工智能芯片的设计和制造要快。强调了硬件加速器面临的一个关键挑战,在这种情况下,往往会变成固定功能的设备。

因此,加速器中必须有某种可编程性,使设计者能够适应不断变化的需求。可编程特性带来的设计灵活性也允许设计人员处理各种各样的人工智能工作负载和神经网络拓扑。

英特尔公司(intelcorp.)以约20亿美元的价格收购了以色列一家可编程深度学习加速器(programmableddeeplearningaccelerators)的以色列开发商,从而回应了人工智能设计可编程性的呼吁。Habana的Gaudi处理器用于训练,Goya处理器用于推理,提供了一个易于编程的开发环境(图2)。

图2:这是开发平台和工具如何使用Gaudi训练加速器加速AI芯片设计。
AI在边缘

现在很明显,人工智能推理的市场比人工智能训练要大得多。这就是为什么业界正在见证各种各样的芯片被优化,以适应从训练到推理的各种人工智能工作负载。

这将微控制器(MCU)带入人工智能设计领域,而人工智能设计通常与强大的SOC相关联。这些MCU整合了人工智能加速器,为资源受限的工业和物联网边缘设备提供服务,如目标检测、面部和手势识别、自然语言处理和预测性维护。

以Arm的Ethos U-55 microNPU ML加速器为例,NXP半导体公司正在将其集成到基于Cortex-M的微控制器、交叉MCU和应用处理器中的实时子系统中。Ethos U-55加速器与Cortex-M核心协同工作,以实现较小的占地面积。先进的压缩技术节省了能量,并显著减少了ML模型的大小,从而使以前只在较大系统上运行的神经网络能够执行。

NXP的eiqml开发环境为AI设计者提供了一个开源推理引擎的选择。根据具体的应用需求,这些AI加速器可以被集成到各种计算元素中:cpu、gpu、dsp和npu。

硬件加速器为人工智能应用服务相关推荐

  1. VT-x/AMD-V 硬件加速器已被启动,但当前处于无效状态

    今天在virtualboxvbox中安装64位centos6.5时出现以下错误: VT-x/AMD-V硬件加速器已被启动,但当前处于无效状态.您虚拟电脑内的操作系统将无法检测到64位的CPU,因此也将 ...

  2. android硬件加速器及其问题小结

    发现自己的手机上某个界面出现了花屏,某些控件背景被拉伸过多遮住了其他控件,很难看.这种现象高概率出现,分析了下发现:一旦发生这种现象,必然会打印下面这种log,google了下,这种log应该是硬件加 ...

  3. 基于近端策略优化的阻变存储硬件加速器自动量化

    摘 要 卷积神经网络在诸多领域已经取得超出人类的成绩.但是,随着模型存储开销和计算复杂性的不断增加,限制处理单元和内存单元之间数据交换的"内存墙"问题阻碍了其在诸如边缘计算和物联网 ...

  4. 如何设计神经网络的硬件加速器

    设计神经网络的硬件加速器的方法有很多种,具体的方法取决于你的应用场景以及你希望达到的性能目标.一些常用的方法包括: 使用专门设计的神经网络处理器,比如 Google 的 Tensor Processi ...

  5. 利用 UMA 使硬件加速器可直接用于 TVM

    本篇文章译自英文文档 Making your Hardware Accelerator TVM-ready with UMA 作者是 Michael J. Klaiber,Christoph Geru ...

  6. 实验项目5.1 深度学习算法与硬件加速器

    实验对CPU的修改不多,如果完全按照RISC-V的要求设计CPU,将mul归类为R-Type的话,改动较多.但是我们可以单独设计一跟op_mul电线,然后单独设计乘法指令. 乘法指令的实现,直接使用其 ...

  7. 2023-04-18:ffmpeg中的hw_decode.c的功能是通过使用显卡硬件加速器(如 NVIDIA CUDA、Intel Quick Sync Video 等)对视频进行解码,从而提高解码效

    2023-04-18:ffmpeg中的hw_decode.c的功能是通过使用显卡硬件加速器(如 NVIDIA CUDA.Intel Quick Sync Video 等)对视频进行解码,从而提高解码效 ...

  8. XC7VX690T板卡设计资料:VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡 软件无线电处理平台 图形图像硬件加速器 Net FPGA

    VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡 一.板卡概述 本板卡基于Xilinx公司的FPGA XC7VX690T-FFG1761 芯片,支持PCIeX8. ...

  9. 神经网络硬件加速器-架构篇

    背景         人工智能(Artifical Intelligence),是研究.开发用于模拟.延伸和扩展人类智能的理论.方法.技术及应用系统的一门科学技术.人工智能的本质是对人类思维过程的模拟 ...

最新文章

  1. python3 错误string indices must be integers 的解决方法
  2. Linq to Sql : 动态构造Expression进行动态查询
  3. CDH 元数据库升级
  4. [转] 81条经典话语~~~当裤子失去皮带,才懂得什麽叫做依赖
  5. run (牛客多校第二场)计数DP
  6. 话里话外:从信息系统两大特性理解信息化的实施难度
  7. Python判断文件和文件夹是否存在的方法
  8. ezcad旋转轴标刻参数_激光打标机软件ezcad系统参数设置
  9. 社区分享 | 从零开始学习 TinyML(一)
  10. Linux之zlog的学习
  11. Eclipse 专用等宽字体,Yahei_Consola字体
  12. k2p H大老毛子 padavan 2月20日固件
  13. 读书笔记:学习C语言必须读的第二本书
  14. Vue 编写(preventReClick)防暴点 +防抖(debounce)和节流(throttle)函数
  15. 基于Arduino、STM32进行红外遥控信号接收
  16. 输出菱形图案(数字版)
  17. zzuli:1000从今天开始入坑C语言
  18. 我帮粉丝赚了10w+
  19. 个人小程序支持哪些小程序服务类目
  20. utf8和utf8mb4的区别详解

热门文章

  1. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题
  2. 2022-2028年中国盲盒行业市场研究及前瞻分析报告
  3. Go 知识点(18)— 条件编译(编译标签、文件后缀)
  4. Redis 高级特性(2)—— 发布 订阅模式
  5. python版本控制神器Virtualenvwrapper的使用
  6. 机房收费系统总结【1】-整体流程
  7. python codecs.open()及文件操作-文本处理 with open
  8. pandas数据框,统计某列或者某行数据元素的个数
  9. 通俗易懂的Go协程的引入及GMP模型简介
  10. 嵌入式传感器是智能移动增长的关键