MATLAB仿真|highspeedlogic算法仿真-人加智能FPGA应用实践-AI快速进化

FPGA相对于ASIC的优势
FPGA(Field-Programmable Gate Array)即现场可编程门阵列,其灵活性介于CPU、GPU等通用处理器和专用集成电路ASIC之间,在硬件固定的前提下,允许使用者灵活使用软件进行编程。它的开发周期比ASIC短,不过相对于批量出货ASIC,单个FPGA的成本会更高。
近两年来,越来越多以FPGA切入AI芯片的玩家涌现出来,包括国内AI芯片创企深鉴科技、百度XPU、微软Project Brainwave等等。
尽管ASIC在性能功耗上往往有更好的表现,但FPGA容错空间相对更大,以前FPGA常被用作ASIC芯片流片前的硬件验证方法。目前,业内的主流观点是:随着AI算法的进一步成熟固化,AI芯片最终会走向ASIC——也就是较为固定的芯片架构。
不过,赛灵思CEO Victor Peng持有不同观点,他认为,AI算法迭代、应用创新的速度还将持续很长一段时间,甚至会维持10-20年之久,因此一款灵活、可应变的计算平台将成为创新的重中之重。
而且,未来最终并不会是一款AI芯片架构统一天下的局面,我们越来越需要能够适应众多AI应用、适应不断变化的AI算法的新型芯片架构出现。
人加智能在自身双目硬件化产品研发之初,就坚定的选择了基于FPGA的方案,主要基于以下几个方面原因:
FPGA拥有高能耗比、高性价比的加速能力
对于一个完整的具备本地处理能力的双目系统通常如图所示,包含图中几个部分。
第一种选择是通用的嵌入式CPU系统,通常为SoC设计,如高通的骁龙820平台均为当下比较强劲的嵌入式处理平台。此类平台具备相对比较强大的计算能力、比较丰富的相机数据输入接口和ISP能力,对于双目成像来说确实是一个比较优的选择。但对于双目系统中两个比较关键的计算(畸变校正/立体校正与立体匹配)来说基本上能算上是有心无力,其复杂度之高对于诸如Intel的高端CPU来说也是望而却步。因此对于此类平台而言,通常用于双目成像而不是双目计算。
第二种选择是集成GPU的嵌入式系统,比较典型的代表为Nvidia TK1/TX1/TX2平台,其集成比较强大的GPU核心。此类平台,已经具备强大的并行能力,对于运算复杂度比较高的立体匹配模块而言已具备实时的处理能力,然而其昂贵的价格和较高的功耗,使得基于此类平台设计的方案的适用性大大降低。
第三种选择是DSP系统,DSP为传统图像处理的一个相对主流平台,但是因为成本高昂,此平台一般应用在工业领域。
第四种选择是FPGA平台,FPGA一直因为其高昂的价格和设计难度让人望而却步,以至于很多人一听说是FPGA的方案基本上内心笃定此方案一定无法面向消费市场。实际情况并非如此,FPGA的成本与设计使用的资源有很大关系,资源越多则需要更高成本的FPGA。因此算法属性和设计能力决定了所选用FPGA的成本,简单来说,能力越高,花钱越少。人加智能在FPGA算法设计上积累了近十年的经验,依托此能力,人加智能在一个较低成本的FPGA上完成了整个立体视觉系统,依托强大的设计能力,将算法设计为完全的流水线和并行的电路级加速处理架构,即达到了每秒VGA@100fps的处理能力,又做到了“输入即输出”的零延时处理方案,使得对于实时性要求很高的场景均可得益于双目技术,如人加智能自主研发的无人机双目避障系统。
FPGA拥有极高的场景适应性
当下的视觉算法已经应用在各行各业中,但各个行业甚至于同一行业不同场景对于特定算法的要求均有区别,很难做到一次开发,面向所有场景的适配。算法的高复杂度决定了需要专用加速核来处理,同时算法在面向具体场景落地时往往需要升级与迭代,因此将算法固化于一个专用ASIC芯片中不是一个很好的主意,FPGA在此方面拥有强大的灵活性,实时的可以做到硬件可编程,在保证算法的加速性能前提下做到硬件加速核的动态可重构,这是很多芯片都无法比拟的。尤其是人加智能在探索性开发无人机自主飞行要求的避障系统、3D人体行为分析系统的过程中,都对算法进行了上百次的迭代,才满足并超越了客户的期望。
不只是FPGA,更是扩展能力超强的SoC
【MATLAB仿真|highspeedlogic算法仿真-人加智能FPGA应用实践-AI快速进化】目前的FPGA逐渐已经发展为比较强大的SoC系统,具备通用CPU、指令集加速、嵌入式GPU、Video Codec,当然也包含极其重要的可编程逻辑资源,所有资源可通过片上网络进行片内高速互联。这个能力在物联网时代,显得尤其珍贵。FPGA在应用中表现出的这种高扩展性,也是各个巨头均一定程度上采用FPGA作为AI计算的原因。换句话说,保留通用计算能力,同时具备动态可重构AI加速核的嵌入式计算机形态也是今后发展的一个重要趋势。
FPGA 逐渐受到市场多数企业青睐
近两年来,市场对FPGA的反馈也越来越积极,尤其是FPGA在数据中心的应用日益广泛。目前,FPGA服务器已在全球七大超级云计算数据中心如IBM、Facebook、微软Azure、AWS、百度云、阿里云、腾讯云得到部署。由于ASIC路线风险高,目前仅有谷歌批量部署TPU。
FPGA行业三大发展趋势
目前FPGA在AI芯片行业呈现出的发展趋势一共有三个:一是FPGA芯片自身架构在持续进化,二是FPGA获得深度学习加持,异构计算将成未来主流,三是FPGA成为深度学习算法团队的长期选择。
FPGA芯片自身架构在持续进化
基于FPGA进行优化架构的发展路线以赛灵思为代表。面对价格贵、开发难度大的问题,今年3月,赛灵思发布历时4年、投入超过10亿美元打造的新一代AI芯片架构ACAP,直接宣战英伟达、英特尔处理器。
深度学习加持,异构计算将成未来主流
异构计算,又译异质运算,主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。常见的计算单元类别包括CPU、GPU等协处理器、DSP、ASIC、FPGA等。最近一年FPGA的可编程性使软件和终端应用公司能够根据算法灵活修改解决方案,这让它在AI芯片市场愈发有存在感。
当下AI仍处于早期阶段,AI算法正从训练环节走向推理环节,这个过程需要对训练后的模型进行压缩,在基本不损失模型精度的情况下将模型压缩到原来的几十分之一。在这一阶段,AI是向着有利于FPGA发展的方向进行优化和升级的。
FPGA成为深度学习算法团队的长期选择
至少在在深度学习算法稳定前,FPGA都有其生存空间。因为很多公司都发现,刚做完传统算法硬化,过了半年,内部算法团队又把算法换了。
单纯的ASIC芯片无法完全替代FPGA,也不具备FPGA的灵活性。就如同ASIC到现在都无法在传统领域完全替代FPGA一样,在AI领域,FPGA与ASIC也会分而治之。智慧工业机器人、智慧通信、智慧医疗、智慧装备等领域都是除FPGA以外的其他AI芯片难以介入的应用领域。
在各类AI芯片之间没有拉开绝对差距之前,每一种技术路线都有其发挥更多价值的空间。FPGA在AI市场上,它的普适性和灵活性都使其有适合发挥其优势的应用场景。

    推荐阅读