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