邊緣AI芯片是個什麼玩意?_風聞
歪睿老哥-芯片研发工程师-聚焦芯片行业的那些事,唯武侠与芯片不可辜负2022-01-06 17:08
1:AI芯片分類
市場上很多AI芯片,令人眼花繚亂。
根據其應用範圍,大體上可以分為幾類
**終端AI芯片:**終端AI芯片要求功耗低,算力需求也相對較低,主要是AI推理的應用。終端AI芯片以各種帶AI模塊的MCU來呈現,專注於某一類應用,例如,智能音箱裏面的AI芯片,可以用於語音識別。智能門鎖的AI芯片,可以人臉識別等等
**雲端AI芯片:**雲端AI芯片則是數據中心,用於雲端AI加速,不但可以推理也可以做訓練。例如NVIDLA的GPGPU卡,谷歌的TPU等等。雲端AI芯片性能比較強,面積也非常大,例如A100據説在7nm下有826mm2,性能也比較強悍!
除此之外,還有邊緣AI芯片。
那麼邊緣AI芯片是做什麼來用的。
提到邊緣計算,有一個非常有名的“章魚論”。
章魚這種生物比較奇怪,章魚有8條腿,但是章魚的某些決策不是都要放到大腦中來計算,而是在腿中就進行計算。
這個章魚腿相比於章魚大腦(雲端),就是邊緣端!
這個比喻非常有趣,以至於經常被邊緣計算的場景來引用。
例如,自動駕駛或者ADAS (智能駕駛輔助系統),需要在本地就把整個決策及設計完成。
有很多在需要大數據量計算但是實時性比較高,不需要繞一圈到雲中心來計算的場景
例如智能駕駛,智能工廠,與安防結合交通管理等等。
相對於終端AI芯片很多消費級的場景,邊緣AI芯片更多的是工業領域的應用。
邊緣AI基本上將應用侷限在某個範圍內,可以是一輛汽車,一列火車,一個工廠,一個商店。
在這個範圍內,有一些實時的AI決策及處理需求需要被滿足。
相應的我們會把AI賦能稱之為,自動駕駛,智能製造,智慧零售等等。
其核心目的主要強調在數據來源側來解決問題。
這就是邊緣AI芯片存在的需求。
2:邊緣AI芯片特徵
那麼邊緣AI芯片都有什麼特徵?
1:算力強:邊緣AI的算力要比終端要算力更強,通常都是獨立解決問題。但是性能要比小區的人臉識別或者智能音箱這種語音識別的基於某種應用的端側AI芯片的處理能力要強1-2個數量級。
2:外設豐富:邊緣AI基本上強調信息的可獲得性,例如多路攝像頭的輸入的需求,對於類似MIPI的接口的數量會有很大的需求,例如可以同時支持多路攝像頭等視頻音頻的輸入。
3:可編程性:邊緣AI芯片通常用面向工業用户,需要AI賦能用户,換言之:AI要和用户應用場景相結合,通常根據不同工業用户不同的場景需要進行編程,用於適配不同的模型和場景。也不侷限於某種應用。
一個良好的可編程的架構是解決問題的關鍵。邊緣AI芯片不是直接給工業客户用,而是要根據工業客户的需求進行客户需求AI賦能,這個是邊緣AI芯片核心特徵。
3:邊緣AI芯片架構
那麼邊緣AI芯片的架構是什麼樣子的?
舉個例子,邊緣AI計算平台,JESTON 應該算是一個。
其最新一代發佈的是JESTON AGX Orin 。
JETSON作為英偉達邊緣的AI計算平台,其名氣沒有英偉達的GPGPU大。
但是,JESTON同時繼承了Ampere的架構的GPGPU和 ARM Cortex-A78,在邊緣側AI芯片中,既可以做推理也可以做訓練。
作為一個邊緣AI產品,其有200Tops的處理性能(INT8)。
我們以JESTON AGX Orin為例,探索下其芯片內部架構是怎樣的。

這個芯片的計算部分主要是三大件:CPU,GPU,DSA(NVDLA+PVA)
CPU:
JESTON其內部有3組4核的A78,頻率可以到2Ghz。也就是説,這個芯片內部有12核的A78的處理器,不同於手機的處理器,3個cluster的A78是對稱的,不是手機處理器的大小核設計,其主要是面向計算服務,而不是手機應用中不同負載的低功耗。在一些標量的運算中,多核A78的計算能力也是非常強悍。

