芯片三劍客 云端終端雙場(chǎng)景各顯神通
AI(人工智能)沉浮數(shù)十載,在“預(yù)期-失望-進(jìn)步-預(yù)期”周期中破浪前行。
本文引用地址:http://butianyuan.cn/article/201710/370218.htm根據(jù)賽迪咨詢(xún)發(fā)布報(bào)告,2016年全球人工智能市場(chǎng)規(guī)模達(dá)到293億美元。我們預(yù)計(jì)2020年全球人工智能市場(chǎng)規(guī)模將達(dá)到1200億美元,復(fù)合增長(zhǎng)率約為20%。人工智能芯片是人工智能市場(chǎng)中重要一環(huán),根據(jù)英偉達(dá),AMD,賽靈思,谷歌等相關(guān)公司數(shù)據(jù),我們測(cè)算2016年人工智能芯片市場(chǎng)規(guī)達(dá)到23.88億美元,約占全球人工智能市場(chǎng)規(guī)模8.15%,而到2020年人工智能芯片市場(chǎng)規(guī)模將達(dá)到146.16億美元,約占全球人工智能市場(chǎng)規(guī)模12.18%。人工智能芯片市場(chǎng)空間極其廣闊。
芯片承載算法,是競(jìng)爭(zhēng)的制高點(diǎn)
人工智能的基礎(chǔ)是算法,深度學(xué)習(xí)是目前最主流的人工智能算法。深度學(xué)習(xí)又叫深度神經(jīng)網(wǎng)絡(luò)(DNN:Deep Neural Networks),從之前的人工神經(jīng)網(wǎng)絡(luò)(ANN:Artificial Neural Networks)模型發(fā)展而來(lái)。這種模型一般采用計(jì)算機(jī)科學(xué)中的圖模型來(lái)直觀表達(dá),深度學(xué)習(xí)的“深度”便指的是圖模型的層數(shù)以及每一層的節(jié)點(diǎn)數(shù)量。神經(jīng)網(wǎng)絡(luò)復(fù)雜度不斷提升,從最早單一的神經(jīng)元,到2012年提出的AlexNet(8個(gè)網(wǎng)絡(luò)層),再到2015年提出的ResNET(150個(gè)網(wǎng)絡(luò)層),層次間的復(fù)雜度呈幾何倍數(shù)遞增,對(duì)應(yīng)的是對(duì)處理器運(yùn)算能力需求的爆炸式增長(zhǎng)。深度學(xué)習(xí)帶來(lái)計(jì)算量急劇增加,對(duì)計(jì)算硬件帶來(lái)更高要求。
深度學(xué)習(xí)算法分“訓(xùn)練”和“推斷”兩個(gè)過(guò)程。簡(jiǎn)單來(lái)講,人工智能需要通過(guò)以大數(shù)據(jù)為基礎(chǔ),通過(guò)“訓(xùn)練”得到各種參數(shù),把這些參數(shù)傳遞給“推斷”部分,得到最終結(jié)果。
“訓(xùn)練”和“推斷”所需要的神經(jīng)網(wǎng)絡(luò)運(yùn)算類(lèi)型不同。神經(jīng)網(wǎng)絡(luò)分為前向計(jì)算(包括矩陣相乘、卷積、循環(huán)層)和后向更新(主要是梯度運(yùn)算)兩類(lèi),兩者都包含大量并行運(yùn)算?!坝?xùn)練”所需的運(yùn)算包括“前向計(jì)算+后向更新”;“推斷”則主要是“前向計(jì)算”。一般而言訓(xùn)練過(guò)程相比于推斷過(guò)程計(jì)算量更大。一般來(lái)說(shuō),云端人工智能硬件負(fù)責(zé)“訓(xùn)練+推斷”,終端人工智能硬件只負(fù)責(zé)“推斷”。
“訓(xùn)練”需大數(shù)據(jù)支撐并保持較高靈活性,一般在“云端”(即服務(wù)器端)進(jìn)行。人工智能訓(xùn)練過(guò)程中,頂層上需要有一個(gè)海量的數(shù)據(jù)集,并選定某種深度學(xué)習(xí)模型。每個(gè)模型都有一些內(nèi)部參數(shù)需要靈活調(diào)整,以便學(xué)習(xí)數(shù)據(jù)。而這種參數(shù)調(diào)整實(shí)際上可以歸結(jié)為優(yōu)化問(wèn)題,在調(diào)整這些參數(shù)時(shí),就相當(dāng)于在優(yōu)化特定的約束條件,這就是所謂的“訓(xùn)練”。云端服務(wù)器收集用戶(hù)大數(shù)據(jù)后,依靠其強(qiáng)大的計(jì)算資源和專(zhuān)屬硬件,實(shí)現(xiàn)訓(xùn)練過(guò)程,提取出相應(yīng)的訓(xùn)練參數(shù)。由于深度學(xué)習(xí)訓(xùn)練過(guò)程需要海量數(shù)據(jù)集及龐大計(jì)算量,因此對(duì)服務(wù)器也提出了更高的要求。未來(lái)云端AI服務(wù)器平臺(tái)需具備相當(dāng)數(shù)據(jù)級(jí)別、流程化的并行性、多線(xiàn)程、高內(nèi)存帶寬等特性。
“推斷”過(guò)程可在云端(服務(wù)器端)進(jìn)行,也可以在終端(產(chǎn)品端)進(jìn)行。等待模型訓(xùn)練完成后,將訓(xùn)練完成的模型(主要是各種通過(guò)訓(xùn)練得到的參數(shù))用于各種應(yīng)用場(chǎng)景(如圖像識(shí)別、語(yǔ)音識(shí)別、文本翻譯等)?!皯?yīng)用”過(guò)程主要包含大量的乘累加矩陣運(yùn)算,并行計(jì)算量很大,但和“訓(xùn)練”過(guò)程比參數(shù)相對(duì)固化,不需要大數(shù)據(jù)支撐,除在服務(wù)器端實(shí)現(xiàn)外,也可以在終端實(shí)現(xiàn)。“推斷”所需參數(shù)可由云端“訓(xùn)練”完畢后,定期下載更新到終端。
傳統(tǒng)CPU算力不足,新架構(gòu)芯片支撐AI成必須。核心芯片決定計(jì)算平臺(tái)的基礎(chǔ)架構(gòu)和發(fā)展生態(tài),由于AI所需的深度學(xué)習(xí)需要很高的內(nèi)在并行度、大量浮點(diǎn)計(jì)算能力以及矩陣運(yùn)算,基于CPU的傳統(tǒng)計(jì)算架構(gòu)無(wú)法充分滿(mǎn)足人工智能高性能并行計(jì)算(HPC)的需求,因此需要發(fā)展適合人工智能架構(gòu)的專(zhuān)屬芯片。
專(zhuān)屬硬件加速是新架構(gòu)芯片發(fā)展主流。目前處理器芯片面向人工智能硬件優(yōu)化升級(jí)有兩種發(fā)展路徑:(1)延續(xù)傳統(tǒng)計(jì)算架構(gòu),加速硬件計(jì)算能力:以GPU、FPGA、ASIC(TPU、NPU等)芯片為代表,采用這些專(zhuān)屬芯片作為輔助,配合CPU的控制,專(zhuān)門(mén)進(jìn)行人工智能相關(guān)的各種運(yùn)算;(2)徹底顛覆傳統(tǒng)計(jì)算架構(gòu),采用模擬人腦神經(jīng)元結(jié)構(gòu)來(lái)提升計(jì)算能力,以IBM TrueNorth芯片為代表,由于技術(shù)和底層硬件的限制,第二種路徑尚處于前期研發(fā)階段,目前不具備大規(guī)模商業(yè)應(yīng)用的可能性。從技術(shù)成熟度和商業(yè)可行性?xún)蓚€(gè)角度,我們判斷使用AI專(zhuān)屬硬件進(jìn)行加速運(yùn)算是今后五年及以上的市場(chǎng)主流。
云端終端雙場(chǎng)景,三種專(zhuān)屬芯片各顯其能
我們把人工智能硬件應(yīng)用場(chǎng)景歸納為云端場(chǎng)景和終端場(chǎng)景兩大類(lèi)。云端主要指服務(wù)器端,包括各種共有云、私有云、數(shù)據(jù)中心等業(yè)務(wù)范疇;終端主要指包括安防、車(chē)載、手機(jī)、音箱、機(jī)器人等各種應(yīng)用在內(nèi)的移動(dòng)終端。由于算法效率和底層硬件選擇密切相關(guān),“云端”(服務(wù)器端)和“終端”(產(chǎn)品端)場(chǎng)景對(duì)硬件的需求也不同。
除CPU外,人工智能目前主流使用三種專(zhuān)用核心芯片,分別是GPU,F(xiàn)PGA,ASIC。
GPU:先發(fā)制人的“十項(xiàng)全能”選手,云端終端均拔頭籌。GPU(Graphics Processing Unit)又稱(chēng)圖形處理器,之前是專(zhuān)門(mén)用作圖像運(yùn)算工作的微處理器。相比CPU,GPU由于更適合執(zhí)行復(fù)雜的數(shù)學(xué)和幾何計(jì)算(尤其是并行運(yùn)算),剛好與包含大量的并行運(yùn)算的人工智能深度學(xué)習(xí)算法相匹配,因此在人工智能時(shí)代剛好被賦予了新的使命,成為人工智能硬件首選,在云端和終端各種場(chǎng)景均率先落地。目前在云端作為AI“訓(xùn)練”的主力芯片,在終端的安防、汽車(chē)等領(lǐng)域,GPU也率先落地,是目前應(yīng)用范圍最廣、靈活度最高的AI硬件。
FPGA:“變形金剛”,算法未定型前的階段性最佳選擇。FPGA(Field-Programmable Gate Array)即現(xiàn)場(chǎng)可編程門(mén)陣列,是一種用戶(hù)可根據(jù)自身需求進(jìn)行重復(fù)編程的“萬(wàn)能芯片”。編程完畢后功能相當(dāng)于ASIC(專(zhuān)用集成電路),具備效率高、功耗低的特點(diǎn),但同時(shí)由于要保證編程的靈活性,電路上會(huì)有大量冗余,因此成本上不能像ASIC做到最優(yōu),并且工作頻率不能太高(一般主頻低于500MHz)。FPGA相比GPU具有低功耗優(yōu)勢(shì),同時(shí)相比ASIC具有開(kāi)發(fā)周期快,更加靈活編程等特點(diǎn)。FPGA于“應(yīng)用爆發(fā)”與“ASIC量產(chǎn)”夾縫中尋求發(fā)展,是效率和靈活性的較好折衷,“和時(shí)間賽跑”,在算法未定型之前具較大優(yōu)勢(shì)。在現(xiàn)階段云端數(shù)據(jù)中心業(yè)務(wù)中,F(xiàn)PGA以其靈活性和可深度優(yōu)化的特點(diǎn),有望繼GPU之后在該市場(chǎng)爆發(fā);在目前的終端智能安防領(lǐng)域,目前也有廠(chǎng)商采用FPGA方案實(shí)現(xiàn)AI硬件加速。
ASIC:“專(zhuān)精職業(yè)選手”,專(zhuān)一決定效率,AI芯片未來(lái)最佳選擇。ASIC(Application Specific Integrated Circuit)即專(zhuān)用集成電路,本文中特指專(zhuān)門(mén)為AI應(yīng)用設(shè)計(jì)、專(zhuān)屬架構(gòu)的處理器芯片。近年來(lái)涌現(xiàn)的類(lèi)似TPU、NPU、VPU、BPU等令人眼花繚亂的各種芯片,本質(zhì)上都屬于ASIC。無(wú)論是從性能、面積、功耗等各方面,AISC都優(yōu)于GPU和FPGA,長(zhǎng)期來(lái)看無(wú)論在云端和終端,ASIC都代表AI芯片的未來(lái)。但在AI算法尚處于蓬勃發(fā)展、快速迭代的今天,ASIC存在開(kāi)發(fā)周期較長(zhǎng)、需要底層硬件編程、靈活性較低等劣勢(shì),因此發(fā)展速度不及GPU和FPGA。
本報(bào)告我們分別仔細(xì)分析云端和終端兩種應(yīng)用場(chǎng)景下,這三種專(zhuān)屬AI芯片的應(yīng)用現(xiàn)狀、發(fā)展前景及可能變革。
云端場(chǎng)景:GPU生態(tài)領(lǐng)先,未來(lái)多芯片互補(bǔ)共存
核心結(jié)論:GPU、TPU等適合并行運(yùn)算的處理器未來(lái)成為支撐人工智能運(yùn)算的主力器件,既存在競(jìng)爭(zhēng)又長(zhǎng)期共存,一定程度可相互配合;FPGA有望在數(shù)據(jù)中心業(yè)務(wù)承擔(dān)較多角色,在云端主要作為有效補(bǔ)充存在;CPU會(huì)“變小”,依舊作為控制中心。未來(lái)芯片的發(fā)展前景取決于生態(tài),有望統(tǒng)一在主流的幾個(gè)軟件框架下,形成云端CPU+GPU/TPU+FPGA(可選)的多芯片協(xié)同場(chǎng)景。
(1)依托大數(shù)據(jù),科技巨頭不同技術(shù)路徑布局AI云平臺(tái)
基于云平臺(tái),各大科技巨頭大力布局人工智能。云計(jì)算分為三層,分別是Infrastructure(基礎(chǔ)設(shè)施)-as-a-Service(IaaS),Platform(平臺(tái))-as-a-Service(Paas),Software(軟件)-as-a-Service(Saas)?;A(chǔ)設(shè)施在最下端,平臺(tái)在中間,軟件在頂端。IaaS公司提供場(chǎng)外服務(wù)器,存儲(chǔ)和網(wǎng)絡(luò)硬件。大數(shù)據(jù)為人工智能提供信息來(lái)源,云計(jì)算為人工智能提供平臺(tái),人工智能關(guān)鍵技術(shù)是在云計(jì)算和大數(shù)據(jù)日益成熟的背景下取得了突破性進(jìn)展。目前各大科技巨頭看好未來(lái)人工智能走向云端的發(fā)展態(tài)勢(shì),紛紛在自有云平臺(tái)基礎(chǔ)上搭載人工智能系統(tǒng),以期利用沉淀在云端的大數(shù)據(jù)挖掘價(jià)值。
(2)千億美元云服務(wù)市場(chǎng),AI芯片發(fā)展?jié)摿薮?/p>
千億美元云服務(wù)市場(chǎng),云計(jì)算硬件市場(chǎng)規(guī)模巨大。云計(jì)算的市場(chǎng)規(guī)模在逐漸擴(kuò)大。據(jù)Gartner的統(tǒng)計(jì),2015年以IaaS、PaaS和SaaS為代表的典型云服務(wù)市場(chǎng)規(guī)模達(dá)到522.4億美元,增速20.6%,預(yù)計(jì)2020年將達(dá)到1435.3億美元,年復(fù)合增長(zhǎng)率達(dá)22%。其中IaaS公司到2020年市場(chǎng)空間達(dá)到615億美元,占整個(gè)云計(jì)算市場(chǎng)達(dá)43%,云計(jì)算硬件市場(chǎng)空間巨大,而云計(jì)算和人工智能各種加速算法關(guān)系密切,未來(lái)的云計(jì)算硬件離不開(kāi)AI芯片加速。
云端AI芯片發(fā)展?jié)摿薮蟆8鶕?jù)英偉達(dá)與AMD財(cái)務(wù)數(shù)據(jù),我們預(yù)計(jì)GPU到2020年在數(shù)據(jù)中心業(yè)務(wù)中將達(dá)到約50億美元市場(chǎng)規(guī)模。同時(shí)根據(jù)賽靈思與阿爾特拉等FPGA廠(chǎng)商,我們預(yù)計(jì)2020年FPAG數(shù)據(jù)中心業(yè)務(wù)將達(dá)到20億美元。加上即將爆發(fā)的ASIC云端市場(chǎng)空間,我們預(yù)計(jì)到2020年云端AI芯片市場(chǎng)規(guī)模將達(dá)到105.68億美元,AI芯片在云端會(huì)成為云計(jì)算的重要組成部分,發(fā)展?jié)摿薮蟆?/p>
(3)云端芯片現(xiàn)狀總結(jié):GPU領(lǐng)先,F(xiàn)PGA隨后,ASIC萌芽
AI芯片在云端基于大數(shù)據(jù),核心負(fù)責(zé)“訓(xùn)練”。云端的特征就是“大數(shù)據(jù)+云計(jì)算”,用戶(hù)依靠大數(shù)據(jù)可進(jìn)行充分的數(shù)據(jù)分析和數(shù)據(jù)挖掘、提取各類(lèi)數(shù)據(jù)特征,與人工智能算法充分結(jié)合進(jìn)行云計(jì)算,從而衍生出服務(wù)器端各種AI+應(yīng)用。AI芯片是負(fù)責(zé)加速人工智能各種復(fù)雜算法的硬件。由于相關(guān)計(jì)算量巨大,CPU架構(gòu)被證明不能滿(mǎn)足需要處理大量并行計(jì)算的人工智能算法,需要更適合并行計(jì)算的芯片,所以GPU、FPGA、TPU等各種芯片應(yīng)運(yùn)而生。AI芯片在云端可同時(shí)承擔(dān)人工智能的“訓(xùn)練”和“推斷”過(guò)程。
云端芯片現(xiàn)狀:GPU占據(jù)云端人工智能主導(dǎo)市場(chǎng),以TPU為代表的ASIC目前只運(yùn)用在巨頭的閉環(huán)生態(tài),F(xiàn)PGA在數(shù)據(jù)中心業(yè)務(wù)中發(fā)展較快。
GPU應(yīng)用開(kāi)發(fā)周期短,成本相對(duì)低,技術(shù)體系成熟,目前全球各大公司云計(jì)算中心如谷歌、微軟、亞馬遜、阿里巴巴等主流公司均采用GPU進(jìn)行AI計(jì)算。
谷歌除大量使用GPU外,努力發(fā)展自己的AI專(zhuān)屬的ASIC芯片。今年5月推出的TPU與GPU相比耗電量降低60%,芯片面積下降40%,能更好的滿(mǎn)足其龐大的AI算力要求,但由于目前人工智能算法迭代較快,目前TPU只供谷歌自身使用,后續(xù)隨著TensorFlow的成熟,TPU也有外供可能,但通用性還有很長(zhǎng)路要走。
百度等廠(chǎng)商目前在數(shù)據(jù)中心業(yè)務(wù)中也積極采用FPGA進(jìn)行云端加速。FPGA可以看做從GPU到ASIC重點(diǎn)過(guò)渡方案。相對(duì)于GPU可深入到硬件級(jí)優(yōu)化,相比ASIC在目前算法不斷迭代演進(jìn)情況下更具靈活性,且開(kāi)發(fā)時(shí)間更短。AI領(lǐng)域?qū)S眉軜?gòu)芯片(ASIC)已經(jīng)被證明可能具有更好的性能和功耗,有望成為未來(lái)人工智能硬件的主流方向。
(4)云端GPU:云端AI芯片主流,先發(fā)優(yōu)勢(shì)明顯
發(fā)展現(xiàn)狀:GPU天然適合并行計(jì)算,是目前云端AI應(yīng)用最廣的芯片
GPU目前云端應(yīng)用范圍最廣。目前大量涉足人工智能的企業(yè)都采用GPU進(jìn)行加速。根據(jù)英偉達(dá)官方資料,與英偉達(dá)合作開(kāi)發(fā)深度學(xué)習(xí)項(xiàng)目的公司2016年超過(guò)19000家,對(duì)比2014年數(shù)量1500 家。目前百度、Google、Facebook 和微軟等IT巨頭都采用英偉達(dá)的GPU對(duì)其人工智能項(xiàng)目進(jìn)行加速,GPU目前在云端AI深度學(xué)習(xí)場(chǎng)景應(yīng)用最為廣泛, 由于其良好的編程環(huán)境帶來(lái)的先發(fā)優(yōu)勢(shì),預(yù)計(jì)未來(lái)仍將持續(xù)強(qiáng)勢(shì)。
GPU芯片架構(gòu)脫胎圖像處理,并行計(jì)算能力強(qiáng)大。GPU(Graphics Processing Unit),又稱(chēng)視覺(jué)處理器,是之前應(yīng)用在個(gè)人電腦、工作站、游戲機(jī)、移動(dòng)設(shè)備(如平板電腦、智能手機(jī)等)等芯片內(nèi)部,專(zhuān)門(mén)用作圖像運(yùn)算工作的微處理器。與CPU類(lèi)似可以編程,但相比CPU更適合執(zhí)行復(fù)雜的數(shù)學(xué)和幾何計(jì)算,尤其是并行運(yùn)算。內(nèi)部具有高并行結(jié)構(gòu)(highly paralle lstructure),在處理圖形數(shù)據(jù)和復(fù)雜算法方面擁有比CPU更高的效率。
GPU較CPU結(jié)構(gòu)差異明顯,更適合并行計(jì)算。對(duì)比GPU和CPU在結(jié)構(gòu)上的差異,CPU大部分面積為控制器和寄存器,GPU擁有更多的ALU(Arithmetic Logic Unit,邏輯運(yùn)算單元)用于數(shù)據(jù)處理,而非數(shù)據(jù)高速緩存和流控制,這樣的結(jié)構(gòu)適合對(duì)密集型數(shù)據(jù)進(jìn)行并行處理。CPU執(zhí)行計(jì)算任務(wù)時(shí),一個(gè)時(shí)刻只處理一個(gè)數(shù)據(jù),不存在真正意義上的并行,而GPU具有多個(gè)處理器核,同一時(shí)刻可并行處理多個(gè)數(shù)據(jù)。
與CPU相比,GPU在AI領(lǐng)域的性能具備絕對(duì)優(yōu)勢(shì)。深度學(xué)習(xí)在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,需要很高的內(nèi)在并行度、大量的浮點(diǎn)計(jì)算能力以及矩陣運(yùn)算,而GPU可以提供這些能力,并且在相同的精度下,相對(duì)傳統(tǒng)CPU的方式,擁有更快的處理速度、更少的服務(wù)器投入和更低的功耗。在2017年5月11日的加州圣何塞GPU技術(shù)大會(huì)上,NVIDIA就已經(jīng)發(fā)布了Tesla V100。這個(gè)目前性能最強(qiáng)的GPU運(yùn)算架構(gòu)Volta采用臺(tái)積電12nm FFN制程并整合210億顆電晶體,在處理深度學(xué)習(xí)的性能上等同于250顆CPU。
評(píng)論