《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > TPU的起源,Jeff Dean綜述后摩爾定律時代的ML硬件與算法

TPU的起源,Jeff Dean綜述后摩爾定律時代的ML硬件與算法

2019-11-22
來源:機器之心
關(guān)鍵詞: TPU 摩爾定律

  過去十年我們見證了機器學習的顯著進步,特別是基于深度學習的神經(jīng)網(wǎng)絡。機器學習社區(qū)也一直在嘗試構(gòu)建新模型,用于完成具有挑戰(zhàn)性的工作,包括使用強化學習,通過和環(huán)境進行交互的方式完成難度較大的任務,如下圍棋、玩電子游戲等。

  機器學習對算力的需求無疑是龐大的,從計算機視覺到自然語言處理,更大的模型和更多的數(shù)據(jù)往往能夠取得更好的性能。在摩爾定律時代,硬件進步帶來的算力增長尚且能夠滿足機器學習的需求,但當摩爾定律被榨干后,怎樣讓硬件中的算力資源被機器學習模型充分利用成了下一個需要探討的問題。

  文章地址:https://arxiv.org/abs/1911.05289

  在這篇文章中,Jeff Dean 首先討論了機器學習的進步對計算設備的影響,特別是在后莫爾定律時代,他詳細介紹了谷歌開發(fā)張量運算單元的初衷與效果。與此同時,Jeff Dean 還討論了深度學習如何能夠幫助設計電路與芯片。最終,Jeff Dean 描述了將來機器學習發(fā)展的方向——更大尺度的多任務模型,它能夠根據(jù)任務要求選擇性地激活,而且可以有更動態(tài)的調(diào)整過程。

  整體文章比較長,機器之心簡要概括了不同章節(jié)的主要思想,感興趣的讀者可以在 arXiv 上查閱原文章。

  摩爾定律、后摩爾定律和機器學習的計算需求

  自 20 世紀 60 年代至 90 年代,基于深度學習和人工神經(jīng)網(wǎng)絡的諸多關(guān)鍵思想和算法已經(jīng)出現(xiàn),并且在 80 年代末至 90 年代初,人們開始意識到神經(jīng)網(wǎng)絡能夠以有趣的方式解決一些問題,并且它們的實質(zhì)性優(yōu)勢在于既可以接受原始形式的輸入數(shù)據(jù)并且在訓練模型執(zhí)行預測任務的過程中可以自動增強模型的層次表征,因而激發(fā)了 ML 和 AI 社區(qū)的研究興趣。

  但是,這種方法受限于當時不夠強大的計算機性能。一些研究試圖利用并行算法來擴展訓練神經(jīng)網(wǎng)絡的計算量,但在大多數(shù)情況下,ML 和 AI 社區(qū)的關(guān)注重點已經(jīng)不在基于神經(jīng)網(wǎng)絡的方法了。直到 2005 年以后,在摩爾定律推動計算性能提升的 20 年后,計算機性能才強大到可以訓練大型神經(jīng)網(wǎng)絡來解決 ImageNet 等現(xiàn)實世界的實際問題,而不再局限于 MNIST 等小規(guī)模問題。其中,GPU 卡上的通用計算范式使得神經(jīng)網(wǎng)絡開始在解決棘手的實際問題上展示有趣的結(jié)果。

640 (1).webp (5).jpg

  摩爾定律提出者戈登·摩爾。

  然而令人遺憾的是,在計算性能開始足夠強大到可以解決有趣的現(xiàn)實問題,并且機器學習規(guī)模的擴大和適用性的提升也迫切需要更多的計算資源來解決更大的問題,這時計算機行業(yè)卻隨著通用 CPU 性能的持續(xù)提升出現(xiàn)了整體性的大幅度放緩。下圖 2 展示了近 40 年間的計算性能增長態(tài)勢,其中自 1985 年至 2003 年,通用 CPU 性能每 1.5 年提升一倍;自 2003 年至 2010 年,通用 CPU 性能每 2 年提升一倍;而 2010 年以后,通用 CPU 性能預計每 20 年才能提升一倍。

640 (1).webp (4).jpg

  圖 2:摩爾定律和后摩爾定律時代的計算需求增長態(tài)勢。

  下圖 3 展示了近年來出現(xiàn)的一些重要的機器學習網(wǎng)絡架構(gòu),如 AlexNet、GoogleNet、AlphaZero 等,它們對計算的需求呈現(xiàn)越來越大的趨勢。

640 (1).webp (3).jpg

  圖 3:AlexNet、GoogleNet、AlphaZero 等重要的機器學習網(wǎng)絡架構(gòu)以及它們的計算需求增長態(tài)勢。

  下圖 4 展示了 2009 年以來,機器學習領(lǐng)域 Arxiv 發(fā)表論文數(shù)量的增長情況,其中 2018 年的論文數(shù)量是 2009 年的 32 倍(論文數(shù)量每 2 年提升一倍以上)?,F(xiàn)在,每天仍有 100 多篇論文在 Arxiv 機器學習子板塊發(fā)表,并且這一增長態(tài)勢沒有出現(xiàn)放緩的跡象。

