當主流架構紛紛針對AI計算優化,第三方NPU未來生存空間何在?_風聞
TechEdge科技边界-2019-05-30 09:23
如果把AI計算區分為四個不同的象限,分別是雲端訓練、雲端推理,邊緣訓練以及邊緣推理。
邊緣訓練目前幾乎沒有廠商實做,只要是因為終端等邊緣計算架構要收集足夠大量的數據來形成模型有其困難度,而云端訓練幾乎是GPU的天下,超過九成使用的是NVIDIA的方案,雲端推理方案則是以CPU加FPGA為主,這方面英特爾享有絕大多數的市場。而終端推理,幾乎都集中在Arm架構生態上。
AI推動第一波計算架構變革,但GPU仍是最終贏家
在過去,GPU引爆了第一波AI訓練革命,CPU和FPGA則是很好的滿足了雲端推理的需求,但這些架構昂貴不説,能耗表現也並不是那麼盡如人意。而起於智能終端的邊緣推理計算,其實最初表現也並不理想,因此,華為及蘋果等具備芯片設計能力的廠商開始在移動芯片中加入NPU計算單元,華為麒麟使用了來自寒武紀設計的IP,而蘋果則是自行研發。
NPU很好的在功耗預算限制下解決最初移動設備上的AI應用性能問題。
另一方面,面向Google Tensor Flow加速的TPU架構橫空出世,衝擊了業界的既有觀點:基於ASIC的獨立AI計算卡在很多方面比起GPU計算架構更有優勢,而這種計算架構使用脈動鎮列(systolic array)這種古老的技術概念,芯片設計廠商,甚至雲服務商都發覺,實現這種架構其實很簡單,也沒有專利限制,因此,各種AI計算卡也都紛紛出籠,各自取了個亮眼的名稱,並標榜着比GPU更好的功耗和性能表現。
但隨着時間過去,這些各行其是的AI計算架構並沒有在市場上取得太好的成績,畢竟軟件生態已經被NVIDIA所掌握,計算不只要考慮硬件,也要配合軟件,而當NVIDIA也在自己的GPU中引入類似脈動架構的Tensor Core,但擁有更好的粒度與精度,配合GPU的高度可編程設計以及既有的軟件生態優勢,用起來更方便,性能表現也更好,而如此一來,新進挑戰者的產品訴求也就更弱了。
在AI浪潮下,NVIDIA讓GPU進化了,併成功擋下雲計算領域挑戰者,但其他主流廠商的通用計算架構也沒有閒着。
通用計算架構演化,第三方NPU非主流地位難改變
ARM在Computex 2019發佈了最新的Cortex-A77,除了在通用計算尚有了極大的改進之外,最大的特色在於持續推動Project Trillium,通過其與Mali GPU及Arm ML所組成的異質計算架構,極大的改進在Arm生態上的AI計算效率,同時又儘可能維持低功耗需求。
另一方面,去年底的英特爾技術日中揭露的Sunny Cove核心,同樣也是在架構中引入針對機器學習優化的計算單元設計,而這個核心未來也將成為主流CPU的基礎,助力英特爾在包含雲端與終端的機器學習性能輸出。另一方面,英特爾也積極佈局GPU計算,意圖覆蓋全場景的AI應用計算工作。
作為X86處理器第二把交椅,AMD也同樣沒有放過在AI計算產業的耕耘,雖然表面上AMD仍專注於標準CPU和GPU的設計,但實際上核心架構都已經開始針對AI計算優化,APU產品結合CPU與GPU,滿足終端異質計算需求。在雲端方面,EPYC服務器CPU要攻進雲計算推理應用中。而其GPU架構在訓練相關的計算性能方面也有不遜於NVIDIA的表現。
包含在處理器本身,或者是通過異質算力結合的AI計算架構已經成為這些計算架構大廠的共同發展方向,而目標市場不只在雲端,也要普及到終端。
除了主流的CPU、FPGA與GPU外,前段時間非常火熱的NPU計算架構,比如説麒麟及蘋果芯片中的NPU,以及華為的升騰計算架構,這些ASIC芯片或IP技術都依靠着強大的AI算力與能耗比搶盡了眾人的眼光。
然而,作為獨立的架構,NPU在終端要面臨的對手是Arm與英特爾這兩個各自在終端與雲端計算領域擁有接近於寡佔地位的廠商。
若以包含手機在內的所有智能終端數量統計,使用到NPU的架構僅佔不到10%。而值得注意的是,NPU所強調的高能效其實領先幅度已經逐漸縮小。諸如Arm所推出的Project Trillium,或者是高通的異質計算架構,都能達到相近的效能與能耗表現。
如果未來芯片廠或方案商只要通過同一套授權,或者是一次性的採購,其所獲得的基礎計算架構就能覆蓋絕大部分AI計算應用的性能需求,那又何必再去授權/採購額外的NPU架構?而這也就成為包括寒武紀在內的第三方NPU IP供應商面臨的最大困境。
圖源:21數據新聞實驗室
而在雲端,不論是訓練或推理,NPU也要受到英特爾、NVIDIA兩家大廠的的夾擊。由於缺乏足夠強大的生態與應用軟件支持,諸如百度、阿里巴巴等雲計算大廠雖也會引進非主流的NPU計算架構,但多半隻是作為技術驗證與或者是備援之用,而不是作為計算主力。
過去AI計算是顯學,從芯片、算法,到應用,在市場與需求快速成長之下,不同的方案乍看之下都有其生存空間。但隨着時間過去,高速成長的期間已經結束,當進入收斂期時,就會迴歸到生態經營本身,主流因生態蓬勃而越主流,非主流則是期望通過創造自有生態,並從現有環境中找到市場缺口填補上去,藉以存活下去。但隨着計算大環境的發展,缺口只會越來越小,NPU應該如何自我定位?
基於ASIC的NPU所具備的最大優勢就是性能功耗比,而這件事情通常在小型終端上更容易實現,如果場景變換到大型雲端計算環境中,就未必能夠維持下去。尤其在幾大計算架構主導廠商架構為了增加競爭力,更新速度不斷加快,往後不論是製程工藝,或者是核心架構的迭代,可能每年都會有新方案推出,甚至架構本身就會具備一定的延展性,能夠很快的往上堆棧性能,且能耗也可維持在一定的程度。若是獨立NPU架構,一來市場規模本來就不夠大,獲利有限的情況下,架構革新的腳步就很難跟上主流廠商。
計算架構的商用需要多元層次思考,而非單看書面規格
不過有些例外狀況。若芯片設計業者本身也擁有云計算服務,比如説華為,其推出的計算架構可自產自銷,若計算服務規模夠大,以自有架構取代有利可圖的情況下,的確就可以維持下去,甚至形成服務的特色,定製化的NPU計算架構可以達成更特殊的。但這畢竟是少數,目前台面上的純NPU設計,若撇除自家使用的需求,客源都相當有限,難以形成穩定的獲利模式,更不用説創造生態。
這並不是説NPU這個產品或技術沒有價值,而是不論在移動市場,或者是雲計算領域,主流技術架構的大者恒大通常代表了很多層次的競爭優勢,當一家廠商從供應鏈到系統生態,組成了難以被突破的閉環,併成功佔有多數市場,也代表這些廠商更有資源進行計算架構的演化與發展。
在AI計算中,推出亮眼架構打一波的心態在市場上其實並不能帶來太多實效,畢竟市場看的是架構延續性,以及和生態的配合能力,更重要的是,周邊供應環節是否能夠配合上,僅僅強調架構本身在這個時間點的性能優勢,可能很難説服市場。