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