谷歌(微博)自主開發(fā)定制化芯片,以加速其機(jī)器學(xué)習(xí)算法,這已不是什么秘密了。早在2016年5月,該公司就在其I/O開發(fā)者大會上首次公布了這款名為Tensor Processing Units(簡稱TPU)的芯片。但是,該公司從未詳細(xì)地介紹過它們,只是聲稱這些芯片是專門為其TensorFlow機(jī)器學(xué)習(xí)框架度身定做的。
但是在周三,谷歌首次詳細(xì)地介紹了這種芯片的相關(guān)信息。
谷歌的大衛(wèi)-帕特森(David Patterson)不僅與人聯(lián)合發(fā)表了有關(guān)TPU芯片的文章,而且在美國國家工程院于加利福尼亞州山景城舉行的一次活動中作了相關(guān)演講。這篇有關(guān)TPU芯片的文章總共有高達(dá)75名聯(lián)合署名作者。
芯片設(shè)計師可以上述文章中找到詳細(xì)的有關(guān)TPU的運行原理。根據(jù)谷歌自己的衡量標(biāo)準(zhǔn),TPU執(zhí)行谷歌一般機(jī)器學(xué)習(xí)任務(wù)的平均速度是標(biāo)準(zhǔn)GPU/CPU芯片(這里指英特爾Haswell芯片和英偉達(dá)K80 GPU)的15到30倍。由于數(shù)據(jù)中心的耗電量也是一個重要的考量,TPU的每瓦計算能力是GPU/CPU芯片的30到80倍。
谷歌還指出,雖然大多數(shù)工程師針對卷積神經(jīng)網(wǎng)絡(luò)改造了其芯片,但是這些網(wǎng)絡(luò)僅占谷歌數(shù)據(jù)中心工作量的大約5%,因為該公司的大多數(shù)應(yīng)用程序均使用多層感知器神經(jīng)網(wǎng)絡(luò)。
谷歌聲稱,早在2006年,它就開始研究如何在其數(shù)據(jù)中心使用GPU、FPGA(現(xiàn)場可編程門陣列)和定制化ASIC(實際上就是TPU)。但是在當(dāng)時,并沒有多少應(yīng)用程序可以從這種特殊的芯片受益,因為大多數(shù)任務(wù)均可以通過數(shù)據(jù)中心提供的額外的芯片進(jìn)行處理。
“在2013年,情況發(fā)生了改變。我們預(yù)計,由于深度神經(jīng)網(wǎng)絡(luò)(DNN)變得如何非常流行,它可能要求我們把數(shù)據(jù)中心的計算能力提高一倍。如果采用傳統(tǒng)的CPU芯片,成本就會變得極其昂貴。”谷歌在其文件中稱,“因此,我們開始優(yōu)先開發(fā)定制化ASIC。”
谷歌研究人員稱,他們的目標(biāo)就是“將其性價比提高到GPU芯片的10倍。”
谷歌從2015年起就一直在公司內(nèi)部使用TPU芯片,而且它以后也可能只會讓自己使用這種芯片。但是該公司指出,它希望其他公司能夠借鑒吸收它的研究成果,“打造下一代更高標(biāo)準(zhǔn)的芯片”。
在過去五年中,AMD和英偉達(dá)等公司的GPU芯片已成為了經(jīng)濟(jì)型深度學(xué)習(xí)技術(shù)的默認(rèn)基礎(chǔ)架構(gòu)。但是,谷歌、微軟和其他公司還開始探索其他類型的芯片,包括處理各種不同人工智能任務(wù)的FPGA。谷歌知名硬件工程師諾姆-久皮(Norm Jouppi)在一篇博文中稱,谷歌的TPU芯片已開始支持Google Image Search(圖片搜索)、Google Photos(谷歌照片)和Google Cloud Vision(圖像識別平臺)應(yīng)用編程接口等等。
相對而言,TPU芯片的單片存儲器容量是英偉達(dá)K80 GPU的3.5倍,但是它的體積相對更小。目前,谷歌可以在一臺服務(wù)器中整合兩個TPU芯片。
“為了減少延緩部署的概率,TPU芯片并沒有與CPU進(jìn)行整合,而是被設(shè)計成PCIe I/O總線上的協(xié)處理器。這使得它能夠直接插入現(xiàn)有的服務(wù)器中,就像GPU芯片一樣。而且,為了讓硬件設(shè)計和故障排除過程變得更為簡單,托管服務(wù)器會發(fā)送指令給TPU芯片執(zhí)行,而不是讓TPU芯片自己獲取指令。因此,從設(shè)計理念上來說,TPU芯片更接近于FPU協(xié)處理器,而不是GPU。”上述文章稱。