最近,高通釋出了最新的驍龍855系列SoC,是其下一代旗艦級晶片。驍龍855最大的特點除了5G之外,可以說就是能加速AI應用的Tensor Engine了。與以往高通通常強調其通用DSP可以解決AI計算問題不同,這次高通第一次在SoC上明確整合了一塊專屬AI計算的加速器,可見高通對於AI的重視不同於以往。除此以外,驍龍855的ISP模組也能高效執行AI相關的計算機視覺演算法,因此稱為CV-ISP。由於手機端AI絕大部分是計算機視覺應用,因此CV-ISP對於手機端AI應用也是一個重要支撐。
高通驍龍855的AI效能強勁
這次驍龍855與AI加速相關的晶片模組亮點主要在DSP和ISP兩部分。
首先看DSP部分。DSP部分對於AI的加速主要用於通用AI加速,因為對於非系統應用(例如拍照預測食物卡路里這類應用)來說,DSP更容易呼叫一些。這次驍龍855裡的DSP代號為Hexagon 690,其標量和向量運算能力相對於上一代驍龍845分別有1.2倍和2倍的提升。在DSP中,標量計算通常用於最基礎的實時資料流計算,其特點是資料的並行性不高,同時資料將以資料流的形式進入DSP並實時完成計算(不同於累積了很多資料再一次完成計算的資料塊模式),在數字濾波等經典通訊訊號處理演算法中有廣泛應用。隨著手機智慧化,通訊之外的許多計算(例如多媒體應用等計算)也需要在手機端完成,這些計算往往擁有並行性(即許多資料之間彼此獨立,因此可以同時計算,不存在需要先完成資料A的計算才能做資料B的計算的約束),因此這些計算就非常適合使用向量計算。
標量和向量DSP計算屬於傳統DSP計算。隨著AI應用在手機端的興起,勢必需要新的計算加速單元。目前手機端的AI主要應用包括語音和視覺,尤其以視覺應用為主,而對於視覺相關的AI應用,主流的神經網路結構是卷積神經網路(CNN)。CNN中,資料計算以張量計算的形式完成,因此傳統的標量和向量DSP都不是最適合加速CNN張量計算的計算單元。為此,高通在這一代DSP Hexagon 690中新加入了張量計算加速單元,可以充分加速手機AI應用中佔算力大多數的CNN張量計算。
除了DSP之外,這次驍龍855裡整合的Spectra 380 CV-ISP也對於AI應用起了很強的支撐作用。與DSP完成通用AI計算不同,CV-ISP主要是針對拍照相關的專用AI計算。目前,事實上很多手機端的AI應用都與拍照有關,例如智慧場景識別,背景虛化,美顏等等。這部分運算往往會同時結合傳統計算機視覺演算法和AI演算法,那麼究竟應該放在執行專用計算機視覺演算法較強的ISP中,還是放在加速AI應用的AI加速器模組中呢?當然,不同的選擇都有自己的優劣:選擇使用專用ISP加速計算機視覺演算法的計算效率更高,但是往往計算靈活度不足,難以支援晶片流片後再出現的新演算法;而使用AI加速器做計算機視覺加速則部分犧牲了效率以換取靈活性。高通在驍龍855的選擇是在CV-ISP中做系統自帶的計算機視覺演算法,對於目前常規的物體分類、目標分割、景深估計等有很好的支援,如果有一些新的演算法出現,則可以用Hexagon DSP來支援,可謂是希望兼顧靈活性和計算效率。
在驍龍855中,高通把所有能執行通用AI計算(CPU,GPU和DSP)的模組都統一劃歸到AI Engine下,從而可以實現算力的動態最優化分配和平衡。AI Engine的軟體介面支援TensorFlow,Caffe,PyTorch等主流深度學習框架,同時也支援OpenCL等底層庫呼叫。驍龍855的AI Engine的總算力(包括CPU,GPU和DSP)可達7TOPS。
異構計算與Dark Silicon:
高通與其他手機廠商對於AI加速的思路比較
高通的驍龍855與其他帶AI加速器的手機SoC 相比,最大的區別在於高通更強調整體的概念。其他廠商(如華為等)試圖用異構計算的思路打造一款非常強勁的專用AI加速器模組以滿足手機端AI加速的需求,但是異構計算的另一面卻是dark silicon,即AI任務僅僅由專用的AI加速器來完成,雖然能效比來看是提升了,但是從另一個角度來看,晶片上的其他模組在晶片處理AI任務的時候卻是閒置了,造成了浪費。在測量晶片發熱的時候,常常使用紅外線來估計溫度,在紅外照片上越忙碌的晶片部分亮度會越高,而閒置的晶片部分則會看上去很暗,這也是“dark silicon”一詞的來源。
隨著異構計算越來越流行,Dark Silicon的問題也會隨之出現
高通顯然知道異構計算的優勢以及伴隨的dark silicon問題,因此在驍龍855中即整合了專用的張量計算單元用於AI加速,另一方面,又在系統層面將所有能執行AI計算的CPU、GPU和DSP劃歸一個統一的AI Engine來排程,這樣當張量加速模組忙於AI計算時,其他的模組也能助其一臂之力幫助分擔一些計算負擔,而不是在旁邊閒置。當然,這樣的動態排程設計一定會比簡單地“一個模組負責一個任務”這樣的模式要複雜許多,同時也會引入一些硬體和軟體上的額外開銷,具體的效果還需要看實際使用中的情況,讓我們拭目以待。
驍龍855對於手機SoC AI加速器市場的影響
在高通之前,大多數面向中高階智慧手機的手機SoC廠商,包括蘋果、華為等都已經推出了包含AI加速能力的SoC,今天高通終於也加入了這一行列。除了手機SoC廠商之外,Cadence,CEVA等廠商也都推出了(可以應用在手機SoC中的)AI加速器IP。在這樣的情況下,我們認為對於AI的加速將不再是手機的亮點,而將成為近期手機的一個常規功能 。
從應用端來看,隨著手機SoC對於AI的支援,必然會鼓勵更多的手機App引入AI相關功能。然而,我們也必須看到,手機端AI還沒有出現爆款應用,未來手機端AI應用發展的時間表還很難確定。我們不妨盤點一下現有的手機端AI應用。目前手機端AI的最大應用仍然在影象方面,包括手機廠商力推的拍照增強(場景自動識別,背景虛化,美顏,超分辨等)、人臉識別(用於解鎖),以及App開發者正在探索的應用,例如直播中的實時美顏,加入虛擬裝飾等等。應該說,這些應用對於大部分使用者來說都屬於癢點而非痛點,並不會給使用者體驗帶來質的區別。
相比手機SoC廠商對於AI的計算能力每代都有兩倍以上提升的節奏,手機App端對於AI的探索速度可以說是較慢的。在尚未出現AI應用爆款之前,AI App應用普及的慢節奏和晶片AI算力的快速提升有可能會造成AI算力過剩的問題。這並不是說手機端不需要AI加速器,而是說以設計手機端AI加速器IP的廠商恐怕會面臨更多壓力——硬體上,大廠都推出自己的AI加速器方案,且計算速度每年都提升;應用上,軟體對於AI算力需求的提升卻沒有跟上硬體提升的速度,這樣兩相擠壓會造成給手機SoC提供AI加速器IP的廠商非常大的壓力。事實上,我們認為AI加速器IP公司,尤其是擁有新技術的初創公司,目前可以考慮其他的細分市場。