比特大陸第二代人工智能芯片BM1682測(cè)評(píng):專門用于圖像、視頻處理
近日,坊間傳聞許久的比特大陸第二代人工智能芯片BM1682,正式出現(xiàn)在其官網(wǎng)頁面。根據(jù)比特大陸一貫神秘務(wù)實(shí)的風(fēng)格,相信基于BM1682的板卡、服務(wù)器也已經(jīng)備好了。筆者在芯片行業(yè)浸淫十多年,嘗試根據(jù)比特大陸官網(wǎng)公布的產(chǎn)品白皮書,來分析一下這兩代人工智能芯片之間的異同,嘗試談一談比特大陸在人工智能領(lǐng)域的意圖和野心。
本文引用地址:http://butianyuan.cn/article/201808/390911.htm2017年第4季度,比特大陸正式推出了其人工智能品牌算豐(SOPHON),發(fā)布了全球首款公開發(fā)售的TPU(Tensor Processing Unit張量計(jì)算單元)芯片BM1680,專門用于人工智能中的深度學(xué)習(xí)加速。時(shí)隔不足一年,2018年3月,比特大陸又推出其第二款TPU芯片BM1682,根據(jù)初步披露的資料顯示,BM1682是一塊專門用于圖像/視頻處理方向的人工智能芯片。
BM1682與BM1680使用了相同的深度學(xué)習(xí)算法的硬件加速模塊,但相比BM1680而言,BM1682具有更強(qiáng)大的深度學(xué)習(xí)算法執(zhí)行能力,此外BM1682還增加了視頻處理子模塊,以及適用于具體應(yīng)用場(chǎng)景的諸多功能模塊。
下面我們對(duì)其兩者進(jìn)行一個(gè)具體的對(duì)比評(píng)測(cè):
頂層架構(gòu)——BM1682定位更細(xì)分
從頂層架構(gòu)可以看出,BM1680和BM1682均集成了深度學(xué)習(xí)算法所用到的核心模塊NPUs。NPU是比特大陸自行研發(fā)的深度學(xué)習(xí)算法硬件加速器,用于加速深度學(xué)習(xí)算法的執(zhí)行速度。
從頂層架構(gòu)圖上可以看到,BM1680比BM1682額外集成了高度定制的BMDNN Chip Link Subsystem。該子模塊可以在高速SerDes上提供穩(wěn)定、靈活、低延遲的鏈路。用戶可以通過該鏈路將多個(gè)BM1680芯片連接成一個(gè)統(tǒng)一的整體,使其協(xié)同工作,大大提高系統(tǒng)的運(yùn)算能力。BM1682并沒有集成此模塊,這大概是基于BM1682專一化的市場(chǎng)應(yīng)用定位,以及處理速度足夠滿足用戶對(duì)圖像/視頻處理需求而考慮的。
從頂層架構(gòu)圖上可以看到與BM1680相比,BM1682芯片的整體架構(gòu)發(fā)生了不小的變化,其定位則更加細(xì)分明確。從右上角增加的Video Subsystem模塊可以明確看出,該款芯片定位于圖像/視頻處理方向。
(數(shù)據(jù)來自比特大陸官網(wǎng))
模塊細(xì)節(jié)——BM1682設(shè)計(jì)更豐富
BM1682的深度學(xué)習(xí)加速的核心功能模塊與BM1680是相同的。兩款芯片均包含了深度學(xué)習(xí)的核心單元—硬件加速器NPU Subsystem。兩者的NPU Subsystem均各自集成了64個(gè)NPU單元,統(tǒng)一由NPU Schedule Engine進(jìn)行調(diào)度(BM1682架構(gòu)圖中未體現(xiàn)),最大化的提高了NPUs的效率,加快了深度學(xué)習(xí)算法inference (推演)與training (訓(xùn)練)的速度。根據(jù)初步資料顯示,兩者在MCU的配置上是有些許差異的,但由于資料不全面,故無法評(píng)斷出兩者的MCU處理能力的差別。
除了深度學(xué)習(xí)算法硬件加速模塊(NPUs)、用于高速連接其余BM1680的Chip Link模塊之外,BM1680還提供了4個(gè)獨(dú)立的DDR4通道,最高支持16GB的DDR3 或 DDR4 DRAM拓展,用于高速數(shù)據(jù)緩存讀取,以提高系統(tǒng)的執(zhí)行速度。BM1680還加入了Global DMA模塊。DMA用于提供數(shù)據(jù)搬移功能,這可以在大塊數(shù)據(jù)進(jìn)行讀寫搬移時(shí)不占用MCU的資源,如在DDR4 的RAM中搬移數(shù)據(jù)時(shí)。對(duì)于大數(shù)據(jù)量的深度學(xué)習(xí)系統(tǒng),DMA可以極大的提高效率。BM1680的Peripheral Subsystem 提供了UART、SPI、IIC與GPIO等接口,用于外接傳感器,或與外界進(jìn)行通訊、記錄、控制等操作。這些接口都屬于通用接口,可見BM1680的定位就是通用深度學(xué)習(xí)芯片,在外設(shè)上沒有給與太多支持。
從架構(gòu)圖看,BM1682明顯復(fù)雜了很多。其額外增加了AP (Application Processor) Subsystem和Video Subsystem(視頻處理系統(tǒng))。Video Subsystem(視頻子系統(tǒng))則主要專注于視頻預(yù)處理的相關(guān)任務(wù)。
BM1682的Video Subsystem提供了2個(gè)H.264視頻解碼器,1個(gè)H.265解碼器。H.264 /H.265均為視頻編碼方式,也是比較流行的視頻編碼的兩種方式。相對(duì)而言,H.265視頻編碼比H.264具有更高的壓縮比、更強(qiáng)的網(wǎng)絡(luò)糾錯(cuò)適應(yīng)能力,但考慮到現(xiàn)階段在安防、智能家居和互聯(lián)網(wǎng)視頻領(lǐng)域中仍然還是以H.264編碼的視頻和視頻設(shè)備為主,兩者2:1的譯碼器數(shù)量在視頻支持類型和解碼帶寬做了一個(gè)合適的權(quán)衡。比較貼心的是,BM1682提供了Video Post-Processing功能,該子模塊用于對(duì)采用H.264或H.265編碼的視頻進(jìn)行渲染處理,這些渲染處理主要包括顏色空間轉(zhuǎn)換、視頻剪裁、縮放操作、仿射變換、多幀拼接等常規(guī)操作。經(jīng)過Video Post-Processing對(duì)外界進(jìn)入的視頻數(shù)據(jù)進(jìn)行硬件加速預(yù)處理后,Video Subsystem會(huì)將處理后數(shù)據(jù)通過總線傳輸給NPUs、DRAM、AP System或外接存儲(chǔ)設(shè)備,然后進(jìn)行后續(xù)的深度學(xué)習(xí)處理等操作。
BM1682提供了豐富的外界交互接口,如高速接口PCIE、以太網(wǎng)、SDIO3.0、WIFI等。BM1682將數(shù)據(jù)處理完畢后可以很方便的通過PCIE接口、以太網(wǎng)接口、或者WIFI接口將數(shù)據(jù)傳輸?shù)娇偡?wù)器。若是條件限制沒有網(wǎng)絡(luò)接入點(diǎn),用戶可以選擇通過接入SDIO3.0的eMMC存儲(chǔ)器或是PCIE式存儲(chǔ)器將數(shù)據(jù)存儲(chǔ)到本地存儲(chǔ)裝置。可見,BM1682對(duì)其可能的應(yīng)用場(chǎng)景做了充分的考慮并給予了硬件支持,用戶可以根據(jù)需求,靈活方便的進(jìn)行配置。
Peripheral Subsystem方面,BM1682比BM1680要豐富的多,這大大方便了用戶進(jìn)行系統(tǒng)拓展,如添加額外傳感器等。BM1682的外設(shè)包括2個(gè)SPI接口、4個(gè)UART接口、4個(gè)IIC、4路PWM生成器、一塊內(nèi)嵌式SPI Flash、WDG、Timer、GPIO、PVT Sensor、Top Reg、Efuse、ROM。由給出的外設(shè)可以看到,BM1682的設(shè)計(jì)考慮了配置、存儲(chǔ)、對(duì)外界系統(tǒng)實(shí)時(shí)控制、以及加密保護(hù)等功能,極大提高了系統(tǒng)的靈活性、安全性,省卻了用戶額外添加相關(guān)功能的開發(fā)成本。
性能分析——BM1682極大提升
NPU深度學(xué)習(xí)硬件加速器是人工智能的核心。兩者NPUs模塊集成了64個(gè)NPUs單元,通過NPU Schedule Engine進(jìn)行調(diào)度。BM1682中每個(gè)NPU含有32個(gè)EUs,BM1680未知。根據(jù)BM1680、BM1682數(shù)據(jù)手冊(cè)顯示,單片BM1680單精度運(yùn)算速度為2TFLops;單片BM1682單精度運(yùn)算速度為3TFLops。BM1682的單片運(yùn)算速度高出BM1680 50%。
BM1680單片的運(yùn)行速度低于BM1682,但BM1680支持級(jí)聯(lián)工作模式,數(shù)個(gè)BM1680可以通過高速的Chip Link Subsystem組成一個(gè)集群式的系統(tǒng),進(jìn)行更高處理量的運(yùn)算處理任務(wù)。BM1682不具備級(jí)聯(lián)功能。下圖為BM1680芯片的級(jí)聯(lián)連接示意圖。
圖|級(jí)聯(lián)方式:每個(gè)Node代表一個(gè)BM1680
電學(xué)方面,根據(jù)兩者的數(shù)據(jù)手冊(cè)顯示:滿載工作時(shí)BM1680的TPD(Thermal Design Power熱設(shè)計(jì)功耗)為41W;:滿載工作時(shí)BM1682的TPD小于50W。從功耗角度分析,BM1680的2TFlops的NPUs速度應(yīng)該是有所保留的。
(數(shù)據(jù)來自比特大陸官網(wǎng))
開發(fā)生態(tài)——兩代芯片都很到位
BM1680、BM1682均支持的主流的CNN/RNN/DNN深度學(xué)習(xí)架構(gòu),通過這兩款TPU芯片進(jìn)行硬件加速,可以極大的提高深度學(xué)習(xí)算法的執(zhí)行速度。當(dāng)然,BM1680和BM1682也可以通過基礎(chǔ)的矩陣運(yùn)算進(jìn)行深度學(xué)習(xí)的模型、架構(gòu)的搭建。
在開發(fā)生態(tài)方面,兩款芯片的支持也是很到位的。BM1680、BM1682均對(duì)后端用戶提供SDK;如果用戶需要進(jìn)行深度優(yōu)化以獲取算法最優(yōu)性能,可以聯(lián)系廠家獲得相關(guān)教學(xué)支持。
應(yīng)用領(lǐng)域——BM1682更專注圖像、視頻處理
由前述分析可知,BM1680為通用性人工智能芯片,其應(yīng)用方向沒有偏向性,芯片內(nèi)部主要集成了深度學(xué)習(xí)算法所需要的基本模塊,應(yīng)用各種人工智能的深度學(xué)習(xí)算法,通過添加相應(yīng)的外圍電路模塊,BM1680可以搭建成適用于任一個(gè)領(lǐng)域的深度學(xué)習(xí)系統(tǒng)——像圖片識(shí)別、自然語言處理、文本處理、金融、醫(yī)學(xué)等等大小領(lǐng)域均可選擇該芯片實(shí)現(xiàn)。BM1680更加具有靈活性。而且,BM1680可以進(jìn)行級(jí)聯(lián),所以對(duì)于需要處理巨大數(shù)據(jù)量的人工智能深度學(xué)習(xí)系統(tǒng),BM1680尤為合適。像企業(yè)級(jí)應(yīng)用、海量數(shù)據(jù)處理等方面,通過簡(jiǎn)單的級(jí)聯(lián)BM1680就可以獲取相匹配的計(jì)算能力,靈活而強(qiáng)大。
而BM1682則是一個(gè)升級(jí)版的BM1680并配備了專門用于視頻處理的集成系統(tǒng),整個(gè)BM1682芯片搭載了視頻處理所需要的全部核心模塊,以及對(duì)其具體應(yīng)用場(chǎng)景適應(yīng)性的輔助模塊。BM1682對(duì)于需要進(jìn)行圖像/視頻處理的市場(chǎng)應(yīng)用可謂是十分便捷了。BM1682的輔助功能配置模塊自帶有線與無線網(wǎng)絡(luò)功能,對(duì)于視頻監(jiān)控方向的市場(chǎng)應(yīng)用十分方便,無線功能更是省略了網(wǎng)線布線的繁瑣施工,并且可用于實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。對(duì)于一些沒有網(wǎng)絡(luò)的場(chǎng)合,如科研領(lǐng)域的野外視頻收集處理、閉路視頻監(jiān)控等,BM1682可以輕松的添加外置存儲(chǔ)裝置進(jìn)行數(shù)據(jù)備份收集。BM1682作為圖像/視頻方向深度學(xué)習(xí)的SoC片上系統(tǒng),市場(chǎng)前景很是廣闊,這款新品還是很值得期待的。
評(píng)論