位元大陸發力邊緣計算,詳解終端AI晶片BM1880
作者 | 中國科學院微電子研究所 劍白
前不久位元大陸推出其雲端人工智慧晶片--SOPHON(算豐)BM1682晶片,BM1682是位元大陸設計,並對影象、視訊等處理給予額外輔助支援的人工智慧硬體加速晶片,其峰值運算速度為3TFLOPs,可提供給使用者強大的硬體加速支援。近日,位元大陸又將推出其邊緣計算晶片BM1880,用於前端影象、視訊、語音、自然語言等等深度學習硬體加速。
邊緣計算與雲端計算
想必雲端計算大家都不陌生,雲端計算又可稱之為“集中式”計算系統。在雲端計算系統當中必會構建一個具有強大運算處理能力的雲端中心,使用者們可以將自己的本地的複雜資料通過網路傳輸到雲端,藉助雲端強大的運算執行能力來快速完成資料的處理任務。然而,雲端計算並不是時時處處都“奏效”的,雲端處理延時大、依賴於網路通暢度的好壞,因此對於實時性要求高、資料隱私性高的應用,將資料傳至雲端進行處理就十分的不合適。
邊緣計算的概念就因運而生,邊緣計算又可稱之“前端計算”。對於實時性要求高、資料保密性強、網路資源不充足等情況下,邊緣計算可以近水樓臺先得月,及時的將資料處理完畢,只將必要的資訊傳遞給雲端即可。此種方式,對於本地採集的資料,端裝置可以及時處理,並響應一些特殊的警報資訊,及時的通知使用者做出應對反應。可以說,邊緣計算與雲端計算是區域性與整體的關係,雲端計算負責“統籌”全域性、處理複雜但實時性要求不高的資訊,邊緣計算則負責守好自己的“一畝三分地”,對資訊進行預處理並及時丟擲異常警報,應對突發狀況。
位元大陸邊緣計算--BM1880晶片概覽
從BM1880最新披露的技術資料顯示,BM1880是聚焦於邊緣應用的深度學習推理人工智慧晶片。其主要應用方向為影象、視訊、以及其他型別的深度學習推理。產品支援豐富的AI功能:如人臉檢測、識別與表情分析;人體屬性與姿勢分析;物體檢測與識別;車牌識別;聲紋識別等等方面。
從功能模組圖上看,BM1880是一塊對視訊、影象進行人工智慧處理有額外支援的人工智慧晶片。
核心部分,BM1880包含一塊TPU(Tensor Processing Unit,張量計算單元),該TPU包含512個MAC,支援Winograd卷積運算。TPU用於人工智慧深度學習推理的硬體加速,可以極大的提高運算速度,加速系統的推理學習之星速度。同位元大陸的其餘人工智慧智慧晶片相同,BM1880的TPU也配備了排程引擎以給張量處理器核心提供極高的頻寬資料流,對於8位資料寬度的資料,其計算速度高達1TOPs, 而在Wingorad卷積加速運算下,提供高達2TOPs 的算力。值得注意的一點是,BM1880的典型功耗僅僅有2.5W,卻能提供1TOPs的運算能力,對於邊緣計算已經足夠。TPU中同時配置了2MB SRAM用於系統性能優化、資料重用以提供最佳的程式設計靈活性。
BM1880同時提供CPU用於人工智慧深度學習演算法的程式設計操作。BM1880的CPU共有2部分,一個是應用處理器,由雙核ARM A53構成,工作在1.5GHz;另一部分是精簡指令的RSIC-V處理器,由工作在1.0GHz的單核RISC-V構成。
BM1880人工智慧深度學習系統的運算結構配置可謂恰到好處各司其能,雙核CPU用於執行深度學習演算法,TPU用於深度學習演算法的硬體加速,單核CPU可以用於處理外設相關資訊。該配置能夠很方便的實現滿足外設實時性、深度學習演算法執行流暢性的要求。
專屬功能上,BM1880配備了視訊處理子系統的硬體模組,該模組算是十分貼心了,在影象視訊處理方面,使用者基本無需再新增外圍裝置,可以大大減少產品開發成本。該視訊子系統位於功能圖的右半部分,包含MJPEG編/解碼器、H.264解壓器、視訊後處理器(Video Post Processor)三個部分。MJPEG編/解碼器、H.264解壓器的配備也十分符合當前網路視訊資源的型別情況,視訊監控裝置最常用的視訊格式就是MJPEG和H.264,其中MJPEG作為監控廠商最初採用的視訊編碼壓縮格式,網路上和監控視訊存檔資源中MJPEG佔據中堅比例。H.264格式為有失真壓縮格式,其壓縮演算法相比於MJPEG更加先進,並且具有更高的壓縮比、更清晰的畫質同時具有更快的傳輸速度。H.264是目前網路、視訊監控中常用的壓縮格式。視訊後處理器(Video Post Processor)部分可以給進入BM1880的視訊流進行預處理,該模組支援深度學習中常用到視訊的操作,比如顏色空間轉換、尺寸剪裁、縮放等操作,通過硬體流水線的執行視訊預處理,無需軟體部分的參與,極大的減少了CPU的工作量。
記憶體方面BM1880配備了支援DDR3/DDR4,LPDDR3和LPDDR4四種規格的記憶體的功能,使用者的程式和資料流均可存放在記憶體當中,加速其演算法執行。
本地儲存方面BM1880同樣配備了常用的儲存裝置介面,結合相應的裝置,BM1880可以在本地讀取、儲存資料流,如當需要深度學習處理的資料儲存在本地的時候,系統就可以直接從本地中讀取影象、視訊、或其他資料流進入記憶體進行推理學習處理。儲存裝置介面包括SD/SDIO、eMMC、SPI NOR快閃記憶體、NAND Flash等。SD/SDIO配備了高速功能,支援最高187.5MHz的工作速率,介面除了用於SD卡的讀寫之外還可以通過新增外設的情況下來增加藍芽、攝像頭、GPS、以及802.11 a/b/g/n無線等功能,高速的介面速度可以滿足大資料流的傳輸要求。eMMC最大支援32GB快閃記憶體,使用者可以根據需求選擇合適的快閃記憶體接入系統,進行儲存/讀取等操作。同時,BM1880可以支援NAND Flash 也可以支援SPI NOR Flash。
BM1880還配備了2個乙太網介面和USB介面。乙太網介面支援百兆和千兆速率。USB介面配備了一個高速USB3.0介面和一個支援主/從的OTG2.0的介面。BM1880除了可以從本地儲存裝置讀取資料流資訊之外,還可以通過乙太網介面和USB介面接收來自外設或主機傳輸的影象、視訊、以及其他型別的流資料進行深度學習推理運算或其他視覺處理任務。
除錯介面配備了通用的JTAG介面,同過JTAG介面使用者可以方便、快捷的下載程式以及除錯程式。
BM1880在功能性外設介面方面也提供的充足的支援:BM1880配備了4個通用序列介面UART、5個I2C介面、通用GPIO口以及16路PWM輸出。UART介面以及I2C介面也可以提供低速通訊功能,與外設進行互動。數量上UART為4路,I2C為5路,使用者可以根據開發需求方便的連線足夠多的外接感測器,這點可以看出BM1880在設計上還是很貼心的,使用者在開發上基本上無需為介面不足而煩憂。通用GPIO口和16路PWM可以提供強大的反饋控制功能,在深度學習邊緣計算當中,對於需要及時處理的突發警報情況,BM1880核心程式可以通過直接驅動GPIO口或PWM介面來及時的對外界裝置進行應急處理或進行警報提醒。
BM1880是重點面向影象、視訊深度學習處理的邊緣計算人工智慧晶片,除了對影象/視訊的強力支援意外,還配備了2路音訊訊號I2S介面。該介面可以支援音訊訊號的輸入和輸出功能,晶片本身只提供了介面,並未配備響應的硬體編碼解碼,相關的編碼/解碼工作可以由軟體部分完成。
BM1880的軟體支援和開發生態鏈
在人工智慧深度學習產品開發的過程中,使用者選定人工智慧深度學習硬體晶片以後,由於硬體往往是固定不可調節的,此時軟體支援將是使用者更為關心的點。強大的軟體支援意味著流暢的開發速度、穩定的產品效能以及較低的時間、投入成本。恰恰位元大陸在其開發生態鏈上具有完善的開發體系,給與其人工智慧晶片完整的支援。同其餘款深度學習人工智慧晶片BM1680/BM1682一樣,官方對於BM1880同樣也由強大的軟體支援。位元大陸對BM1880使用者提供了強大的深度學習模型編譯器以及軟體SDK開發包,使用者無需為程式演算法移植花費太多精力——主流的深度學習架構,如Caffe和Tensorflow,都可以輕鬆的移植到BM1880平臺上。同時,常見的神經網路模型,如CNN/RNN/DNN等模型也均可以在BM1880上被執行。
BM1880應用模式
通過上述軟硬體部分的解析可以看出,BM1880具有不俗的深度學習硬體加速能力。顯然除了讓BM1880作為協處理器進行邊緣計算以外,在非巨大運算量的場合,如區域性視訊監控等方面,BM1880作為主處理器也是完全可以勝任的。BM1880具有豐富的外設和高速的通訊介面,配合其1TFLOPs的巔峰算力,作為前端處理非常合適了。下圖為BM1880的常見應用方式有3種:
第一種是“雲端-邊緣”計算系統,即“邊緣計算”的方式。在“雲-端”方式中,系統不僅要對四面八方湧來的資料做處理,還要對異常情況進行監測,一旦監測到異常情況,“端”部分就需要及時的丟擲異常並給出處理方案以保證端系統的安全性。在系統中,雲部分主要負責前端通過通訊鏈路(如網路)傳送的複雜資料流的處理,以及統籌整個人工智慧深度學習系統;而在端部分,如在視訊監控中,結合感測器端系統可以通過本地的簡單處理,就可以及時發現火災、結合人臉識別/動靜物等操作也可以及時發現盜竊等情況;BM1880處於系統的前端,中心雲處理部分負責系統的排程和深度學習中複雜資料的推理學習。同時該方式可以減輕系統對網路資源的依賴性。由於BM1880處於本地位置最接近原始資料流的源頭,可以率先對進入系統的資料流進行初步分析,發現異常情況,並將前期處理在前端部分完成,然後將壓縮、精簡後的資料傳至雲端,再由雲端進行處理。
第二種應用方式是BM1880作為協處理器進行工作。BM1880可以很容易開發成為一個協處理器,執行人工智慧深度學習程式的主機將需要進行深度學習推理的影象、視訊、以及其他型別的資料流傳輸給BM1880,BM1880藉助其自身強大的推理學習能力進行快速計算,然後結果返回給主機,主機再進行處理。
第三種應用方式就是BM1880可作為主處理器進行工作。BM1880具有強大的深度學習運算能力,高達1TFLOPs的執行速度加上高速的CPU,在很多情況下,是完全可以勝任做為主處理器進行人工智慧深度學習推理的任務的。下圖就是其應用框架圖。BM1880作為主處理器直接接收影象、視訊、以及其他型別的資料流進行深度學習推理運算,根據推理結果可直接通過控制介面對外部裝置進行實時調控。
BM1880官方產品
在BM1880的基礎上,位元大陸還推出了部分以BM1880為核心的人工智慧產品。簡單介紹一下各款產品。
USB人工智慧算力棒:該款產品對於廣大開發者來說可謂是溜溜溜了!USB輕輕一插,PC搖變算力王!單從外觀上看,鋁合金的外殼,精緻的散熱外盒,科技感十足。此時USB人工智慧算力棒中BM1880就是一個協處理器的應用方式了,使用者在PC或者是其餘支援USB介面的裝置上執行深度學習演算法時,往往礙於自身裝置的效能演算法導致執行緩慢,換裝置費錢費時不划算,有此USB人工智慧算力棒,只要輕輕接入使用者主裝置,大量的深度推理過程統統交給算力棒,釋放主裝置資源,助力系統流暢度。
USB人工智慧模組:該產品為集成了BM1880的PCB人工智慧算力模組。由圖可以看到,這是一個最小化的系統。客戶在需要深度學習推理的產品中可以直接採用新增此模組,無需重新繪製電路板。結合該模組,任何產品都可以輕輕鬆鬆實現AI功能。
BM1880開發板:該部分無需多做說明了。對於人工智慧深度學習的初學者和研究者,一塊開發板是其入門進階的最好選擇。整合的硬體系統,體系完善的學習資料,充足的程式碼示例無疑是開發學習人員的最佳選擇。