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