摘 要 随着人工智能技术的发展航天器和武器装备也对智能化计算提出了新的需求,但缺乏自主可控的智能计算能力严重制约了该领域的发展,针对该问题,论文概述了目前航天领域智能化计算的需求,分析了神经网络处理器研究现状,并给出了自主可控的智能化计算解决方案,对国产自主可控智能加速器发展有着重要指导意义。
本文源自周凡; 马钟; 马瑶; 李申, 舰船电子工程 发表时间:2021-06-20
关键词 人工智能;航天领域应用;神经网络处理器;智能化解决方案
1 引言
嵌入式智能算法推理加速技术就是利用FPGA 相较于传统处理器并行处理的优势来提高智能算法的推理速度,智能化计算是航天器和武器装备领域目前的研究趋势,缺乏自主可控的智能算法推理能力是制约该领域智能化发展的瓶颈问题。本文主要讲述了航天智能化的计算需求,国内外神经网络处理器研究现状,提出了国产人工智能处理器的解决方案,为航天领域的神经网络处理器的发展提供了思路。
2 航天智能化计算需求
2.1 航天器应用对智能化的需求
航天事业的飞速发展,对航天器提出了智能化要求,以支持更复杂的环境和更难的深空任务探月工程需要飞行器自主、快速机器视觉识别与智能控制,确保安全着陆;目前火星探测天地大回路控制决策的工作方式实时性低,难以满足火星巡视探测任务的需求;小行星探测任务对飞行器智能感知、自主轨道机动与姿态稳定提出了迫切需求;非合作目标捕获需要航天器具备在轨智能感知、智能决策、智能控制能力;航天态势感知方面,现代战争要求卫星在轨目标检测、识别、跟踪,实现天基快速侦查、对抗。
2.2 武器装备对智能化的需求
现代战争也需要更加智能的武器,避障是巡航导弹的关键能力,要求导弹可以低空突防和躲避雷达探测,以提高生存能力;导弹、无人机等武器装备迫切需要智能目标检测识别能力;弹群协同攻击对智能感知、群智决策提出了应用需求[9];针对特定军事目标打击任务和天基预警任务存在的样本少,目标小的特点提出了小样本及小目标检测需求[2]。
针对上述在航天和武器装备领域对智能化算法的不同需求,结合目前主流的神经网络算法,给出了不同应用所应采用的算法和实现的算力要求,具体如表1所示,虽然各应用场景对算法的需求不同,但对算力的要求是统一的,需要发展自主可控的嵌入式智能算法推理加速技术。现有的航天计算机普遍缺乏智能计算能力,无法满足深空探测、航天群体智能、航天势态感知、天地一体化协同作战的需求,与人工智能应需求目标差距较大,需要航天专用智能计算机。
想要满足上述要求,关键就在于神经网络处理器的设计,目前国内外的神经网络处理器的种类较多,具体的情况如下文。
3 神经网络处理器研究现状
通用的神经网络处理器领域是学术和商业界的双重热点,国内外的神经网络处理器产品种类也十分丰富。
国外的例如英伟达的 Jetson TX2板卡,它具有 1.3TFLOPs 的算力,功耗在 7.5W~15W,具有 8G 内存和32G固态存储器,支持802.11acWLAN和蓝牙;又如英特尔神经计算棒二代,它体积小外形酷似U 盘,有着 13.9GMACC/s 的算力,功耗低至 1W,并且 ESA 已经针对星载应用进行了测试,支持 Tensor Flow[11]、Caffe[9]的深度学习框架。
国外产品具有计算能力强,功耗较低,配套软件支持丰富的特点,但不具备自主可控性不适用于航天、武器装备应用。
国内的产品比较具有代表性的如寒武纪相关的板卡产品,它支持 TesnsorFlow、Caffe等多种主流神经网络框架,支持 CNN、RNN等多种深度学习模型,算力为 16TFLOPs,功耗在 80W~110W,配套软件仅支持桌面端操作系统[4~8];又如华为的麒麟 970,该芯片为华为首款“人工智能处理器”SOC,架构中包含了寒武纪的 Cambricon-1A神经网络处理器,采用 10nm 工艺制造,计算能力为 1.92TFLOPs,目前仅支持安卓操作系统下的开发。
国内的产品计算能力强但功耗较大,配套软件支持平台有限,不适用于星弹载使用环境。
总结来说目前已有的神经网络处理器,国外的产品不具备自主可控性,国内的产品耗又偏高,并且这些商用处理器的配套软件缺乏航天嵌入式软件环境的支持,需要发展自主可控的嵌入式智能算法推理加速技术。
4 智能化计算解决方案
鉴于国产化设计需求和目前国产化器件的实际情况,我们进行了国产化器件选型并由不同的器件提出了两种不同的解决方案。
器件选型方面目前国产 FPGA 芯片厂商有无锡中微亿芯有限公司,成都华微电子科技有限公司,深圳国微电子有限公司,上海复旦微电子集团股份有限公司和航天科技 772 所这 5 家单位,其中复旦微电子和国微电子提供的产品指标相对高。对所有国产厂商的 FPGA 器件进行性能和指标对比后,我们得出结论:其中 SOC 方面只有复旦微电子 可 以 提 供 FMQL45T900,对 标 Xilinx 的 7 代 XC7Z045,性能高并且自带4个arm核。高性能FP⁃ GA 复旦微电子和国微电子都可以提供,具体型号如表2所示。
两者性能上均能满足计算需求,不同之处是复旦微电子不仅可以支持 Xilinx 开发环境还支持自主开发环境,在自主化应用方面两者都是不错的选择。
通过器件选型,只有上述三款 FPGA满足国产化和计算性能的需求,对此我们提出了两种具体的解决方案:一是使用高级综合的方法,采用 SOC 上 ARM 与 FPGA 一体化的解决方案;二是使用国产 ARM与FPGA组合方式搭建硬件平台的解决方案,神经网络加速器采用异构并行的方式进行神经网络算法处理。
4.1 基于SOC的神经网络加速器
总体方案如图 1所示,分为地面和星弹上两部分。其中地面部分主要是对PC端训练成熟的神经网络算法成果进行移植前的预处理工作,包括主流模型框架适配工作,模型的裁剪与轻量化;星弹上部分的CPU是神经网络专用的运行时部分,完成对硬件计算流程的调度,PFGA 部分是神经网络加速器的核心,对神经网络中计算密集型[1] ,如卷积, pooling进行并行加速计算。
如表3所示,采用SOC解决方案针对不同的卷积神经网络模型,都具有不错的性能来满足具体应用场景的需求。
采用 SOC 平台的优点是,是使用简单,仅需要一片SOC芯片;开发上利用C++语言统一设计运行时软件和 IP核,实现软件定义神经网络加速器,开发方式更加友好;在通用性方面支持 AlexNet[3]、 VGG-16[10]、GoogLeNet[12]、ResNet-50[13]等主流的卷积神经网络模型;支持 Convolution、Pooling、Decon⁃ volution、FC等计算密集类计算。
4.2 基于高性能FPGA的神经网络加速器
采用 ARM+FPGA 的异构计算架构,整体结构如图 2 所示,arm 处理器和 FPGA 均采用国产化芯片,具有自主可控的优点;支持目前最新的复杂的多种卷积操作,并可以根据新的算法随时添加新的计算单元;支持网络模型运算操作类型,如卷积层,逆卷积层,膨胀卷积层,池化层,归一化层,scale 层,非线性化层(实现函数:ReLU,PReLU,sigmoid 等);神经网络加速器计算单元之间互连、互通,形成池计算,根据计算需求适配,提高计算并行性。
相较于 SOC的解决方案,高性能 FPGA解决方案采用 ARM+FPGA的组合方式,两者通过 PCIE进行通信,开发难度上大于 SOC 的解决方案,并且高性能 FPGA 相较于 SOC 解决方案也会产生更高的功耗。同时这种解决方案带来的优势是更高性能的 FPGA带来更强大的算力,在并行计算上更具优势,可以满足比 SOC 更高算力的智能化计算需求,同时采用 PCIE 通用接口,可以在原有的计算机基础上进行智能计算的拓展升级而不影响其基础功能。
5 结语
本文讲述了航天和武器装备领域对智能化计算的需求,结合目前国内外神经网络处理器的发展情况,为自主可控的嵌入式智能加速技术提出了基于 SOC 和基于高性能 FPGA 的两种不同的解决方案,给航天和武器装备领域的智能化发展提供了思路。