GPU:
GPU是英偉達最新的安培架構,擁有2048個CUDA核,以及64個Tensor內核。這些都可以可編程的。安培架構是最新一代的GPGPU架構,前面幾代分別是:Kepler,Maxwell,Pascal, Volta等。最新一代的安培架構升級了tensor core。用了安培GPU以後,與其他邊緣AI芯片不同的是,可以支持推理和訓練。
最重要的是,這個AI芯片可以用cuda來編程了,而可編程性則是邊緣AI芯片的核心需求了。

DSA:
作為AI加速單元,JESTON本身也有另外還有2個NVDLA 的硬核,以及VISION加速器 PVA;
NVDLA主要用於推理。內核核心還是一個大的矩陣卷積運算。
其中NVDLA已經開源,有興趣的小夥伴可以在GITHUB上下載並運行這些源碼。詳見:nvdla· GitHub
這個可以可看到工業界的實際在用的成果開源,也對業界有很大的促進作用。

PVA用了VPU的架構,使用VLIW的架構,VLIW是超長指令字結構,其並行度比較好,VIEW架構設計簡化了硬件結構,其二,VLIW的大位寬執行並不會以犧牲性能和頻率為代價。但是同時將問題交給了軟件來運行。

IO資源:
除了計算資源,IO資源也比較豐富,畢竟邊緣AI側,就需要的豐富的輸入,支持6個攝像頭以及16組通道的MIPI接口。
如果邊緣AI芯片選一個重要的接口,那肯定是MIPI了,畢竟,邊緣AI芯片,除了算力之外,還缺少不了的就是MIPI接口。
MIPI就是邊緣AI芯片的眼睛,(用於連接攝像頭)。畢竟和人不同,需要很多雙眼睛,畢竟邊緣AI芯片需要“眼觀六路,耳聽八方”。
只有大腦,沒有耳朵和眼睛,邊緣AI芯片是不能工作的。
同樣還有USB接口,也可以支持一些USB攝像頭。
同樣可以支持PCIe。RC和EP都支持,也就是説,可以同時作為加速卡插在別的主機上,也可以作為主設備插別的加速卡。
同時在網絡方面,支持4路10G口,可以實現高速互聯,如果有需要可以實現高速網絡傳輸,或者幾個JESTON AGX的互聯。
下圖就是 JESTON AGX Orin 的詳細參數,拿走不謝!

根據這些參數,芯片面積小不了,我覺得這顆芯片可能是7nm的製程。才能在面積和功耗上比較平衡一下。
其典型功耗大約在15W,30W,45W幾個不同的量級上。
4:邊緣AI芯片作用
那麼這麼強悍性能的AI芯片能做什麼?
舉個例子,現在疫情下,很多場所都有人流的限制(本場所限流100人!)。
小到一個商店,大到一個街區。適時獲取人流就是一個典型的任務。
通過人像識別,獲取一個區域內的人流的密度,實時決定對區域內人流進行管控。
如果是終端的AI的MCU,很難有很大的算力,也不同時接受多路視頻的輸入。
那邊緣端AI芯片就有了用武之地。
作為一個方案商,不但要有一個非常強勁的AI引擎,其次要有很多的視頻輸入源。
最後要通過一個非常強悍的AI框架(SDK)將這些硬件運行起來。
也就是説邊緣AI需要根據用户對於AI的需求二次開發。
剛才提到,邊緣AI其中一個重要的特徵就是,根據工業場景進行AI+場景的再開發。
很多AI芯片紙面性能很強,但是如何將這些算力轉換成用户感知的提升,這個裏面就有很多內功可做。
因此工業用户需要的是一個開放AI平台,而不是一個只有算力的芯片,更重要的是要根據用户需求進行AI業務開發。
有句古話“幹活不由東,累死也無功”。
只有硬件,沒有軟件,或者軟件不好用,就好比武功只有一身招式,沒有內功心法一樣。
AI芯片算力雖強,沒有軟件(SDK)也發揮不出來。
軟硬兼修是永遠不過時的選擇。
如何將AI算力轉換成用户生產力。
在這個方面,Jeston AGX Orin提供了jetpack 5.0,支持了cuda11和最新版本的cuDNN和tensorRT。

通過這些軟件工作,特別是CUDA,這些利於用户開發的工具將JESTON平台上強悍的算力和豐富IO結合起來。
最終完成邊緣計算賦予AI芯片的“使命任務”。
最終用户得到的是:用户定義的AI芯片。
或者説是需求定義的AI芯片。
這才是邊緣AI芯片的本質!