嵌入式现场可编程门阵列在人工智能领域的应用
来源:用户上传
作者:
摘要:人工智能是研究、开发用于模拟、延伸和扩展人类智能理论、方法及应用的一门新技术,特别是机器学习正在改变这人们的生产和生活方式,也为工业和商业带来了更多机会,但目前支持神经网络迭代、多样性、训练和推理的最佳硬件體系架构还未确定,本文针对这一领域,就嵌入式现场可编程门阵列eFPGA芯片的应用做一些探讨。
关键词:嵌入式现场可编程门阵列;人工智能;eFPGA;AI
中图分类号:TN791 文献标识码:A 文章编号:1007-9416(2019)01-0075-01
目前,人工智能技术在正不同的领域逐步得到越来越广泛的应用,如:自动驾驶、医疗诊断、家用电器、工业自动化、自适应网站、财务分析和网络基础设施。这些应用对电路的性能和功耗有严格的要求,以适应实时的学习和处理过程,这些将对传统的硬件体系构架提出新的挑战。嵌入式现场可编程门阵列作为一种新技术在AI解决方案中具有较高的灵活性,可以实现吞吐量和可重编程性之间的最佳平衡,并提供现实世界机器学习系统所需的性能,本文有针对性地做一些探讨。
1 常用机器学习的硬件构架
许多通用中央处理器CPU构架可用于支持高性能机器学习,但是对于实时嵌入式系统来说,由于功耗和性能的限制,这些方案在电路设计开发的早期不得不放弃。
在2010至2015年期间,通用图形处理单元GPGPU能提供数以百计的片上浮点处理单元,且能够并行处理多个神经元的输入,其运算性能要远超出通用CPU集群,从而成为了工程师进行训练和推理算法设计的热门硬件平台。
然而,将GPGPU应用于深度学习架构也存在一些缺点,GPCPU主要用于加速2D和3D图形应用程序,这些应用程序使用均匀且可预测的内存访问模式,其电路结构支持算术运算密集型算法,并可以在存储器中紧密地组合在一起,从而高效合理地处理卷积神经网络层。然而,在其他强调神经元之间数据传输的其他类型网络层时就存在问题,使得本地存储器架构效率降低,也就降低了整体的性能和能效。
为了克服GPGPU在实施深度学习系统时存在的挑战和瓶颈,人们开发出了具有定制逻辑和内存管理单元的专用集成电路ASIC,其内存管理单元可以针对神经网络代码中遇到的不同访问模式进行调整,从而大幅提高整体传输速度。但与基于软件的通用处理器结构相比,ASIC也存在灵活性较差的问题。
现场可编程门阵列FPGA具有实现定制处理器和内存管理技术方面的诸多优势,其架构内已经集成了可定制逻辑阵列和硬核数字信号处理器DSP单元,支持固定和浮点运算。在许多情况下,DSP引擎采常采用8位或16位单元模块组件方式,可以组合起来使用以实现更高精度的数据运算。硬件结构的可重构性使FPGA很容易调整并行处理器和其之间的互联结构,以满足多种场合应用的特定需求。然而,可编程逻辑阵列相对低的效率也意味着,当应用程序需要网络的某些高吞吐量专用功能时,用户必须在神经网络内不同层之间的性能共享功能上妥协。而一种折中的方案是使用小型ASIC来扩展FPGA,从而为常用功能(如卷积内核等)提供加速。
2 嵌入式FPGA技术介绍
将FPGA构架嵌入到片上系统SoC可以克服独立FPGA和ASIC的缺点,以及互相之间的数据传输问题。 嵌入到ASIC中的一个或多个FPGA提供了动态调整神经网络性能的能力,提供了充分利用定制引擎所需的高数据传输带宽。而这种方案就是嵌入式eFPGA的设构架。
2014年,eFPGA概念首次进入业界视野,Cheng C. Wang等在ISSCC发表文章指出,通过创造性地设计互联单元,解决了FPGA的功耗、性能和成本受到布线资源限制的问题,从而使得eFPGA集成到SoC中真正变为可能,作者依据论文成果成立了Flex Logix,致力于推广eFPGA的概念和应用并力争商用化。
目前,eFPGA的概念已经获得了业界的广泛认可,而该领域的公司和产品线也逐渐丰富,主要产品供应商有:Flex Logix、Achronix、Menta、QuickLogic、NanoXplore、Efinix、Adicsys等。以上所列公司大都采用三种商业模式和技术开发途径:Achronix同时提供FPGA和eFPGA,Menta、NanoXplore和Adicsys提供软核IP eFPGA,Flex Logix提供硬核eFPGA,QuickLogic采用了GloablFoundry工艺的硬核IP,Efinix采用硬核IP技术。
与传统实现方案相比,eFPGA是一种高效灵活的解决方案,可以实现吞吐量和可重编程性之间的最佳平衡,并提供现实世界机器学习系统所需的性能,为设计人员提供了按照应用程序要求混合和匹配eFPGA功能的选项。其一些核心功能包括基于四输入LUT的逻辑,用于寄存器文件和类似用途的小型面向逻辑的存储器(LRAM),较大的块RAM(BRAM)以及可配置的DSP模块。核心功能还可以通过定制模块进行增强,这些定制模块提供了更多高密度的专用功能。
3 嵌入式FPGA在AI领域的应用
嵌入式系统已经涵盖从消费类电子到高级机器人和自动驾驶汽车领域,而eFPGA的这些功能为嵌入式系统提供实时AI加速设计提供了灵活的绝佳平台。机器学习技术代表了嵌入式系统的新领域,实时人工智能将扩大各种应用,但只有在能够以经济高效的方式执行时才能实现市场化量产。诸如多核CPU、GPGPU和独立FPGA之类的现有解决方案可用于支持高级AI算法和深度学习,但它们无法满足开发人员随着机器学习体系结构发展而增加的硬件需求。
4 结语
eFPGA有诸多优点,是一种高效灵活的AI解决方案,可以实现吞吐量和可重编程性之间的最佳平衡,并提供现实世界机器学习系统所需的性能,为设计人员提供了按照应用程序要求混合和匹配eFPGA功能的选项。但作为一种新技术,在具体的应用中同样面临着一些挑战,比如可靠性和良率问题,纯逻辑制程方面的优势还需要进一步观察。另外,在电路工作的时序上也有不小的挑战,集成硬核很容易,但是时钟同步很难,硬核电路的工作时序是确定的,而可编程逻辑资源所实现的电路模块具有可变性,如何匹配是个问题。
Abstract:Artificial Intelligence is a new technology for researching and developing theories, methods and applications of human intelligence. Particularly machine learning is changing people's production and lifestyle. It also brings more opportunities for industry and commerce. However, it currently supports the best hardware architecture of neural network iteration, diversity, training and reasoning. The structure has not been determined yet. In this paper, the application of embedded field programmable gate array chip is discussed.
Key words:embedded field programmable gate array; artificial intelligence; eFPGA; AI
转载注明来源:https://www.xzbu.com/8/view-14760575.htm