英特爾和英偉達(dá)如何應(yīng)對(duì)AlphaGo來(lái)襲、谷歌TPU芯片發(fā)力?
日前,去年擊敗世界圍棋第一人李世石,由DeepMind(已被谷歌收購(gòu))開(kāi)發(fā)的圍棋AI—AlphaGo,已移師中國(guó),再戰(zhàn)目前等級(jí)分排名世界第一的中國(guó)棋手柯潔九段,且率先拿下一局暫時(shí)領(lǐng)先的消息再次引發(fā)了業(yè)內(nèi)的高度關(guān)注。
那么問(wèn)題來(lái)了,AlphaGo緣何如此“聰明”和超乎人類的思考和反應(yīng)能力?
就在AlphaGo與柯潔“人機(jī)大戰(zhàn)”不久前,Google I/O 2017 大會(huì)上,谷歌“移動(dòng)為先”向“AI優(yōu)先”再次升級(jí),其中最典型的表現(xiàn)之一就是更新升級(jí)了去年公布的TPU(Tensor Processing Unit),一款谷歌自己高度定制化的AI(針對(duì)AI算法,例如其自己開(kāi)發(fā)的Tensor Flow深度學(xué)習(xí)架構(gòu))芯片。
這款芯片也是AlphaGo背后的功臣,即AlphaGo能以超人的熟練度下圍棋都要靠訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)完成,而這又需要計(jì)算能力(硬件越強(qiáng)大,得到的結(jié)果越快),TPU就充當(dāng)了這個(gè)角色,更重要的是借此顯現(xiàn)出了在AI芯片領(lǐng)域相對(duì)于英特爾CPU和英偉達(dá)GPU的優(yōu)勢(shì)。何以見(jiàn)得?
在去年的“人機(jī)大戰(zhàn)”中,起初AlphaGo的硬件平臺(tái)采用的是CPU+GPU,即AlphaGo的完整版本使用了40個(gè)搜索線程,運(yùn)行在48塊CPU和8塊GPU上,AlphaGo的分布式版本則利用了更多的芯片,40個(gè)搜索線程運(yùn)行在1202塊CPU和176塊GPU上。
這個(gè)配置是和當(dāng)時(shí)樊麾比賽時(shí)使用的,所以當(dāng)時(shí)李世石看到AlphaGo與樊麾的對(duì)弈過(guò)程后,對(duì)“人機(jī)大戰(zhàn)”很有信心。但是就在短短幾個(gè)月時(shí)間內(nèi),谷歌就把運(yùn)行AlphaGo的硬件平臺(tái)切換到了TPU上,之后對(duì)戰(zhàn)的結(jié)果是AlphaGo以絕對(duì)優(yōu)勢(shì)擊敗了李世石。也就是說(shuō),采用TPU之后的AlphaGo的運(yùn)算速度和反應(yīng)更快。那么究竟TPU與CPU和GPU相比,到底有多大的優(yōu)勢(shì)(例如性能和功耗)?
據(jù)谷歌披露的相關(guān)文件顯示,其TPU與服務(wù)器級(jí)的英特爾Haswell CPU和英偉達(dá)K80 GPU進(jìn)行比較,這些硬件都在同一時(shí)期部署在同個(gè)數(shù)據(jù)中心。測(cè)試負(fù)載為基于TensorFlow框架的高級(jí)描述,應(yīng)用于實(shí)際產(chǎn)品的NN應(yīng)用程序(MLP,CNN和LSTM),這些應(yīng)用代表了數(shù)據(jù)中心承載的95%的NN推理需求。
盡管在一些應(yīng)用上利用率很低,但TPU平均比當(dāng)前的GPU或CPU快15~30倍,性能功耗比(TOPS/Watt)高出約30~80倍。此外,在TPU中采用GPU常用的GDDR5存儲(chǔ)器能使性能TPOS指標(biāo)再高3倍,并將能效比指標(biāo)TOPS/Watt提高到GPU的70倍,CPU的200倍。
盡管英偉達(dá)對(duì)于上述的測(cè)試表示了異議,但TPU相對(duì)于CPU和GPU存在的性能功耗比的優(yōu)勢(shì)(不僅體現(xiàn)在AI,還有數(shù)據(jù)中心)已經(jīng)成為業(yè)內(nèi)的共識(shí)。值得一提的是,在剛剛舉辦Google I/O 2017 大會(huì)上發(fā)布的新一代TPU已經(jīng)達(dá)到每秒180萬(wàn)億次的浮點(diǎn)運(yùn)算性能,超過(guò)了英偉達(dá)剛剛推出的GPU Tesla2 V100每秒120萬(wàn)億次浮點(diǎn)運(yùn)算性能。那么是什么造就TPU的優(yōu)勢(shì)?
簡(jiǎn)單來(lái)說(shuō),CPU是基于完全通用的訴求,實(shí)現(xiàn)的通用處理架構(gòu)。GPU則主要基于圖像處理的訴求,降低了一部分通用性,并針對(duì)核心邏輯做了一定的優(yōu)化,是一款準(zhǔn)通用的處理架構(gòu),以犧牲通用性為代價(jià),在特定場(chǎng)合擁有比CPU快得多的處理效率。
而TPU,則針對(duì)更明確的目標(biāo)和處理邏輯,進(jìn)行更直接的硬件優(yōu)化,以徹底犧牲通用性為代價(jià),獲得在特定場(chǎng)合和應(yīng)用的極端效率,也就是俗話所言的“萬(wàn)能工具的效率永遠(yuǎn)比不上專用工具”。而這正好迎合了當(dāng)下諸多炙手可熱的人工智能的訓(xùn)練和推理等均需要大量、快速的數(shù)據(jù)運(yùn)算的需求。
到目前為止,谷歌的TPU已經(jīng)應(yīng)用在各種領(lǐng)域的應(yīng)用中,例如谷歌圖像搜索(Google Image Search)、谷歌照片(Google Photo)、谷歌云視覺(jué)API(Google Cloud Vision API)、谷歌翻譯以及AlphaGo的圍棋系統(tǒng)中。實(shí)際上我們上述提到的Google I/O 2017大會(huì)推出和更新的諸多AI產(chǎn)品和服務(wù)背后均有TPU的硬件支持。
當(dāng)然,我們?cè)诖瞬⒎欠裾J(rèn)CPU和GPU在AI中的作用,例如鑒于CPU的通用性,其靈活性最大,不僅可以運(yùn)行各種各樣的程序,也包括使用各種軟件庫(kù)的深度學(xué)習(xí)網(wǎng)絡(luò)執(zhí)行的學(xué)習(xí)和推理。GPU雖然不像 CPU那樣通用和靈活,但它在深度學(xué)習(xí)計(jì)算方面更好,因?yàn)樗軌驁?zhí)行學(xué)習(xí)和推理,并且不局限于單個(gè)的軟件庫(kù)。相比之下,TPU則幾乎沒(méi)有靈活性,并且只能在自家的TensorFlow中效率最高,這也是為何谷歌對(duì)外聲稱TPU不對(duì)外銷售,且仍會(huì)繼續(xù)采用CPU和GPU。
但谷歌的這一做法印證了一個(gè)芯片產(chǎn)業(yè)的發(fā)展趨勢(shì),即在AI負(fù)載和應(yīng)用所占數(shù)據(jù)中心比重越來(lái)越大的今天和未來(lái),像谷歌、微軟、Facebook、亞馬遜、阿里巴巴、騰訊等這些數(shù)據(jù)中心芯片采購(gòu)的大戶,其之前對(duì)于CPU和GPU的通用性需求可能會(huì)越來(lái)越少,而針對(duì)AI開(kāi)發(fā)應(yīng)用的兼顧性能和能效的定制化芯片需求則會(huì)越來(lái)越多。
而作為通用芯片廠商的英特爾和英偉達(dá),如何順應(yīng)芯片產(chǎn)業(yè)在AI驅(qū)動(dòng)下的發(fā)展趨勢(shì),則關(guān)系著其在AI時(shí)代到來(lái)之時(shí),其能否繼續(xù)滿足客戶的需求和引領(lǐng)產(chǎn)業(yè)的發(fā)展。或許,應(yīng)該特爾和英偉達(dá)都應(yīng)該未雨綢繆。