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