最近蘋果在釋出會上公開了新的A14 SoC。根據釋出會,該SoC將用於新的iPad上,而根據行業人士的推測該SoC也將會用在新的iPhone系列中。除了常規的CPU和GPU升級之外,A14最引人注目的就是Neural Engine的算力提升。我們認為,蘋果A系列SoC在近幾年內Neural Engine的算力增長可以作為一種新的AI算力正規化,成為新的摩爾定律。
蘋果公佈的A14 SoC使用5nm工藝,而新的Neural Engine則使用16核心設計,其峰值算力可達11 TOPS,遠超上一代的Neural Engine(6TOPS)。在釋出會上,蘋果明確表示該Neural Engine主要支援加速矩陣相乘。此外,蘋果還表示新的Neural Engine結合CPU上的機器學習加速,可以將實際的AI應用體驗相對於前代提升十倍。新的Neural Engine的峰值算力大大提升可以說是有些意料之外,但是又是情理之中。意料之外是因為A14的其它關鍵指標,例如CPU和GPU等相對於前一代A13的提升並不多(釋出會上給出的30%提升對比的是再前一代的A12 SoC,如果直接和上一代A13相比則CPU效能提升是16%而GPU則是10%左右),但是Neural Engine的效能提升則接近100%。而Neural Engine效能提升大大超過SoC其他部分是情理之中則是因為我們認為如果仔細分析SoC效能提升背後的推動力,則可以得出Neural Engine效能大幅提升是非常合理的。一方面,從應用需求側來說,對應CPU和GPU的相關應用,例如遊戲、網頁瀏覽、影片等在未來可預見的幾年內都沒有快速的需求增長,唯有人工智慧有這樣的需求。另一方面,CPU和GPU的效能在給定架構下的效能提升也較困難,很大一部分提升必須靠半導體工藝,而事實上半導體工藝的升級在未來幾年內可預期將會越來越慢,每代工藝升級更注重於電晶體密度以及功耗,在電晶體效能方面的提升將越來越小。而AI加速器則還有相當大的設計提升空間,相信在未來幾年仍將會有算力快速增長。我們不妨回顧一下過去幾代A系列SoC中Neural Engine的算力增長。最早加入Neural Engine的SoC是2017年釋出的A11。該SoC使用10nm工藝,搭載第一代Neural Engine峰值算力為0.6TOPS,Neural Engine的晶片面積為1.83mm2。當時Neural Engine主要針對的應用是iPhone新推出的人臉識別鎖屏FaceID以及人臉關鍵點追蹤Animoji,且Neural Engine的算力並不對第三方應用開放。第二代Neural Engine則是在2018年的A12 SoC上。該SoC使用7nm工藝,Neural Engine面積為5.8mm2,而其峰值算力則達到了5TOPS,相比前一代的Neural Engine翻了近10倍。而根據7nm和10nm工藝的電晶體密度折算則可以估計出Neural Engine的電晶體數量大約也是增加了6-7倍,基本和算力提升接近。第三代Neural Engine是2019年的A13,使用第二代N7工藝,其面積相比上一代減少到了4.64mm2,而算力則增加到了6TOPS。我們認為這一代的Neural Engine是上一代的小幅改良版本,並沒有做大幅升級。最近公佈的A14則搭載了最新一代的Neural Engine,使用5nm工藝,Neural Engine的具體面積尚沒有具體數字,但是其算力則是達到了11TOPS,是上一代的接近兩倍。從上面的分析可以看出Neural Engine每次主要升級都伴隨著算力的大幅上升,第一次上升了近十倍,而第二次則上升了近兩倍。如果按照目前兩年一次主要升級的節奏,我們認為在未來數年內Neural Engine乃至於廣義的AI晶片市場都會有每兩年效能提升兩倍的規律,類似半導體的摩爾定律。我們認為,這樣的規律可以認為是AI晶片算力的新摩爾定律。AI晶片算力指數上升的主要驅動力還是主流應用對於AI的越來越倚重,以及AI神經網路模型對於算力需求的快速提升。應用側對於AI的需求正在越來越強。就拿智慧裝置為例,2017年蘋果A11中AI的主要應用還是面部關鍵點識別和追蹤,而到了2018年開始越來越多的應用開始使用AI,包括影像增強、拍攝虛化效果等,在下一代智慧裝置中AI則更加普及,首先從人機互動來看,下一代智慧裝置中常見的人機互動方式手勢追蹤、眼動追蹤、語音輸入等都需要AI,這就大大增加了AI演算法的執行頻率以及算力需求。此外,下一代智慧裝置中有可能會用到的一系列新應用都倚重AI,包括遊戲、擴增實境等應用中,都需要執行大量的AI模型例如SLAM,關鍵點識別、物體檢測和追蹤、姿勢識別和追蹤等等。另一方面,AI對於算力的需求也在快速提升。根據HOT CHIPS 2020上的特邀演講,AI模型每年對於算力需求的提升在10倍左右,因此可以說AI模型對於硬體加速的需求非常強。如果我們從另一個角度考慮,這其實就意味著AI加速晶片的算力提升在賦能新的場景和應用——因為總是有新的效能更高的AI模型需要更強的硬體去支援,而一旦支援了這樣的新模型則又能賦能新的應用。從目前主流的計算機視覺相關的AI,到以BERT為代表的大規模自然語言處理演算法,以及未來可能出現的將BERT和計算機視覺相結合的視覺高階語義理解等等,我們在未來幾年內尚未看到AI模型進步的停止以及可能的新應用場景的出現,相反目前的瓶頸是AI加速硬體效能跟不上。這也就意味著,AI加速硬體才是AI模型落地的最終賦能者,這就像當年摩爾定律大躍進的PC時代,當時每一次CPU處理器的進步都意味著PC上能執行更多的應用,因此我們看到了CPU效能在當時的突飛猛進;今天這一幕又重現了,只是今天的主角換成了AI加速晶片。分析完了AI加速晶片的需求側,我們不妨再來看看供給側——即目前的技術還能支援AI晶片多少算力提升。
首先,AI加速器晶片和傳統CPU的一個核心差異在於,CPU要處理的通用程式中往往很大一部分難以並行化,因此即使增加CPU的核心數量,其效能的增加與核心數也並非線性關係;而AI模型的計算通常較為規整,且很容易就可以做並行化處理,因此其算力提升往往與計算單元數量呈接近線性的關係。這在我們之前對比A11和A12 Neural Engine的電晶體數量和算力提升之間的關係也有類似的結論。目前,以Neural Engine為代表的AI加速器佔晶片總面積約為5%,未來如果AI加速器的面積能和GPU有類似的面積(20%左右),則AI加速器的計算單元數量也即算力至少還有4倍的提升空間。此外,如果考慮兩年兩倍的節奏並考慮未來幾年內可能會落地的3nm工藝,則我們認為AI加速器算力兩年兩倍的提升速度從這方面至少還有5-6年的空間可挖。除了單純增加計算單元數目之外,另一個AI加速器算力重要的提升空間來自於演算法和晶片的協同設計。從演算法層面,目前主流的移動端模型使用的是8-bit計算精度,而在學術界已經有許多對於4-bit甚至1-bit計算的研究都取得了大幅降低計算量和引數量的同時幾乎不降低模型精度。另外,模型的稀疏化處理也是一個重要的方向,目前許多模型經過稀疏化處理可以降低50-70%的等效計算量而不降低精度。因此如果考慮模型和晶片和協同設計並在加速器中加入相關的支援(如低精度計算和稀疏化計算),我們預計還能在計算單元之外額外帶來至少10倍等效算力提升。最後,當峰值算力的潛力已經被充分挖掘之後,還有一個潛力方向是針對不同AI模型的專用化設計,也即異構設計。AI模型中,常用於機器視覺的卷積神經網路和常用於機器翻譯/語音識別的迴圈卷積網路無論是在計算方法還是記憶體訪問等方面都大相徑庭,因此如果能做專用化設計,則有可能在峰值算力不變的情況下,實際的計算速度仍然取得數倍的提升。結合上面討論的一些方向,我們認為AI加速晶片的算力在未來至少還有數十倍甚至上百倍的提升空間,再結合之前討論的應用側對於算力的強烈需求,我們認為在未來數年內都會看到AI加速晶片的算力一兩年翻倍地指數上升。在這一領域,事實上中國的半導體行業有很大的機會。如前所述,AI晶片效能提升主要來自於設計的提升而非工藝提升,而中國無論是在半導體電路設計領域還是AI模型領域都並不落後,因此有機會能抓住這個機會。