640 (1).webp (2).jpg

  圖 4:自 2009 年以來,機器學習相關(guān) Arxiv 論文發(fā)表數(shù)量的增長態(tài)勢(藍)和摩爾定律增長率(紅)。

  針對機器學習的硬件

  早在 2011 年左右,谷歌研究者與系統(tǒng)工程師就構(gòu)建了 DistBelief 這個早期分布式系統(tǒng),在 12 年早期的一些深度神經(jīng)網(wǎng)絡中,模型使用 DistBelief 能大大提高準確性。然而,由于計算需求太大,要使用基于 CPU 的計算設備繼續(xù)提升深度模型,谷歌數(shù)據(jù)中心的計算機數(shù)量需要翻一倍。為此,這樣的現(xiàn)實驅(qū)動了谷歌開始考慮為神經(jīng)網(wǎng)絡構(gòu)建專用硬件,用于推理乃至訓練。

  為什么深度學習模型需要定制化硬件

  深度學習模型有三大屬性,它們使得其與很多通用計算都不相同。首先,深度學習允許降低計算精度;其次,大多數(shù)模型執(zhí)行的計算都是由少量運算組成,例如矩陣乘法、向量運算以及卷積運算等等;最后,過去 40 年開發(fā)了很多機制以令通用程序能在 CPU 上高效運行,但這些機制在機器學習運算中都是不必要的。

  構(gòu)建能進行密集低精度線性計算的硬件是非常有意義的一件事,為此,谷歌決定著手設計名為「張量處理單元」的加速器,從而加速深度學習的推理與訓練。

  為了能執(zhí)行推斷,Int8 的精度已經(jīng)顯示出足夠強大的能力,目前研究界也在開展進一步的工作,以便采用更低的精度和更稀疏的權(quán)重來突破這一界限。TPUv1 的單個核心是由 65536 個 8 位乘加矩陣運算單元,其峰值運算量為 92 TeraOps/s。TPUv1 平均比現(xiàn)代 CPU 或 GPU 快 15 到 30 倍,平均能耗降低 30 到 80 倍。目前,這種芯片約占谷歌數(shù)據(jù)中心神經(jīng)網(wǎng)絡推理需求的 95%。

  在低功率移動端設備上做推斷也非常重要,它可以極大降低網(wǎng)絡延遲并提升隱私保護。谷歌采用與 TPUv1 相同的設計原理,應用于更低功耗的環(huán)境而設計出 Edge TPU,它以 2W 的功耗提供了 4TOPS 的計算力。這樣的邊緣設備可以更好地在農(nóng)業(yè)和日常生活中應用機器學習模型。

640 (1).webp (1).jpg


  圖 5:谷歌張量運算單元 v2(TPUv2)的結(jié)構(gòu)圖。

  前面 V1 只能做推斷,但要設計定制化的機器學習訓練硬件要復雜得多。主要原因在于單塊訓練芯片無法在合理的時間內(nèi)解決大部分訓練問題,因為單塊芯片無法提供足夠的算力。因此設計訓練系統(tǒng)實際上就是設計大規(guī)模的整體計算系統(tǒng),它需要考慮各個加速芯片間的高性能互聯(lián),從而形成及緊密耦合的超級計算機。

  谷歌的第二代和第三代 TPU 旨在支持訓練和推理,TPUv2 和 TPUv3 每一個 Device 包含四塊芯片,不同的 Device 整合在一起就形成了一個整體 Pod。圖 5 展示了具有兩個核心的 TPUv2,每個核心的主要計算能力有大型的矩陣乘法單元提供,其每個時鐘周期能計算 128×128 的矩陣運算。

640 (1).webp.jpg

  圖 6:谷歌 TPUv3 Pod,它包含 1024 塊 TPU 芯片。

  低精度數(shù)值運算

  TPUv2 和 TPUv3 使用一種名為 bfloat16 的定制化浮點運算格式,該格式與 IEEE 半精度 float 16 不同,它對機器學習更有效。自 2015 年以來,它一直是 TPU 的主要精度,英特爾 2018 年也宣布計劃為下一代處理器增加 bfloat16 的支持。下圖展示了 IEEE fp32 單精度浮點格式、IEEE fp16 半精度浮點格式和 bfloat16 格式,它們的劃分與數(shù)值范圍都展示在內(nèi)。

