加速实现网络边缘低功耗人工智能应用

嵌入式系统 时间:2018-05-22来源:电子产品世界

  架构转变和网络边缘日益增长的智能需求

  自第一台电脑发明以来,寻求最理想系统架构的路途始终充满坎坷。从计算发展史中可以看出,系统架构始终在计算资源远离用户的集中式架构和处理资源靠近用户的分布式架构之间反复摇摆。曾于20世纪70年代和80年代流行的基于服务器的方案则采用高度集中化的方法积蓄计算资源和存储能力。但是这一理念很快在低成本个人电脑和互联网快速发展的80和90年代衰落了。在这种新的架构模式下,计算任务不断向个人电脑倾斜。

  围绕个人电脑构建的高度分布式方案似乎无懈可击,直到以智能手机、平板电脑和笔记本电脑为代表的高流动性工具大行其道。四处携带计算硬件和存储资源瞬间成为了一种累赘。系统架构随之缓慢地将任务移到云端,利用其近乎无限的计算和存储资源、高可靠性以及低成本。

  企业也在使用云端削减资本成本和更高效地管理IT基础设施相关的运维成本。随着他们采用机器学习和更高级的人工智能技术,云端将扮演着至关重要的角色。即将来临的新一代智能工厂、智慧城市和智能家居需要云端来高效管理机器视觉系统、协调交通模式以及最小化功耗。

  但并非所有应用都将在云端运行。行业专家提出,另一轮从集中式到分布式的系统架构转变的征兆已经显而易见了。无论到来与否,有一点确信无疑。那就是低延迟要求、不断加剧的隐私问题和通信带宽限制将驱动网络边缘对智能化的需求。随着设计人员向网络边缘应用加入高级智能,他们需要能够快速响应环境条件变化的系统。例如,当一辆无人驾驶汽车驶入智慧城市,它不可能询问云端如何避免冲撞事故,而是必须立即做出反应,自主做出判断。同样,当AI安全摄像头在家中检测到异动,它必须利用设备现有资源做出决定,如有人闯入,则立刻报警。

  这些新型应用需要基于AI或机器学习的、靠近IoT传感器数据源而非云端的计算解决方案。这样的需求有多大?有人认为潜力非常可观。Gartner的分析师估计到2022年,多达50%的企业数据将在传统的集中式数据中心或云端以外的地方处理(参见图1)。

  图1. 为避免受延迟、隐私和网络带宽限制而快速兴起的网络边缘计算

  网络边缘计算的要求

  设计人员在开发网络边缘计算解决方案时面临的最严峻的挑战是要满足高灵活性、低功耗、小尺寸和低成本等一系列独特要求(参见图2)。

  图2. 新一代基于AI的网络边缘计算应用需要满足一系列独特要求

  开发人员如何构建功耗低、尺寸小、成本低而又不影响性能的网络边缘解决方案呢?首先,他们需要具备最大化设计灵活性、支持广泛I/O接口的芯片,还需要能够助其利用快速演进的神经网络架构和算法的半导体解决方案。最后他们还需要能通过自定义量化平衡精度和功耗的解决方案。

  考虑到网络边缘设备的尺寸限制,设计人员需要适当的芯片来设计小巧高性能的AI设备,在输出卓越性能的同时又能满足尺寸或散热管理的要求。成本也是一个关键要素。任何一种解决方案都必须能与其他批量生产的网络边缘解决方案一较高下。最后,即便是在网络边缘,快速上市的规则依然适用。第一个将解决方案推向市场的企业必然拥有巨大优势。因此,任何有潜力的解决方案必须有机会获得必要的资源实现定制化,并缩短开发周期——无论是演示示例、参考设计还是设计服务。

  网络边缘基于FPGA的机器学习推理

  FPGA在网络边缘扮演何种角色?机器学习通常要求两种类型的计算工作量。训练系统通过现有数据习得新能力。例如,人脸检测功能通过采集和分析成千上万张图片来学习识别人脸。这种早期训练阶段实质上是高度计算密集的。开发人员通常会在数据中使用高性能硬件处理数量庞大的数据。

  机器学习的第二阶段推理通过识别图案和执行任务将系统能力用于处理新数据。例如,之前讨论的人脸检测功能将在投入现场工作后持续优化其能力,以正确识别人脸。在此阶段系统边运行边学习,随着时间推移变得愈加智能。鉴于网络边缘的任务执行存在诸多限制,设计人员不可能在云端进行推理。相反他们须通过在网络边缘执行靠近数据源的计算任务来提升系统的智能程度。

  那么如何替代云端庞大的计算资源从而在网络边缘执行推理呢?一种方式就是利用FPGA固有的并行处理能力来加速神经网络的性能。设计人员可以使用经过特别优化的低功耗低密度FPGA满足网络边缘对严苛性能和功耗限制的要求。莱迪思的ECP5和iCE40 UltraPlus FPGA可满足这一需求。设计人员可通过功耗不足1W 的ECP5 FPGA和毫瓦级iCE40 UltraPlus FPGA来加速神经网络,构建高效、基于AI的网络边缘计算应用。(参见图3)

  图3. 基于莱迪思FPGA的低功耗(1mW-1W)机器学习推理

  Lattice sensAI™ 简介

  除了计算硬件外,设计人员还需要各类IP、工具、参考设计和设计专业知识来构建有效的解决方案并将其快速推向市场。

  为帮助开发人员应对这一日益严峻的挑战,莱迪思现推出基于iCE40 UltraPlus和ECP5 FPGA系列的新型全套开发生态系统。Lattice sensAI旨在帮助开发人员快速构建适用于智能家居、智慧城市、智能工厂、智能汽车和移动应用的AI网络边缘解决方案,为网络边缘提供优化灵活的推理。

  正如下列图4所示,Lattice sensAI通过集成模块化硬件平台、神经网络IP核、软件工具、参考设计和来自合作伙伴生态系统的定制设计服务,简化了灵活推理解决方案的开发,经优化具有低功耗(1mW-1W)、封装尺寸小(小至5.5mm²)、批量价格低(约1-10美元)等优势。

  图4. Lattice sensAI为开发人员构建网络边缘计算解决方案提供了坚实的基础

  如图4所示,Lattice sensAI以莱迪思的硬件套件为基础。为实现这一功能,莱迪思提供全新的模块化硬件平台,加速机器学习的原型设计,满足广泛的性能和功耗需求。莱迪思还提供基于低功耗iCE40 UltraPlus FPGA的移动开发平台(MDP),可用于毫瓦级功耗AI设计。MDP重点包括一系列板载传感器,如图像传感器、麦克风、罗盘、压力传感器和陀螺仪等。针对功耗稍高但总体低于1W的应用,莱迪思则提供基于ECP5 FPGA系列的模块化视频接口平台(VIP)。VIP可实现包括MIPI CSI-2、嵌入式DisplayPort(eDP)、HDMI、GigE Vision和USB3在内的广泛接口的互连。屡获殊荣的嵌入式视觉开发套件是莱迪思首批硬件平台之一。该模块化平台包含了一块CrossLink输入板、一块ECP5处理器板和一块HDMI输出板。随着全新eDP和USB3 GigE I/O板的加入,设计人员可轻易置换输出板以支持其他应用。

  除开发板外,莱迪思还提供新的神经网络加速器IP核,便于开发人员在FPGA上进行演示。该软IP包括一个针对iCE40 UltraPlus FPGA优化后的二值神经网络(BNN)加速器,可让开发人员使用iCE40 UltraPlus FPGA通过二值神经网络算法实现深度学习应用。莱迪思还提供一个卷积神经网络加速器(CNN)核。该核可灵活设置参数,适用于莱迪思的ECP5 FPGA,它还支持不同量化,让设计人员实现精度和功耗的平衡。

  如图5所示,Lattice sensAI能让用户通过易用的工具流程实现快速设计空间探索和平衡。使用Caffe和TensorFlow等行业标准框架可实现网络训练。然后神经网络编译器工具能将经过训练的网络模型映射成定点数值表示,支持不同的权重和激活量化。此外,神经网络编译器能帮助分析、模拟和编译不同类型的网络,从而在莱迪思的CNN/BNN加速器IP核上实现,无需RTL设计经验。然后使用Radiant和Diamond等传统的FPGA设计软件工具可实现总体的FPGA设计,包括剩下的预/后处理模块。

  图5. 通过易用的Lattice sensAI工具流程实现快速设计空间探索和平衡

  为简化常用AI功能的实现,Lattice sensAI包含了各类使用该产品硬件平台、IP核以及软件工具的参考设计和演示示例,例如:

  低功耗人脸检测——该演示包含适用于网络边缘、使用神经网络模型的、低功耗快速人脸检测功能。该基于iCE40 UltraPlus FPGA的演示使用了二值权重和激活,能帮助设计人员实现低于1mW功耗的人脸识别。

  汽车后装市场摄像头——该演示主要针对新兴的汽车后装市场中的摄像头领域。它展示了设计人员如何通过FPGA本身的并行计算实现速度标志牌检测。在此示例中,在ECP5 FPGA上实现的卷积神经网络被训练读取过往的交通指示牌信息。训练完成后,该摄像头可在经过交通标志时检测并显示速度限制。

  将声音指令转换为系统操作——该演示向设计人员展示了如何将声音指令转化为系统操作。这项功耗不足5mW的关键词识别功能使用了集成到iCE40 UltraPlus FPGA的二值神经网络。示例描述了如何将数字麦克风直连到莱迪思推理引擎,从而使用关键词检测实现“实时在线”的监听功能。

  用于面部跟踪的目标检测解决方案——该演示探索了适用于面部跟踪应用、基于AI实现的目标检测解决方案。演示描述了使用莱迪思ECP5-85 FPGA进行卷积神经网路加速,其中8个卷积层在8个神经网络引擎中实现。该方案在莱迪思的嵌入式视觉开发套件上独立运行,上电后在90 x 90 RGB输入下以14fps运行。ECP5的总功耗仅为0.85 W。

  定制化设计服务

  开发团队通常需要设计服务合作伙伴的专业能力来协助开发定制化解决方案。AI市场也不例外。为满足这种需求,莱迪思与智能工厂、智慧城市、智能汽车、智能家居和移动应用等众多领域的设计服务伙伴展开了合作。例如,莱迪思经认证的合作伙伴之一VectorBlox是一家基于神经网络的推理解决方案开发商。近来,VectorBlox和莱迪思合作在iCE40 UltraPlus FPGA上用不到5000个LUT的神经网络实现了人脸检测应用。该解决方案使用了开源RISC V软处理器和定制加速器,大大降低了功耗,同时缩短了响应时间。

  为了更快地在莱迪思FPGA中实现推理解决方案,开发人员可能需要求助于具备神经网络设计和训练相关知识的设计服务专家。这些知识通常需要与Caffe和TensorFlow框架以及传统的RTL设计经验相结合。为了让这些专业知识更易获取,莱迪思推出了Lattice sensAI设计服务计划,推荐设计服务公司,从而加速设计,在莱迪思FPGA上实现深入学习应用。这些公司提供开发和训练网络的专业知识,且能开发RTL实现特定应用。

  参与该计划的第三方企业已经与莱迪思进行合作,展示了其在神经网络开发、训练和硬件实施方面的强大实力。

  结论

  网络边缘计算革命蓄势待发,只有具备AI系统专长的开发人员方可驾轻就熟。随着用户寻求更高级别的智能,对于靠近IoT数据源的低功耗推理的需求将与日俱增。Lattice sensAI提供灵活、超低功耗、小尺寸和批量价格低的网络边缘优化解决方案。莱迪思的超低功耗FPGA由广泛的硬件平台、软IP、设计工具、参考设计和第三方专家提供支持,为您打开通往成功最可靠、最快捷的途径。

关键词: 边缘计算 FPGA

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版