作者 | 中國科學院微電子研究所 劍白
前不久比特大陸推出其雲端人工智慧晶片--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開發板:該部分無需多做說明了。對於人工智慧深度學習的初學者和研究者,一塊開發板是其入門進階的最好選擇。集成的硬體系統,體系完善的學習資料,充足的代碼示例無疑是開發學習人員的最佳選擇。