周凡 馬鐘 馬瑤 李申
(西安微電子技術研究所 西安 710054)
嵌入式智能算法推理加速技術就是利用FPGA相較于傳統(tǒng)處理器并行處理的優(yōu)勢來提高智能算法的推理速度,智能化計算是航天器和武器裝備領域目前的研究趨勢,缺乏自主可控的智能算法推理能力是制約該領域智能化發(fā)展的瓶頸問題。本文主要講述了航天智能化的計算需求,國內外神經(jīng)網(wǎng)絡處理器研究現(xiàn)狀,提出了國產(chǎn)人工智能處理器的解決方案,為航天領域的神經(jīng)網(wǎng)絡處理器的發(fā)展提供了思路。
航天事業(yè)的飛速發(fā)展,對航天器提出了智能化要求,以支持更復雜的環(huán)境和更難的深空任務探月工程需要飛行器自主、快速機器視覺識別與智能控制,確保安全著陸;目前火星探測天地大回路控制決策的工作方式實時性低,難以滿足火星巡視探測任務的需求;小行星探測任務對飛行器智能感知、自主軌道機動與姿態(tài)穩(wěn)定提出了迫切需求;非合作目標捕獲需要航天器具備在軌智能感知、智能決策、智能控制能力;航天態(tài)勢感知方面,現(xiàn)代戰(zhàn)爭要求衛(wèi)星在軌目標檢測、識別、跟蹤,實現(xiàn)天基快速偵查、對抗。
現(xiàn)代戰(zhàn)爭也需要更加智能的武器,避障是巡航導彈的關鍵能力,要求導彈可以低空突防和躲避雷達探測,以提高生存能力;導彈、無人機等武器裝備迫切需要智能目標檢測識別能力;彈群協(xié)同攻擊對智能感知、群智決策提出了應用需求[9];針對特定軍事目標打擊任務和天基預警任務存在的樣本少,目標小的特點提出了小樣本及小目標檢測需求[2]。
針對上述在航天和武器裝備領域對智能化算法的不同需求,結合目前主流的神經(jīng)網(wǎng)絡算法,給出了不同應用所應采用的算法和實現(xiàn)的算力要求,具體如表1所示,雖然各應用場景對算法的需求不同,但對算力的要求是統(tǒng)一的,需要發(fā)展自主可控的嵌入式智能算法推理加速技術?,F(xiàn)有的航天計算機普遍缺乏智能計算能力,無法滿足深空探測、航天群體智能、航天勢態(tài)感知、天地一體化協(xié)同作戰(zhàn)的需求,與人工智能應需求目標差距較大,需要航天專用智能計算機。
表1 不同應用場景對神經(jīng)網(wǎng)絡處理器的不同需求
想要滿足上述要求,關鍵就在于神經(jīng)網(wǎng)絡處理器的設計,目前國內外的神經(jīng)網(wǎng)絡處理器的種類較多,具體的情況如下文。
通用的神經(jīng)網(wǎng)絡處理器領域是學術和商業(yè)界的雙重熱點,國內外的神經(jīng)網(wǎng)絡處理器產(chǎn)品種類也十分豐富。
國外的例如英偉達的Jetson TX2板卡,它具有1.3TFLOPs的算力,功耗在7.5W~15W,具有8G內存和32G固態(tài)存儲器,支持802.11acWLAN和藍牙;又如英特爾神經(jīng)計算棒二代,它體積小外形酷似U盤,有著13.9GMACC/s的算力,功耗低至1W,并且ESA已經(jīng)針對星載應用進行了測試,支持Tensor Flow[11]、Caffe[9]的深度學習框架。
國外產(chǎn)品具有計算能力強,功耗較低,配套軟件支持豐富的特點,但不具備自主可控性不適用于航天、武器裝備應用。
國內的產(chǎn)品比較具有代表性的如寒武紀相關的板卡產(chǎn)品,它支持TesnsorFlow、Caffe等多種主流神經(jīng)網(wǎng)絡框架,支持CNN、RNN等多種深度學習模型,算力為16TFLOPs,功耗在80W~110W,配套軟件僅支持桌面端操作系統(tǒng)[4~8];又如華為的麒麟970,該芯片為華為首款“人工智能處理器”SOC,架構中包含了寒武紀的Cambricon-1A神經(jīng)網(wǎng)絡處理器,采用10nm工藝制造,計算能力為1.92TFLOPs,目前僅支持安卓操作系統(tǒng)下的開發(fā)。
國內的產(chǎn)品計算能力強但功耗較大,配套軟件支持平臺有限,不適用于星彈載使用環(huán)境。
總結來說目前已有的神經(jīng)網(wǎng)絡處理器,國外的產(chǎn)品不具備自主可控性,國內的產(chǎn)品耗又偏高,并且這些商用處理器的配套軟件缺乏航天嵌入式軟件環(huán)境的支持,需要發(fā)展自主可控的嵌入式智能算法推理加速技術。
鑒于國產(chǎn)化設計需求和目前國產(chǎn)化器件的實際情況,我們進行了國產(chǎn)化器件選型并由不同的器件提出了兩種不同的解決方案。
器件選型方面目前國產(chǎn)FPGA芯片廠商有無錫中微億芯有限公司,成都華微電子科技有限公司,深圳國微電子有限公司,上海復旦微電子集團股份有限公司和航天科技772所這5家單位,其中復旦微電子和國微電子提供的產(chǎn)品指標相對高。對所有國產(chǎn)廠商的FPGA器件進行性能和指標對比后,我們得出結論:其中SOC方面只有復旦微電子可以提供FMQL45T900,對標Xilinx的7代XC7Z045,性能高并且自帶4個arm核。高性能FP?GA復旦微電子和國微電子都可以提供,具體型號如表2所示。
表2 高性能國產(chǎn)FPGA對比
兩者性能上均能滿足計算需求,不同之處是復旦微電子不僅可以支持Xilinx開發(fā)環(huán)境還支持自主開發(fā)環(huán)境,在自主化應用方面兩者都是不錯的選擇。
通過器件選型,只有上述三款FPGA滿足國產(chǎn)化和計算性能的需求,對此我們提出了兩種具體的解決方案:一是使用高級綜合的方法,采用SOC上ARM與FPGA一體化的解決方案;二是使用國產(chǎn)ARM與FPGA組合方式搭建硬件平臺的解決方案,神經(jīng)網(wǎng)絡加速器采用異構并行的方式進行神經(jīng)網(wǎng)絡算法處理。
總體方案如圖1所示,分為地面和星彈上兩部分。其中地面部分主要是對PC端訓練成熟的神經(jīng)網(wǎng)絡算法成果進行移植前的預處理工作,包括主流模型框架適配工作,模型的裁剪與輕量化;星彈上部分的CPU是神經(jīng)網(wǎng)絡專用的運行時部分,完成對硬件計算流程的調度,PFGA部分是神經(jīng)網(wǎng)絡加速器的核心,對神經(jīng)網(wǎng)絡中計算密集型[1],如卷積,pooling進行并行加速計算。
圖1 基于SOC高級綜合的神經(jīng)網(wǎng)絡加速器整體框架
如表3所示,采用SOC解決方案針對不同的卷積神經(jīng)網(wǎng)絡模型,都具有不錯的性能來滿足具體應用場景的需求。
表3 基于SOC高級綜合方式的神經(jīng)網(wǎng)絡加速器的計算性能
采用SOC平臺的優(yōu)點是,是使用簡單,僅需要一片SOC芯片;開發(fā)上利用C++語言統(tǒng)一設計運行時軟件和IP核,實現(xiàn)軟件定義神經(jīng)網(wǎng)絡加速器,開發(fā)方式更加友好;在通用性方面支持AlexNet[3]、VGG-16[10]、GoogLeNet[12]、ResNet-50[13]等主流的卷積神經(jīng)網(wǎng)絡模型;支持Convolution、Pooling、Decon?volution、FC等計算密集類計算。
采用ARM+FPGA的異構計算架構,整體結構如圖2所示,arm處理器和FPGA均采用國產(chǎn)化芯片,具有自主可控的優(yōu)點;支持目前最新的復雜的多種卷積操作,并可以根據(jù)新的算法隨時添加新的計算單元;支持網(wǎng)絡模型運算操作類型,如卷積層,逆卷積層,膨脹卷積層,池化層,歸一化層,scale層,非線性化層(實現(xiàn)函數(shù):ReLU,PReLU,sigmoid等);神經(jīng)網(wǎng)絡加速器計算單元之間互連、互通,形成池計算,根據(jù)計算需求適配,提高計算并行性。
圖2 基于自主可控方案的神經(jīng)網(wǎng)絡加速器整體架構
相較于SOC的解決方案,高性能FPGA解決方案采用ARM+FPGA的組合方式,兩者通過PCIE進行通信,開發(fā)難度上大于SOC的解決方案,并且高性能FPGA相較于SOC解決方案也會產(chǎn)生更高的功耗。同時這種解決方案帶來的優(yōu)勢是更高性能的FPGA帶來更強大的算力,在并行計算上更具優(yōu)勢,可以滿足比SOC更高算力的智能化計算需求,同時采用PCIE通用接口,可以在原有的計算機基礎上進行智能計算的拓展升級而不影響其基礎功能。
本文講述了航天和武器裝備領域對智能化計算的需求,結合目前國內外神經(jīng)網(wǎng)絡處理器的發(fā)展情況,為自主可控的嵌入式智能加速技術提出了基于SOC和基于高性能FPGA的兩種不同的解決方案,給航天和武器裝備領域的智能化發(fā)展提供了思路。