文/孫永杰
日前,去年擊敗世界圍棋第一人李世石,由谷歌收購的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 大會(huì)上,,谷歌“移動(dòng)為先”向“AI優(yōu)先”再次升級,其中最典型的表現(xiàn)之一就是更新和升級了去年I/O 2017 大會(huì)上公布的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的硬件平臺(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與樊麾的對弈過程后對“人機(jī)大戰(zhàn)”很有信心。但是就在短短的幾個(gè)月時(shí)間,谷歌就把運(yùn)行AlphaGo的硬件平臺(tái)換成了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 存儲(chǔ)器能使性能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)的共識(shí)。值得一提的是,在剛剛舉辦谷歌 I/O 2017 大會(huì)上發(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 大會(huì)推出和更新的諸多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不對外銷售,且仍會(huì)繼續(xù)采用CPU和GPU。
但谷歌的這一做法印證一個(gè)芯片產(chǎn)業(yè)的發(fā)展趨勢,即在AI負(fù)載和應(yīng)用所占數(shù)據(jù)中心比重越來越大的今天和未來,像諸如谷歌、微軟、Facebook、亞馬遜、阿里巴巴、騰訊等這些數(shù)據(jù)中心芯片采購的大戶,其之前對于CPU和GPU的通用性需求可能會(huì)越來越少,而針對AI開發(fā)和應(yīng)用的兼顧性能和能效的定制化芯片會(huì)越來越多,而作為通用芯片廠商的英特爾和英偉達(dá),如何順應(yīng)這一芯片產(chǎn)業(yè)在AI驅(qū)動(dòng)下的變化和發(fā)展趨勢未雨綢繆,則關(guān)系著其在AI時(shí)代到來之時(shí),其能否繼續(xù)滿足客戶的需求和引領(lǐng)產(chǎn)業(yè)的發(fā)展。