Lattice Blog

Share:

使用FPGA优化实时在线的推理应用

Use FPGAs to Optimize Always-on, Inferencing Applications
Posted 10/08/2018 by Deepak Bopanna

Posted in

新一代基于AI的网络边缘计算应用需要满足广泛的性能要求。那么开发人员如何构建功耗低、尺寸小、成本低而又不影响性能的网络边缘解决方案呢?

为实现这一目标,设计工程师需要能让他们利用快速变化的网络架构和算法的芯片。他们还需要能让他们使用各类I/O接口的解决方案。最后他们还需要能通过自定义量化值,平衡精度和功耗的解决方案。

FPGA在这个过程中起到了关键作用。机器学习通常要求两种类型的计算。第一阶段为训练,在此过程中,系统通过现有数据习得新能力。例如,系统可以通过分析成千上万张图片学习识别一种鸟。这种早期训练阶段由于是高度计算密集型的,因此,通常在数据中心使用GPU等高性能硬件实现。

在机器学习的第二阶段,即推理阶段,AI系统通过识别图案和应用训练后的模型处理最近获得的新数据来拓展其认知。在此阶段,系统边运行边学习,随着时间推移变得愈加智能。但考虑到响应延迟、不断加剧的隐私问题和通信带宽限制,很多情况下设计工程师难以在云端执行推理。相反他们必须在网络边缘靠近数据源的地方执行计算任务。

然而在网络边缘,部署数据中心所使用的基于浮点运算的深度学习技术是不现实的。设计工程师需要开发更为有效的解决方案,不仅要满足精度要求,还要满足消费电子和工业IoT市场上对功耗、成本和尺寸的严苛要求。网络边缘的器件需要尽可能使用更少位数的计算来实现推理。一种方式就是将浮点运算变为定点运算。通过改变训练的方式来补偿浮点数到定点整数的量化,设计工程师得以开发解决方案来实现更快的训练速度和更高的精度。

开发人员又如何选择在网络边缘执行推理所需的平台呢?答案的关键在于FPGA固有的并行处理能力。由于FPGA的硬件结构不是固定的,逻辑单元所执行的功能以及它们之间的互连由开发人员决定。他们可以对FPGA进行编程,并行同时执行,而非按顺序执行多个进程。

然而任何针对网络边缘的解决方案也必须是低功耗的。以往的FPGA,尤其是密度较高的FPGA,功耗相对较高。新一代低密度、低功耗FPGA正在改变这种观念。

莱迪思的iCE40 UltraPlus和ECP5 FPGA系列产品均旨在满足这一不断发展的需求。构建基于AI的高能效解决方案的设计工程师可使用ECP5系列FPGA加速神经网络,同时功耗可低至1 W;若使用iCE40 UltraPlus系列FPGA加速神经网络,功耗可缩减至毫瓦级。

为了帮助开发人员加速产品进入市场,莱迪思最近推出了业界首个针对低功耗、大众市场物联网解决方案的完整技术集合。这个被称为莱迪思sensAI的全面生态系统包括了硬件开发套件、神经网络IP核、软件工具、参考设计和定制设计服务。此外,sensAI演示示例和常见的AI案例为目标检测、关键词检测和其他备受欢迎的实时在线AI解决方案的开发提供了设计蓝图。

显然,如今的开发人员在为智能家居、智慧城市、智能汽车和智能工厂应用提供具有竞争力的AI解决方案的过程中仍然面临诸多挑战。但简化和加速大众市场AI解决方案开发所需的关键要素现已准备就绪,静待花开。

Share: