近日,華為在聯(lián)接大會2018發(fā)布了其全棧全場景AI解決方案,涵蓋了從終端到云端,從AI芯片到深度學(xué)習(xí)訓(xùn)練部署框架的多層解決方案,其在AI領(lǐng)域投入的決心可謂巨大。然而,如果仔細(xì)分析其具體落地,我們會發(fā)現(xiàn)華為的戰(zhàn)略特別實用主義,并沒有去刻意追求技術(shù)上的精致,而是快速做了一個能滿足需求的框架,以求先占領(lǐng)市場再做迭代。本文將著重對華為的AI芯片戰(zhàn)略做一分析,并加入一些華為AI芯片對整個產(chǎn)業(yè)影響的個人觀點。
多戰(zhàn)場全覆蓋:華為的雄心壯志
華為在本次大會上公布了其AI戰(zhàn)略,涉及的產(chǎn)品無論是深度還是廣度都是非常驚人的。首先,從深度來說,其AI相關(guān)產(chǎn)品生態(tài)包含了從應(yīng)用接口ModelArt(用于客戶的應(yīng)用直接接入AI功能),中層深度學(xué)習(xí)軟件框架MindSpore,軟硬件接口層CANN,直到專用硬件Ascend系列,最終可以為終端和云端的應(yīng)用賦能。
華為的AI戰(zhàn)線之深可謂是全球一流,僅有Google、百度等技術(shù)導(dǎo)向明顯的互聯(lián)網(wǎng)公司可以與之匹敵(Google擁有最流行的深度學(xué)習(xí)框架TensorFlow和芯片TPU,百度則擁有深度學(xué)習(xí)框架PaddlePaddle和芯片XPU),而諸如微軟、亞馬遜、騰訊等其他云服務(wù)領(lǐng)域廠商的戰(zhàn)線深度,尤其是在硬件領(lǐng)域的投入決心,都遠(yuǎn)遠(yuǎn)不及華為。
華為的戰(zhàn)線如此之深,究其原因無外乎是“有縱深才能有壁壘”。
對于華為這樣的巨頭公司而言,只有把握住了生態(tài)鏈上的每一個環(huán)節(jié),把開發(fā)者和用戶的整個使用循環(huán)全部保留在自己的生態(tài)圈內(nèi),才能形成真正的壁壘,否則只要在任何環(huán)節(jié)存在空白或者弱項,就有被競爭對手或者新興公司單點突破的機(jī)會。而這樣的壁壘一旦形成,不僅僅可以完成對于競爭對手的防御,更可以在整體生態(tài)上獲得極高的利潤——由于完整技術(shù)棧的不可替代性,從而可以收獲大量利潤。Nvidia就是把自己凡是能接觸到的生態(tài)環(huán)節(jié)都打通并做到極致的公司,從而產(chǎn)生了極高的壁壘:硬件上有GPU,深度學(xué)習(xí)框架和軟硬件接口層有CuDNN和TensorRT,因此在這幾年深度學(xué)習(xí)人工智能高速發(fā)展中,Nvidia幾乎占據(jù)了不可替代的地位。
然而,Nvidia人工智能生態(tài)中的底層硬件GPU卻存在破綻,由于GPU對于人工智能算法的支持并非完美,因此造成了計算效率不高,也引得群雄逐鹿,眾多公司紛紛進(jìn)入人工智能芯片的戰(zhàn)場。從這個角度來看華為正在做挑戰(zhàn)Nvidia的事情,借著Nvidia GPU做人工智能效率低的弱點,希望構(gòu)建自主的技術(shù)生態(tài)來取而代之。
出了縱向深度之外,華為的戰(zhàn)線橫向也鋪得很開。一旦有了一個設(shè)計完善的縱向框架,那么把這個框架在不同算力需求尺度上推廣上將是非常容易的,對于華為這樣以執(zhí)行力強(qiáng)著稱的公司來說這樣的平推戰(zhàn)術(shù)更是得心應(yīng)手。一旦戰(zhàn)略的深度和廣度上都得到良好的執(zhí)行,其最終的收益將是乘數(shù)效應(yīng)(即收益正比于深度x廣度),從而帶來驚人的回報。從華為的戰(zhàn)略廣度來看,既包含終端(低功耗,中低算力),也包含邊緣(中等功耗,中等算力)和云(高功耗,高算力)。在之前,華為的業(yè)務(wù)領(lǐng)域早已包含了從端(華為/榮耀手機(jī)以及智能家電)到云(華為云),因此在之前的業(yè)務(wù)上再部署推廣人工智能可謂是水到渠成。
唯快不破:“達(dá)芬奇”架構(gòu)
華為同時注重深度和廣度的人工智能戰(zhàn)略是以技術(shù)為基石的,而其技術(shù)棧中最具有挑戰(zhàn)性,同時也是最具有區(qū)分度的就是底層芯片。為了滿足華為戰(zhàn)略上的需求,其芯片技術(shù)需要滿足以下需求:
以上四點要同時滿足是非常困難的,尤其是一些非常癡迷于技術(shù)的公司,往往會選擇去探索新的芯片架構(gòu)以把前三個需求做到極致,這也就意味著放棄了第四個能快速上市的需求,因為新架構(gòu)往往意味著較長的研發(fā)周期和較大的風(fēng)險,難以做到快速上市。而華為的選擇則是在傳統(tǒng)架構(gòu)上做足夠的工程優(yōu)化,并不追求極致性能,但求能滿足用戶需求并快速落地。與之對應(yīng)的是華為使用在Ascend系列芯片中的達(dá)芬奇架構(gòu)。
從Ascend芯片的架構(gòu)來看,其實就是傳統(tǒng)的ARM核+AI加速器的模式,而其AI加速器就是達(dá)芬奇核心。達(dá)芬奇核心從架構(gòu)上看起來也并沒有使用炫技式的前沿技術(shù),而是簡單直接地把計算用的乘加器(MAC)按照不同的計算組織成不同的方式,并搭配標(biāo)準(zhǔn)的數(shù)據(jù)緩存。當(dāng)要做人工智能相關(guān)的計算時,可以使用按cube(“三維立方”) 模式組織的MAC群,從而支持相關(guān)計算。當(dāng)需要其他常規(guī)計算時,則可以使用矢量或標(biāo)量計算MAC。對于不同規(guī)模的芯片,可以通過放置不同數(shù)量的達(dá)芬奇核心來滿足需求,因此同一個達(dá)芬奇核心的設(shè)計可以靈活地滿足華為戰(zhàn)略橫向上不同應(yīng)用的需求。
這次的大會上,華為發(fā)布了Ascend 910和Ascend 310,其中Ascend 910針對云端應(yīng)用,使用7nm工藝在350W的功耗上實現(xiàn)了256 TOPS半精度浮點數(shù)算力或512 TOPS 8位整數(shù)算力,并且集成了128通道全高清視頻解碼器;而Ascend 310針對邊緣應(yīng)用,使用12nm工藝在7W的功耗上實現(xiàn)了8 TOPS半精度浮點數(shù)算力或16 TOPS 8位整數(shù)算力,并且集成了單通道全高清視頻解碼器。從中,我們可以看到華為的戰(zhàn)略橫向野心很大,但是第一個落地的市場看來還是機(jī)器視覺市場。
從公布的芯片性能上來看,這次Ascend 910以及Ascend 310特意提到了視頻解碼器,顯然是與視頻應(yīng)用有關(guān);此外,達(dá)芬奇架構(gòu)中的cube式MAC陣列估計也是為了同時兼顧云端訓(xùn)練應(yīng)用和機(jī)器視覺推理應(yīng)用而做的選擇。從技術(shù)上看,cube式MAC陣列非常適合卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)是目前機(jī)器視覺應(yīng)用最流行的模型,而機(jī)器視覺應(yīng)用則可以說是這一波人工智能應(yīng)用中落地幅度最大的。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積計算的形式(如下圖)可以被達(dá)芬奇的cube式MAC陣列高效支持,而決策樹、貝葉斯等其他常見機(jī)器學(xué)習(xí)算法在cube式MAC陣列上運行卻不見得有什么優(yōu)勢,因此可以猜測達(dá)芬奇的架構(gòu)設(shè)計首要目的是為了支持卷積神經(jīng)網(wǎng)絡(luò)推理,而優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)推理就意味著主打機(jī)器視覺。
換句話說,達(dá)芬奇架構(gòu)是在通用性上有意識地做了折衷以換取較合理的開發(fā)時間和成本。另一方面,做云端訓(xùn)練的時候由于數(shù)據(jù)往往是批量到來,因此使用cube式MAC陣列也能一次處理一個批次中的不同并行數(shù)據(jù),從而也能較好地支持訓(xùn)練。然而,如果從從架構(gòu)上做比較,cube式的MAC陣列的效率相比Nvidia GPU的SIMD架構(gòu)未必會有本質(zhì)上的提升,因此從訓(xùn)練的角度來看達(dá)芬奇架構(gòu)可以說是Nvidia GPU的替代者,但很難說是超越者。
我們不妨將達(dá)芬奇架構(gòu)與目前最熱門的兩種商用人工智能芯片架構(gòu)做比較,即Nvidia的GPU和Google的TPU。Nvidia的GPU架構(gòu)源自經(jīng)典的GPU多核并行架構(gòu),為了優(yōu)化人工智能計算,加入了對于矩陣運算的優(yōu)化支持(Tensor Core)。但是GPU并非天生為人工智能而生,因此在卷積神經(jīng)網(wǎng)絡(luò)推理等主流應(yīng)用上,GPU架構(gòu)的效率并不高,因此華為達(dá)芬奇為卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化過的架構(gòu)相比GPU的計算效率要強(qiáng)不少。與Google的TPU相比,達(dá)芬奇架構(gòu)則顯得更加簡單直接。
TPU上使用了優(yōu)美的脈動陣列(systolic array)架構(gòu),該架構(gòu)雖然很久之前就被人們提出,但是遲遲沒有找到合適的應(yīng)用,因此TPU采用脈動陣列從某種意義上可以說是重新發(fā)明了脈動陣列,給了脈動陣列以新生。脈動陣列的優(yōu)勢是對于內(nèi)存帶寬的需求大大減少,但是問題在于難以做小,一旦做小了效率就會大大下降——在TPU等級的云端高算力應(yīng)用脈動陣列是合適的,但是在終端低算力低功耗應(yīng)用中脈動陣列的效率就不高。因此達(dá)芬奇架構(gòu)相比TPU的脈動陣列來說更靈活,能滿足不同算力需求,也即滿足了華為AI戰(zhàn)略中的橫向部分。
最終比拼的還是生態(tài)
從之前的分析中,我們的結(jié)論是華為的達(dá)芬奇架構(gòu)是一個出色的架構(gòu),與Nvidia的GPU和Google的TPU相比性能并不落下風(fēng),但是其可伸縮性卻遠(yuǎn)好于GPU和TPU,能快速部署到多個不同算力等級的應(yīng)用中。為了能充分發(fā)揮可伸縮性強(qiáng)的優(yōu)勢,華為的AI芯片必須能盡快進(jìn)入多個不同的應(yīng)用領(lǐng)域,因此最終比拼的還是綜合生態(tài)而非一兩個特定應(yīng)用上的性能對比,正如兩軍交戰(zhàn)最終看的是能否實現(xiàn)戰(zhàn)略意圖而并不比糾結(jié)于一兩座城市的得失。那么,在與Google和Nvidia等生態(tài)玩家的比拼中,華為有哪些優(yōu)勢和挑戰(zhàn)呢?
從公司基因來看,Google是一家技術(shù)驅(qū)動的互聯(lián)網(wǎng)公司,Nvidia是芯片硬件公司,而華為則是設(shè)備提供商。Google一切業(yè)務(wù)的源頭都是互聯(lián)網(wǎng),因此也希望把一切新擴(kuò)展的業(yè)務(wù)規(guī)劃到互聯(lián)網(wǎng)的范疇中。Google屬于第一批看到人工智能潛力的公司,在自己的業(yè)務(wù)中早早就用上了人工智能,并開發(fā)了全球最流行的深度學(xué)習(xí)框架TensorFlow。
當(dāng)人工智能得到更多認(rèn)可后, Google Cloud上開放了深度學(xué)習(xí)應(yīng)用接口給用戶使用,并且在發(fā)現(xiàn)人工智能計算需要新一代芯片后著手研發(fā)了TPU。對于Google來說,最關(guān)鍵的生態(tài)環(huán)節(jié)在于人工智能入口即TensorFlow,一旦TensorFlow成為人工智能的絕對主流框架,那么Google就將成為制訂下一代人工智能標(biāo)準(zhǔn)化實施方案的主導(dǎo)者,這可以說與當(dāng)年Google把握了互聯(lián)網(wǎng)搜索入口如出一轍。另一方面TPU其實只是其生態(tài)中并不怎么重要的一環(huán),事實上TPU最早是給Google內(nèi)部自己使用以節(jié)省云計算功耗并加速訓(xùn)練模型用的,Google并沒有強(qiáng)烈的讓所有用戶都用上TPU的決心。
Nvidia則是底層芯片硬件公司,最關(guān)注的是GPU是否能賣得足夠好,CuDNN和TensroRT可以認(rèn)為是GPU在人工智能時代的驅(qū)動程序,但卻不是Nvidia的主要盈利點,而Nvidia更不會嘗試去做人工智能時代入口之類的嘗試,而是會更傾向于把自己定義為“人工智能計算的賦能者”。
相比Google和Nvidia,華為事實上在一個更中間的位置,因為華為是一個解決方案提供商,最終是為了解決客戶的需求,因此其解決方案中既要包含硬件又要包含軟件。華為在底層硬件和上層軟件接口上都有與Nvidia和Google重合競爭的部分,但是其解決方案提供者的地位則是與Nvidia以及Google都沒有任何競爭。
舉例來說,如果中國某零售巨頭要做智能零售解決方案,需要高速邊緣服務(wù)器,這樣的公司將會是華為的目標(biāo)客戶,卻并非Google或Nvidia的目標(biāo)客戶,因為這三家公司中只有華為有意愿給這樣的客戶提供服務(wù)器軟硬件以及云端接入的完整解決方案。而此次發(fā)布的Ascend芯片則很明顯是瞄準(zhǔn)了安防、智能零售等新興機(jī)器視覺解決方案市場,在這些市場Nvidia和Google的基因決定了它們都不會涉足。
雖然目前華為和Google以及Nvidia在邊緣計算解決方案領(lǐng)域并沒有直接競爭,但是隨著華為在云端布局加深,與Nvidia和Google將會有正面競爭。如前所述,Google的TensorFlow是手中的一張王牌,憑著TensorFlow的開放性以及社區(qū)建設(shè),目前TensorFlow已經(jīng)能完美支持多種不同的硬件平臺,另一方面華為的MindSpore配合CANN則更像是面對自家芯片做的定制化解決方案,性能卓越但是開放性卻可能會成為一個挑戰(zhàn)。另一方面,在硬件層面,達(dá)芬奇如果想徹底戰(zhàn)勝Nvidia的GPU或許還需要在芯片架構(gòu)上更進(jìn)一步,如果無法對GPU有數(shù)量級的性能優(yōu)勢,最終恐怕還是會陷入苦戰(zhàn)。
對AI芯片行業(yè)的影響
這次華為大舉進(jìn)軍AI芯片,是AI芯片領(lǐng)域的一個重要事件。天下之勢,分久必合,合久必分,最初的系統(tǒng)廠商如IBM,SUN等的系統(tǒng)都是包含了自研芯片,直到以Intel為代表的標(biāo)準(zhǔn)化處理器芯片崛起以及計算市場利潤變薄后這些系統(tǒng)公司才逐漸放棄自研芯片而轉(zhuǎn)而采用Intel的標(biāo)準(zhǔn)化處理器芯片;而AI市場目前看來潛力巨大,不同場景差異化大而且對于芯片效率有很高的需求,這也就為系統(tǒng)廠商重新開始自研芯片提供了足夠的動力。 我們認(rèn)為華為這次自研AI芯片是系統(tǒng)廠商自研芯片趨勢的延續(xù)。
在華為之前,已經(jīng)有Google、Facebook、亞馬遜、阿里巴巴、百度等諸多互聯(lián)網(wǎng)系統(tǒng)廠商開始了AI芯片研發(fā),而華為作為中國芯片研發(fā)能力最強(qiáng)的系統(tǒng)廠商,進(jìn)入AI芯片領(lǐng)域可謂是理所當(dāng)然,因為對于系統(tǒng)廠商來說擁有了自研芯片才能擁有真正的核心競爭力。華為這次進(jìn)軍AI芯片預(yù)計將會引發(fā)更多系統(tǒng)廠商進(jìn)入AI芯片領(lǐng)域,估計海康、大華、曠視、商湯、依圖等都有自研芯片(或者與其他芯片公司合作研發(fā)自己專屬的定制化芯片)的商業(yè)動力,我們在不久的將來預(yù)計會看到更多系統(tǒng)廠商發(fā)布自己的芯片,反之缺乏自研芯片能力的系統(tǒng)廠商的生存空間將會受到擠壓,要么逐漸消失,要么找到新的商業(yè)模式。
另一方面,對于AI芯片初創(chuàng)公司來說,華為的AI芯片目前并沒有對外銷售的打算,因此華為并非直接競爭對手。此外,由于AI芯片細(xì)分市場多,差異化大,華為的AI芯片更有可能發(fā)揮鯰魚效應(yīng),激勵這些AI芯片初創(chuàng)公司去尋找華為無暇顧及的細(xì)分市場,例如功耗小于1W的超低功耗市場等等。
此外,華為的Ascend系列AI芯片也并非不可戰(zhàn)勝,其架構(gòu)如前所述并非屬于常人無法想象的黑科技,而更像是一款經(jīng)過仔細(xì)工程優(yōu)化的AI加速器。因此AI芯片公司如果擁有下一代技術(shù),即使與華為在云端正面競爭也有勝算。
最后,我們必須看到不少AI芯片初創(chuàng)公司實際上也是系統(tǒng)廠商,其AI芯片也是主要供自己的系統(tǒng)使用,如Rokid等。對于這類自研AI芯片的初創(chuàng)系統(tǒng)廠商來說,華為施加的競爭壓力會更大,因為華為實際上走了和這些廠商一樣的道路,本來這些初創(chuàng)公司系統(tǒng)中的亮點是自研芯片,但是現(xiàn)在相對于同樣擁有自研芯片的華為來說這個就不再成為亮點了。對于這些廠商,如何找到屬于自己的差異化市場避開華為的鋒芒就成了目前亟待解決的問題。