11月28日消息,據(jù)AndroidAuthority報(bào)道,在利用搜索和Android幫助定義了現(xiàn)代互聯(lián)網(wǎng)時(shí)代之后,谷歌又走在計(jì)算研究和開發(fā)的下一波浪潮——人工智能(AI)的前沿。許多人認(rèn)為AI和神經(jīng)網(wǎng)絡(luò)計(jì)算機(jī)是計(jì)算的下個(gè)階段,它們將會(huì)發(fā)展出新的用途,并用更快的計(jì)算速度解決目前無(wú)法解決的問(wèn)題。自稱為“AI優(yōu)先(AI first)”公司的谷歌,正以多種方式引領(lǐng)著這些新技術(shù)的應(yīng)用。
神經(jīng)網(wǎng)絡(luò)算法和機(jī)器學(xué)習(xí)已經(jīng)成為谷歌諸多服務(wù)的核心。它們過(guò)濾Gmail的垃圾郵件,優(yōu)化目標(biāo)廣告;當(dāng)你與谷歌智能助理Google Assistant或智能音箱Google Home交談時(shí),它們會(huì)分析你的聲音;在智能手機(jī)內(nèi)部,像Google Lens和三星Bixby類似的應(yīng)用凸顯了AI視覺處理的力量;甚至像Spotify和Netflix這樣的公司也在使用谷歌的云服務(wù)器,來(lái)為用戶量身定制內(nèi)容。
谷歌的“云平臺(tái)”(Cloud Platform)是其(以及第三方)努力的核心,它們希望更好地利用這個(gè)日益流行的計(jì)算領(lǐng)域。然而,這個(gè)新領(lǐng)域需要新的硬件支持才能高效運(yùn)行,谷歌已經(jīng)投入巨資研究自己的處理硬件,它將其稱為張量處理單元(TPU)。這種自定義硬件被打包到谷歌的服務(wù)器上,已經(jīng)為當(dāng)前和擴(kuò)展的AI生態(tài)系統(tǒng)提供動(dòng)力。但它到底是如何工作的呢?
1.TPU VS CPU——搜索效率更高
在今年早些時(shí)候的I/O開發(fā)者大會(huì)上,谷歌發(fā)布了第二代TPU,為更大芯片集群提供更高的性能和更好的擴(kuò)展。TPU是個(gè)應(yīng)用集成電路,它是專門為特定用例設(shè)計(jì)的定制硅芯片,而不是像CPU那樣的普通處理單元。TPU被設(shè)計(jì)用于處理普通機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)計(jì)算的訓(xùn)練和推理任務(wù)。具體來(lái)說(shuō),就是矩陣乘法(matrix multiply)、點(diǎn)積(dot product)和量化變換(quantization transform),通常精度為8位。
雖然這些計(jì)算也可以在CPU上進(jìn)行,有時(shí)甚至在GPU上進(jìn)行計(jì)算更高效,但在跨操作類型的擴(kuò)展時(shí),這些架構(gòu)在性能和能源效率方面都會(huì)受到限制。例如,與16位浮點(diǎn)優(yōu)化設(shè)計(jì)相比,IEEE 754 8位整數(shù)乘法優(yōu)化設(shè)計(jì)能源效率會(huì)提高5.5倍,而面積效率會(huì)增加6倍。與32位浮點(diǎn)優(yōu)化設(shè)計(jì)相比,IEEE 754 8位整數(shù)乘法優(yōu)化設(shè)計(jì)的能量效率提高18.5倍,面積效率會(huì)提高27倍。IEEE 754正成為所有使用浮點(diǎn)計(jì)算的現(xiàn)代CPU技術(shù)標(biāo)準(zhǔn)。
此外,從用戶角度來(lái)看,許多神經(jīng)網(wǎng)絡(luò)用例需要低延遲甚至是即時(shí)處理。這有利于使用專用硬件執(zhí)行特定任務(wù),而不是試圖將通常較高的延遲圖形架構(gòu)與新的用例結(jié)合起來(lái)。訪問(wèn)外部RAM的內(nèi)存延遲也可能帶來(lái)高昂的代價(jià)。在大型數(shù)據(jù)中心,當(dāng)在CPU或GPU上執(zhí)行神經(jīng)網(wǎng)絡(luò)功能時(shí),電源和面積效率低下會(huì)導(dǎo)致巨大的成本開支。不僅在硅和設(shè)備方面開支激增,能源賬單在很長(zhǎng)一段時(shí)間內(nèi)都會(huì)居高不下。谷歌知道,如果機(jī)器學(xué)習(xí)能夠以一種有意義的方式取得成功,它需要的硬件不僅性能要高,而且還能提供比領(lǐng)先CPU和GPU更高的能源效率。
為了解決這個(gè)問(wèn)題,谷歌開始設(shè)計(jì)它的TPU,以提供比現(xiàn)成GPU性價(jià)比高10倍的改進(jìn)。最終的設(shè)計(jì)是個(gè)協(xié)同處理器,可以連接到普通的PCIe總線上,允許它與普通CPU共同工作,并通過(guò)它下達(dá)指令和處理流量,同時(shí)通過(guò)設(shè)計(jì)一個(gè)附加組件來(lái)加速部署時(shí)間。因此,這種設(shè)計(jì)在概念提出15個(gè)月后,就開始在谷歌的數(shù)據(jù)中心部署和運(yùn)行。
2.TPU深析
今年早些時(shí)候,谷歌發(fā)布報(bào)告,將其TPU與英特爾HaswellCPU和Nvidia的Tesla K80 GPU在性能和效率上進(jìn)行全面比較,讓我們更深入地了解其處理器的設(shè)計(jì)。谷歌TPU的核心是矩陣乘法單元(Matrix Multiply Unit)。該單元包含65538個(gè)8位的乘數(shù)累加器(MAC),即專門設(shè)計(jì)用于計(jì)算點(diǎn)積的硬件單元,并將其添加到累加器中。當(dāng)使用浮點(diǎn)數(shù)計(jì)算時(shí),它被稱為熔加運(yùn)算(Fused Multiply-Add,簡(jiǎn)稱FMA)。這是ARM為優(yōu)化其最新的Cortex-A75和A55 CPU以及Mali-G72 GPU而做出的努力。
與CPU或GPU不同的是,當(dāng)發(fā)送數(shù)據(jù)到算術(shù)邏輯單元(ALU)和從ALU發(fā)送數(shù)據(jù)時(shí),它可以訪問(wèn)多個(gè)寄存器的每個(gè)操作,這個(gè)MAC實(shí)現(xiàn)了一個(gè)收縮設(shè)計(jì),它每次讀取一個(gè)寄存器上的操作,并在整個(gè)漫長(zhǎng)的計(jì)算過(guò)程中重新使用這個(gè)值。這在TPU中是可能的,因?yàn)樗暮?jiǎn)化設(shè)計(jì)讓我們看到ALU在adjoining ALU上執(zhí)行乘法和添加固定模式,而不需要任何內(nèi)存訪問(wèn)。這限制了設(shè)計(jì)的功能擴(kuò)展,但極大地提高了它的性能和效率。
從數(shù)字上看,在每個(gè)循環(huán)中,谷歌的TPU可以處理8位整數(shù)的65536個(gè)乘數(shù)累加。鑒于TPU在700兆赫功率上運(yùn)行,它可以計(jì)算65536×700000000 = 46×1012個(gè)乘數(shù)累加操作或92 TeraOps(每秒萬(wàn)億次操作)的矩陣單元。谷歌宣稱,它的第二代TPU可以傳輸高達(dá)180萬(wàn)億次浮點(diǎn)運(yùn)算。這比典型的標(biāo)量RISC處理器的性能要高得多,后者通常需要多個(gè)指令傳遞一個(gè)操作。
矩陣乘法單元下的16位產(chǎn)品被收集在32位累加器的4 MiB中。還有一個(gè)24MB的SRAM作為統(tǒng)一緩沖區(qū),充當(dāng)寄存器??刂铺幚砥鞯闹噶钔ㄟ^(guò)PCIe總線從一個(gè)CPU發(fā)送到TPU上。這些是復(fù)雜的CISC類型指令,以便運(yùn)行復(fù)雜的任務(wù),這些任務(wù)是每個(gè)指令,例如無(wú)數(shù)的乘數(shù)累加運(yùn)算。這些指令通過(guò)一個(gè)4階管道傳遞。對(duì)于TPU來(lái)說(shuō),總共只有12條指令,其中最重要的5條是簡(jiǎn)單地在內(nèi)存中讀取和寫入結(jié)果和權(quán)重,并開始一個(gè)數(shù)據(jù)和權(quán)重的矩陣乘法/卷積。
總的來(lái)說(shuō),谷歌的TPU更像浮點(diǎn)協(xié)作處理器,而不是GPU。它是一個(gè)令人驚訝的流線型硬件,由一個(gè)主要的處理單元和一個(gè)小的簡(jiǎn)化控制方案組成。這里沒有緩存、分支預(yù)測(cè)器、多處理互連,或者其他在普通CPU中可以找到的微架構(gòu)特性。這有助于大大節(jié)省硅面積和能源消耗量。
在性能方面,谷歌表示,與CPU相比,其TPU設(shè)計(jì)的性能-功率比提高了83倍,比GPU運(yùn)行性能高29倍。芯片設(shè)計(jì)不僅提高能源效率,而且能帶來(lái)更高的性能。在六種常見的參考神經(jīng)網(wǎng)絡(luò)工作負(fù)載中,TPU在所有測(cè)試中都具有顯著的性能優(yōu)勢(shì),通常比GPU快20倍,或者比CPU快71倍。當(dāng)然,這些結(jié)果會(huì)因CPU和GPU的測(cè)試種類不同而有差別,但是谷歌對(duì)高端英特爾Haswell E5-2699 v3和Nvidia K80進(jìn)行了測(cè)試,以對(duì)其硬件加強(qiáng)了解。
3.與英特爾聯(lián)手研究邊緣計(jì)算
谷歌的硬件努力使它在云計(jì)算領(lǐng)域中有了一個(gè)重要的開端,但并不是所有AI應(yīng)用都適合如此遠(yuǎn)距離地傳輸數(shù)據(jù)。有些應(yīng)用幾乎需要即時(shí)計(jì)算,例如無(wú)人駕駛汽車,因此不能依賴于互聯(lián)網(wǎng)上更高延遲的數(shù)據(jù)傳輸,即使云端的計(jì)算能力非???。相反,這些類型的應(yīng)用需要在設(shè)備上完成,同樣的應(yīng)用也適用于許多智能手機(jī)應(yīng)用,比如在RAW上處理圖像數(shù)據(jù)。
在Pixel 2的基礎(chǔ)上,谷歌首次嘗試將神經(jīng)網(wǎng)絡(luò)功能引入專用的硬件中,以適應(yīng)更低功率的移動(dòng)形式因子——Pixel Visual Core。有趣的是,谷歌與英特爾聯(lián)手推出了這種芯片,這表明它并非完全是谷歌內(nèi)部設(shè)計(jì)的。我們不知道這種合作到底意味著什么,它可能只是與架構(gòu)或與制造連接有關(guān)。
英特爾已經(jīng)收購(gòu)了多家AI硬件公司、包括Nervana Systems(2016年)、Movidius(2016年9月)以及Mobileye(2017年3月)。我們也知道,英特爾有自己的神經(jīng)網(wǎng)絡(luò)處理器,代號(hào)Lake Crest,它屬于Nervana Systems。這是英特爾收購(gòu)?fù)竞笸瞥龅奶幚砥?,我們還不太了解它的細(xì)節(jié),但它是為服務(wù)器設(shè)計(jì)的,使用一種名為Flexpoint的低精度數(shù)字格式,并且擁有每秒8萬(wàn)億次的快速內(nèi)存訪問(wèn)速度。它將與谷歌的TPU競(jìng)爭(zhēng)。
盡管如此,英特爾和谷歌硬件的設(shè)計(jì)存在許多相似之處。具體來(lái)說(shuō),它們都采用多核心配置,使用PCIe和伴隨控制器,管理CPU,并緊密集成到快速內(nèi)存上。乍一看,Pixel的硬件看起來(lái)與谷歌的云設(shè)計(jì)有很大不同,考慮到不同的電力預(yù)算,這并不奇怪。雖然我們不像了解谷歌Cloud TPU那樣了解Visual Core架構(gòu),但我們可以發(fā)現(xiàn)一些類似的功能。設(shè)計(jì)中的每個(gè)圖像處理單元(IPU)提供512個(gè)算術(shù)邏輯單元,總共有4096個(gè)。
同樣,這意味著高度并行化的設(shè)計(jì)能夠同時(shí)處理大量數(shù)據(jù),這樣的設(shè)計(jì)可以每秒執(zhí)行3萬(wàn)億次操作。顯然,Lake Crest芯片數(shù)量比谷歌TPU要少得多,而且毫無(wú)疑問(wèn),其他的不同之處在于它主要是為成像增強(qiáng)設(shè)計(jì)的,而不是在云端運(yùn)行各種神經(jīng)網(wǎng)絡(luò)。然而,它們依然是類似的、高度并行的設(shè)計(jì),只是具體操作不同。
谷歌是否堅(jiān)持這一設(shè)計(jì)并繼續(xù)與英特爾合作以獲得未來(lái)邊緣計(jì)算能力,或者依賴其他公司開發(fā)的硬件以獲取回報(bào),還有待觀察。然而,可以肯定的是,谷歌在神經(jīng)網(wǎng)絡(luò)硬件方面的努力依然會(huì)繼續(xù)。
總結(jié)
谷歌最出名的地方可能是它的軟件,但當(dāng)它為新一代AI計(jì)算提供動(dòng)力時(shí),谷歌同樣加入到硬件開發(fā)和部署的行列。在大型云計(jì)算平臺(tái)上大規(guī)模部署機(jī)器學(xué)習(xí)時(shí),該公司的TPU可節(jié)省大量能源。它也為這些特定任務(wù)提供了比通用CPU和GPU硬件更高的性能。我們?cè)谝苿?dòng)領(lǐng)域也看到了類似的趨勢(shì),SoC制造越來(lái)越多地轉(zhuǎn)向?qū)S玫腄SP硬件,以便高效地運(yùn)行這些數(shù)學(xué)密集型算法。谷歌也可以成為這個(gè)市場(chǎng)的主要硬件廠商。
我們還在等待,看谷歌為其第一代智能手機(jī)AI硬件(Pixel Visual Core)提供什么樣的性能。該芯片很快將被轉(zhuǎn)換為更快的HDR處理,它無(wú)疑將在該公司推出的更多AI測(cè)試和產(chǎn)品中扮演重要角色。目前,谷歌正利用Cloud TPU AI硬件和TensorFlow軟件獲得領(lǐng)先優(yōu)勢(shì)。值得注意的是,英特爾、微軟、Facebook、亞馬遜和其他公司都在爭(zhēng)奪這個(gè)快速發(fā)展的市場(chǎng)。隨著機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)越來(lái)越多應(yīng)用在云端和像智能手機(jī)這樣的邊緣設(shè)備上,谷歌的早期硬件開發(fā)將使其成為下一代計(jì)算領(lǐng)域的領(lǐng)導(dǎo)者。