640.png

  圖 7:三種浮點精度。

  因為 bfloat16 格式的乘加器需要最少的電路,因此有可能在相同的芯片面積和功率預算中配置更多的乘法器,這能令芯片提供更強的算力與更低的能耗。與此同時,降低到 16 位精度還能減少內(nèi)存的占用與權(quán)重的體積,從而進一步提升模型的實用性。

  ML 專用芯片設計的挑戰(zhàn)

  目前機器學習研究領(lǐng)域正快速發(fā)展,而如今芯片設計項目通常需要 18 個月到 24 個月才能完成設計、制造與部署。為了節(jié)省成本,一般這些硬件至少需要工作三年。因此,構(gòu)建 ML 硬件的計算機架構(gòu)師需要預測 2 到 5 年內(nèi)機器學習快速發(fā)展的領(lǐng)域。Jeff Dean 的經(jīng)驗是,將計算機架構(gòu)師、高級軟件系統(tǒng)構(gòu)建者與機器學習研究者匯聚一堂,共同設計相關(guān)的主題,例如,「那個時期可能需要的硬件是什么,有什么有意思的研究趨勢,它們需要什么樣的 ML 硬件」。

  機器學習在硬件領(lǐng)域中的其他應用

  機器學習設計芯片

  機器學習另一個可以和硬件領(lǐng)域結(jié)合的方向是進行自動化的芯片設計,如設計定制化的 ASICs。由于芯片領(lǐng)域目前已有大量的人力投入,因此貿(mào)然改變整體的芯片設計是不太可能的。然而,在芯片的布局和布線方面機器學習是可以參與的。例如,可以將一個序列的布局和布線結(jié)合起來,用一個整體的評價標準——如芯片區(qū)域大小、耗時和走線長度進行評價。

  如果有強化學習算法去「玩」這樣一個布局布線的游戲,則可以產(chǎn)生很多不同的 ASIC 設計,或只有一種特定的 ASIC 設計。這只需要設計一個獎勵函數(shù)——其中包括不同的獎勵屬性。這樣有可能能夠更快且更高效地設計出更好的布局布線?,F(xiàn)在,谷歌內(nèi)部已經(jīng)在嘗試這些方法,而且已經(jīng)有了一些初級但有效的成果。此外,針對不同的目標優(yōu)化評價指標,獎勵函數(shù)中的屬性也可以進行調(diào)整,使得機器學習算法設計出滿足不同需求的芯片。

  機器學習解決半導體制造問題

  在半導體制造的過程中,對晶片的視覺質(zhì)量檢查是可以轉(zhuǎn)移到機器學習上的,可以讓這一過程變得更自動化,或者可以提升現(xiàn)有方法的精確度。通過更早或更好地發(fā)現(xiàn)瑕疵,制造企業(yè)可以提升生產(chǎn)率、降低成本。

  計算機系統(tǒng)中的學習型啟發(fā)式算法

  另一個機器學習可以參與的領(lǐng)域則是使用學習式的啟發(fā)法,應用于計算機系統(tǒng)中,如編譯器、操作系統(tǒng)、文件系統(tǒng)、網(wǎng)絡堆棧等。計算機往往需要很多手工設計的啟發(fā)式算法用于在系統(tǒng)運行中尋找解決方法(如資源調(diào)用等)。

  現(xiàn)在,機器學習也許可以替代這些算法了。基于機器學習的啟發(fā)式算法能夠考慮更多的語境信息,使得系統(tǒng)的運行方式更符合當前的運行模式,而不是根據(jù)一般情況設計的方法。其他機器學習可以替代的地方包括對哈希表、B 樹等傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)的替代。機器學習可以獲得這些數(shù)據(jù)的真實分布,并使用系統(tǒng)進行處理,使得數(shù)據(jù)量減少、效率提升。

  未來的機器學習發(fā)展

  將來的機器學習模型可能和現(xiàn)在有一些明顯區(qū)別。將來的機器學習系統(tǒng)可能是在大規(guī)模機器學習加速硬件上運行的,而且單一模型可以被訓練用來完成上千甚至上百萬的任務。該模型由不同的組件和結(jié)構(gòu)組成,樣本之間的數(shù)據(jù)流動可能是動態(tài)的,每種樣本都不一樣。模型可能使用類似于「稀疏權(quán)重門(sparsely-gated)」結(jié)構(gòu),混合了專家知識和學習路徑,具有很強的能力。但是對于給定的任務或樣本,模型只會激活其中一部分。

640.webp (8).jpg

  圖 8:描述這一大型、具有稀疏權(quán)重且可以完成多任務的模型。

  后摩爾定律時代,簡單地壓榨硬件算力不一定能夠讓機器學習再進步了。相反,通過設計專業(yè)的機器學習硬件設備,讓機器學習解決現(xiàn)有的硬件設計、制造和運行方面的痛點才是出路。將來的機器學習模型可能更大,但是會朝著多任務的方向繼續(xù)發(fā)展。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。