色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

服務(wù)于特定領(lǐng)域的AI芯片架構(gòu)成為計算的未來

mK5P_AItists ? 來源:未知 ? 作者:胡薇 ? 2018-09-25 14:15 ? 次閱讀

摩爾定律的終結(jié)將使服務(wù)于特定領(lǐng)域的架構(gòu)成為計算的未來。一個開創(chuàng)性的例子就是谷歌在 2015 年推出的張量處理單元(TPU),目前已經(jīng)在為超過十億人提供服務(wù)。TPU 使深度神經(jīng)網(wǎng)絡(luò)(DNN)的計算速度提高了 15-30 倍,能耗效率比類似技術(shù)下的當代 CPUGPU 高出了 30-80 倍。

核心觀點

雖然 TPU 是一種專用集成電路,但它運行的程序來自 TensorFlow 框架下的神經(jīng)網(wǎng)絡(luò),驅(qū)動了谷歌數(shù)據(jù)中心的許多重要應(yīng)用,包括圖像識別、翻譯、搜索和游戲。

通過專門為神經(jīng)網(wǎng)絡(luò)重新分配芯片計算資源,TPU 在真實數(shù)據(jù)中心負載環(huán)境下效率要比通用類型的計算機高 30-80 倍,目前已為全球 10 億人提供日常服務(wù)。

神經(jīng)網(wǎng)絡(luò)的推理階段通常會有嚴格的響應(yīng)時間要求,這降低了通用計算機所使用技術(shù)的有效性;通用計算機通常運行得較快,但某些情況下也會較慢。

所有指數(shù)增長都將有結(jié)尾

1965 年,據(jù)英特爾創(chuàng)始人之一的 Gordon Moore 預(yù)測,芯片中的晶體管數(shù)量每一兩年都會增加一倍。盡管 2017 年 1 月的 ACM 通訊封面呼吁道:“擔心我會終結(jié)簡直是杞人憂天”,摩爾定律確實還是壽終正寢了。2014 年推出的 DRAM 芯片包含了 80 億個晶體管,而在人們的預(yù)測中即使到了 2019 年,帶有 160 億個晶體管的 DRAM 芯片也不會大規(guī)模生產(chǎn),但根據(jù)摩爾定律的預(yù)測,四年里晶體管數(shù)量應(yīng)該變成四倍多。2010 年款的英特爾至強 E5 處理器擁有 23 億個晶體管,而 2016 年的至強 E5 也只有 72 億個晶體管,或者說比摩爾定律預(yù)計的數(shù)值低 2.5 倍——顯然,縱使半導(dǎo)體行業(yè)還在進步,但其腳步已十分緩慢。

Dennard Scaling 是一個鮮為人知,但同樣重要的觀察結(jié)果。Robert Dennard 在 1974 年認為,晶體管不斷變小,但芯片的功率密度不變。如果晶體管尺寸線性縮小兩倍,那么同樣面積上芯片中晶體管的數(shù)量就會變?yōu)?4 倍。同時,如果電流和電壓都降低了二分之一,它所使用的功率將下降 4 倍,在相同的頻率下提供相同的功率。Dennard Scaling 在被發(fā)現(xiàn)的 30 年后結(jié)束,其原因并不是因為晶體管的尺寸不再縮小,而是因為電流和電壓不能在繼續(xù)下降的同時保持可靠性了。

計算架構(gòu)師們一直篤定摩爾定律和 Dennard Scaling,并通過復(fù)雜的處理器設(shè)計和內(nèi)存層次結(jié)構(gòu),將資源轉(zhuǎn)化為性能,這些設(shè)計利用了不同的處理指令的之間的并行性,但架構(gòu)師們并沒有什么編程的知識。ε=(′ο`*))) 唉,于是架構(gòu)師們最終還是再也找不到新的辦法可以利用指令級別的并行性。Dennard Scaling在 2004 年終結(jié)了,禍不單行的是繼續(xù)提升指令級別并行性的方法也開始缺席,這迫使業(yè)界只能從單核高耗能處理器轉(zhuǎn)換到多核高效率處理器。

今天我們?nèi)匀蛔袷丶鳌ぐ⒛愤_爾(IBM 著名工程師,阿姆達爾定律的提出者)在 1967 年提出的定律,該定律認為不斷增加處理器數(shù)量會導(dǎo)致性能提升的遞減。阿姆達爾定律說,并行計算的理論加速受到任務(wù)順序部分的限制;如果任務(wù)的 1/8 是串行的,則最大加速也只比原始性能高 8 倍——即使任務(wù)的其余部分很容易并行,并且架構(gòu)師增加了 100 個處理器也是如此。

下圖顯示了過去四十年以來,上述三大定律對處理器性能的影響。按照目前的速度,標準處理器的性能在 2038 年以前都不會再次翻倍。

圖 1. 依照Hennessy和Patterson的理論,我們繪制了過去40年中,32位和64位處理器內(nèi)核每年最高的SPECCPUint性能;面向吞吐量的SPECCPUint_rate反映了類似的情況,即使其平穩(wěn)期延遲了幾年

晶體管看來沒什么進步空間了(這反映了摩爾定律的結(jié)束),而每平方毫米芯片面積的功耗正在增加(畢竟 Dennard Scaling 也結(jié)束了),但人們對于芯片的功率預(yù)算卻并沒有增加(因為電子的移動、機械和發(fā)熱限制),芯片設(shè)計師們已經(jīng)在充分發(fā)揮多核心的能力了(但這也受到阿姆達爾定律的限制),架構(gòu)師們現(xiàn)在普遍認為,能顯著改進性能、價格、能源三者平衡的唯一途徑就是特定領(lǐng)域的架構(gòu)——它們只適用于處理幾種特定的任務(wù),但效率非常高。

在云端的大型數(shù)據(jù)集和大量計算機之間的協(xié)作使得機器學習近年來有了很大的進步,特別是在深度神經(jīng)網(wǎng)絡(luò)(DNN)方面。與一些其他領(lǐng)域不同,DNN 的應(yīng)用方式很廣泛。DNN 的突破性進展包括將語音識別的單詞錯誤率相比老方法降低了 30%,這是近 20 年來最大的單次提升;自 2011 年以來,將圖像識別的錯誤率從 26% 降低至 3.5%;在圍棋上擊敗了人類世界冠軍;改進了搜索排名等等。單個 DNN 架構(gòu)或許應(yīng)用范圍很窄,但這種方法仍然催生出了大量實際應(yīng)用。

神經(jīng)網(wǎng)絡(luò)類似于人腦中神經(jīng)的功能,基于簡單的人工神經(jīng)元,它們是輸入的加權(quán)和的非線性函數(shù),例如 max(0,value)。這些人工神經(jīng)元被分為許多不同的層,其中一層的輸出就會作為下一層的輸入。深度神經(jīng)網(wǎng)絡(luò)中的“深層”代表有多個層,由于云上有極大的數(shù)據(jù)集,只需換用更大、更多的層就可以構(gòu)建出更準確的模型,它也就可以獲取更高階抽象的模式或是概念,而 GPU 可以提供足夠的計算能力幫我們開發(fā) DNN。

DNN 運行的兩個階段被稱為訓(xùn)練(或?qū)W習)和推理(或預(yù)測),分別指代開發(fā)與生產(chǎn)。訓(xùn)練一個 DNN 可能需要數(shù)天,但訓(xùn)練好的 DNN 進行推理只需要幾毫秒。針對不同的應(yīng)用,開發(fā)者需要選擇神經(jīng)網(wǎng)絡(luò)的類型和層數(shù),而訓(xùn)練過程會決定網(wǎng)絡(luò)中的權(quán)重。幾乎所有的訓(xùn)練都是浮點運算,這就是 GPU 在深度學習時代如此受歡迎的原因之一。

被稱為“量化”的轉(zhuǎn)換將浮點型轉(zhuǎn)為整型,整型通常只有 8 位——這種程度通常足以滿足推理的要求了。與 IEEE 754 16 位浮點乘法相比,8 位整型乘法只需要 1/6 的能耗,需要的空間也只需要 1/6,而轉(zhuǎn)換為整型加法也能帶來 13 倍能耗和 38 倍空間的提升。

下表展示了兩個例子,共三類、六個 DNN 實例的運行效率——這代表了谷歌數(shù)據(jù)中心 2016 年 95% 的深度神經(jīng)網(wǎng)絡(luò)推理工作負載,我們把它們作為 benchmark。它們在 TensorFlow 中的代碼都非常短,只有 100-1500 行。這些例子是主服務(wù)器上運行較大應(yīng)用程序中的小組件,這些大應(yīng)用可能會由數(shù)千到數(shù)百萬行 C++代碼構(gòu)成。應(yīng)用程序通常面向用戶,這就對響應(yīng)時間帶來了嚴格的要求。

表 1. 2016年7月,谷歌TPU上的DNN工作負載。共六種DNN應(yīng)用(三種DNN類型),代表95%的TPU工作負載

如表 1 所示,每個模型需要 500 萬至 1 億個權(quán)重,即便只是訪問這些權(quán)重都需要花費大量時間和能耗。為了降低訪問成本,在訓(xùn)練或者推理中會針對一批完全不相干的輸入樣本都使用同樣的權(quán)重,這種做法可以提高性能。

TPU 起源、架構(gòu)及實現(xiàn)

早在 2006 年,谷歌就開始考慮在其數(shù)據(jù)中心部署 GPU(圖形處理器),或者 FPGA (field programmable gate array,現(xiàn)場可編程門陣列),或者專用集成電路(ASIC)。當時的結(jié)論是,能在專門的硬件上運行的應(yīng)用并不多,它們使用谷歌大型數(shù)據(jù)中心的富余計算能力即可,基本可以看做是免費的,另外也很難不怎么花錢就帶來很大改進。情況在 2013 年出現(xiàn)了變化,當時谷歌用戶每天使用語音識別 DNN 語音搜索三分鐘,使得谷歌數(shù)據(jù)中心的計算需求增加了一倍,而如果使用傳統(tǒng)的 CPU 將非常昂貴。因此,谷歌啟動了一項優(yōu)先級別非常高的項目,快速生產(chǎn)一款定制芯片用于推理,并購買現(xiàn)成的 GPU 用于訓(xùn)練。谷歌的目標是將性價比提高 10 倍。為了完成這項任務(wù),谷歌在其數(shù)據(jù)中心設(shè)計、驗證、構(gòu)建并部署了 TPU,而這一過程僅僅用了 15 個月。

為了降低部署推遲的風險,谷歌工程師將 TPU 設(shè)計成 I/O 總線上的協(xié)處理器,并允許它像 GPU 一樣插入現(xiàn)有服務(wù)器,而不是使 TPU 與 CPU 緊密集成。此外,為了簡化硬件設(shè)計和調(diào)試,主機服務(wù)器將指令發(fā)送給 TPU 令其執(zhí)行,而不是讓 TPU 去自行獲取。因此,TPU 在理念上更接近浮點單元(FPU)協(xié)處理器,而不是 GPU。

谷歌工程師將 TPU 看做一個系統(tǒng)進行優(yōu)化。為了減少與主機 CPU 的交互,TPU 運行整個推理模型,但提供了與 2015 年及以后的 DNN 相匹配的靈活性,而不局限于 2013 年的 DNN。

TPU 指令通過 PCI-e Gen3x16 總線從主機被發(fā)送到指令緩沖器中。內(nèi)部計算模塊通常通過 256 字節(jié)寬度的路徑連接在一起。對于右側(cè)的芯片布局圖,從右上角開始,矩陣乘法單元是 TPU 的核心,256×256 MAC 可以對有符號或無符號的整型執(zhí)行 8 位乘法和加法運算。得到的 16 位的結(jié)果會存入矩陣計算單元下方的共 4MB 空間的 32 位累加器中。這四個 MiB 代表含有 4,096 個 256 元素的 32 位累加器。矩陣計算單元每周期產(chǎn)生一個 256 元素的部分和。

圖 2. TPU架構(gòu)示意圖及芯片布局圖

矩陣單元的權(quán)重通過片內(nèi)「權(quán)重 FIFO」來分級,該 FIFO 從我們稱之為「權(quán)重存儲器」的片外 8GB DRAM 中讀取;對于推理,權(quán)重僅作讀取;8GB 空間可以支持同時激活多個模型。權(quán)重 FIFO 有四層深。中間結(jié)果保存在 24MiB 的片上「統(tǒng)一緩沖器」中,可以作為矩陣計算單元的輸入。可編程 DMA 控制器會z z哎CPU 主機存儲器和統(tǒng)一緩沖器間傳送數(shù)據(jù)。為了能在谷歌的規(guī)模上可靠地部署,內(nèi)存儲器和外存儲器包含內(nèi)置錯誤檢查與糾正硬件。

TPU 微架構(gòu)的原理是保持矩陣計算單元一直在工作中。為了實現(xiàn)這一目標,讀取權(quán)重的指令遵循解耦訪問/執(zhí)行原理,它可以在發(fā)送權(quán)重的地址之后、但從權(quán)重存儲器中取出權(quán)重之前完成一條指令。如果輸入激活或權(quán)重數(shù)據(jù)沒有準備好,矩陣計算單元將停止。

由于讀取大型靜態(tài)隨機存取存儲器(Static Random-Access Memory,SRAM)消耗的能源比數(shù)學運算多得多,矩陣單元使用「脈動執(zhí)行」通過減少統(tǒng)一緩沖器的讀寫來節(jié)約能量。來自不同方向的數(shù)據(jù)以規(guī)律的間隔到達陣列中的單元,然后進行組合計算。一個含有 65,536 個元素的向量-矩陣乘法運算作為對角波前在矩陣中移動。這些權(quán)重被預(yù)加載,并隨著新數(shù)據(jù)塊的第一個數(shù)據(jù)一起隨著前進波生效。控制和數(shù)據(jù)被流水線化,給程序員一種錯覺,仿佛 256 個輸入是一次讀取的,并立即更新 256 個累加器中每個累加器的一個位置。從正確性的角度來看,軟件不了解矩陣單元的脈動特性,但為了提高性能,必須考慮單元的延遲。

TPU 軟件棧必須與為 CPU 和 GPU 開發(fā)的軟件棧兼容,這樣應(yīng)用可以快速移植到 TPU 上。在 TPU 上運行的應(yīng)用部分通常用 TensorFlow 編寫,并編譯成可以在 GPU 或 TPU 上運行的 API

CPU、GPU、TPU 平臺

多數(shù)體系架構(gòu)研究的論文基于運行小型、易于移植的基準測試模擬,這些基準測試可以預(yù)測潛在的性能(如果實現(xiàn)的話)。本文與上述論文不同,是對 2015 年以來數(shù)據(jù)中心運行真實、大型生產(chǎn)工作負載的機器進行回顧性評估,其中一些機器的日常用戶超過 10 億。表 1 中列出的六種應(yīng)用代表了 2016 年 TPU 數(shù)據(jù)中心 95% 的使用。

由于測量的是生產(chǎn)環(huán)境的負載,要比較的基準平臺必須可以在 Google 數(shù)據(jù)中心部署,因為生產(chǎn)環(huán)境的計算負載也就只能在這里運算。谷歌數(shù)據(jù)中心的很多服務(wù)器和谷歌規(guī)模對應(yīng)用程序可靠性的要求意味著機器必須至少檢查內(nèi)存錯誤。由于英偉達 Maxwell GPU 和最近的 Pascal P40 GPU 不檢查內(nèi)部存儲中的錯誤,以谷歌的規(guī)模部署這些處理器、同時還滿足谷歌應(yīng)用程序的嚴格可靠性要求是做不到的。

表 2 顯示了部署在谷歌數(shù)據(jù)中心的服務(wù)器,可以將其與 TPU 進行比較。傳統(tǒng)的 CPU 服務(wù)器以英特爾的 18 核雙插槽 Haswell 處理器為代表,該平臺也是 GPU 或 TPU 的主機服務(wù)器。谷歌工程師在服務(wù)器中使用了四個 TPU 芯片。

表 2. 基準測試的服務(wù)使用Haswell CPU、K80 GPU及TPU

很多計算機架構(gòu)師沒有考慮到從產(chǎn)品發(fā)布到芯片、主板、軟件可以服務(wù)于數(shù)據(jù)中心的用戶之間的時間差。表3指出,2014 年至 2017 年間,商業(yè)云公司的 GPU 時間差為 5 至 25 個月。因此,當時適合與 2015 年投入使用的 TPU 的做對比的 GPU 顯然是英偉達 K80,后者處于相同的半導(dǎo)體工藝中,并在 TPU 部署前六個月發(fā)布。

表 3.2015年到2017年,英偉達GPU從發(fā)布到云端部署的時間差距,這4代GPU分別為Kepler、Maxwell、Pascal和Volta架構(gòu)

每個 K80 卡包含兩塊硅片,并提供內(nèi)部存儲器和 DRAM 的錯誤檢測和糾錯功能。這種服務(wù)器中最多可安裝 8 個 K80 硅片,這也是我們基準測試的配置。CPU 和 GPU 都使用大型芯片:大約 600 mm2的芯片面積,大約是英特爾 Core i7 的三倍。

性能:Roofline、響應(yīng)時間、吞吐量

為了說明這六種應(yīng)用在三類處理器上的性能,我們使用了高性能計算機群(HPC)的 Roofline 性能模型。這一簡單的視覺模型雖然不完美,但揭示了性能瓶頸出現(xiàn)的原因。該模型背后的假設(shè)是應(yīng)用需求的計算無法完全裝入片上緩存,因此它們要么計算受限,要么內(nèi)存帶寬受限。對于 HPC,y 軸表示每秒浮點運算性能(單位是 FLOPS),因此峰值計算率形成了 roofline 圖的“平緩”區(qū)。x 軸表示運算密度(operational intensity),單位是 FLOPS/byte。內(nèi)存帶寬表示每秒多少比特,形成了 roofline 的“傾斜”部分,因為 (FLOPS/sec)/ (FLOPS/Byte) = Bytes/sec。沒有充足的運算密度時,程序受限于內(nèi)存帶寬,性能只能在 roofline 的“傾斜”部分之下。

一個應(yīng)用的每秒實際計算量與其天花板計算量之間的距離代表了保持運算密度不變時性能提升的潛力;提升運算密度的優(yōu)化(如緩存分塊)可能帶來更大的性能提升。

為了在 TPU 上使用 Roofline 模型,當DNN應(yīng)用被量化時,我們首先將浮點運算替換成整數(shù)運算。由于 DNN 應(yīng)用的權(quán)重通常無法裝入片上內(nèi)存,因此第二個改變就是將運算密度重新定義為每讀取 1 字節(jié)的權(quán)重值時的整數(shù)乘積累加運算操作數(shù)目,如表1所示。

圖 3 展示了單個 TPU、CPU 和 GPU 硅片以 Roofline 模型評估的性能指標,圖中是指數(shù)坐標。TPU 的 Roofline 模型“傾斜”部分較長,從計算密度角度考慮,這意味著性能更多地受限于內(nèi)存帶寬,而不是計算能力峰值。六個應(yīng)用中有五個都接近天花板,MLP 和 LSTM 受限于內(nèi)存,CNN 受限于計算。

圖 3:TPU、CPU和GPU在 Roofline 模型上的性能表現(xiàn)。五角星表示TPU,三角形表示英偉達Tesla K80 GPU,圓表示英特爾酷睿處理器(Haswell);所有TPU五角星都與其他兩種芯片的 Roofline 模型持平或在后者之上

如圖 3 所示,在 Haswell 以及 K80 上,這六個 DNN 應(yīng)用距離 Roofline 天花板的距離都大于 TPU 上的距離。響應(yīng)時間是原因所在。這些應(yīng)用中的很多個是面向終端用戶服務(wù)的一部分。研究表明,即使響應(yīng)時間的些微增加都會導(dǎo)致用戶使用該服務(wù)的頻率降低。訓(xùn)練可能沒有苛刻的響應(yīng)時間 deadline,但推理通常有,或者說相比于選擇更大吞吐量,推理任務(wù)更偏好低延遲。

例如,按照應(yīng)用開發(fā)者的要求,MLP0 應(yīng)用要求在 99% 的時間內(nèi)響應(yīng)時間不大于 7ms。(每秒完成推理的數(shù)目要求和 7ms 的延遲要求中包括服務(wù)器主機時間和加速器時間)即便對響應(yīng)時間的限制放寬一些,Haswell 和 K80 運行時也分別只能達到 MLP0 應(yīng)用最高吞吐量的 42% 和 37%。這些限制也會影響到TPU,它會以 80% 的吞吐量來運行,更加接近 TPU 的 MLP0 最大吞吐量。與 CPU 和 GPU 相比,單線程 TPU 沒有復(fù)雜的微架構(gòu)特征,也就不需要為平均狀況而消耗晶體管和功率來提高性能,它直接適用于 99% 的狀況,即 TPU 沒有緩存、分支預(yù)測、亂序執(zhí)行、多處理、推測預(yù)讀、地址合并、多線程、上下文切等等。極簡是領(lǐng)域?qū)S锰幚砥鞯膬?yōu)勢。

表 4 顯示了每個芯片的相對推理性能底線,包括兩個加速器 vs. CPU 的主機服務(wù)器開銷,展示了這六個 DNN 應(yīng)用相對性能的加權(quán)平均值,表明 K80 芯片速度是 Haswell 的 1.9 倍,TPU 芯片速度是 Haswell 的 29.2 倍,TPU 芯片速度也就是 GPU 的 15.3 倍。

表 4:在 DNN 工作負載下 K80 GPU 芯片和 TPU 芯片與 CPU 的性能比。加權(quán)平均值使用了表 1 中六個 app 的實際混合

性價比、全周期成本(TCO)、性能/功耗

大批量購買計算機時會更多地考慮性價比而非性能。數(shù)據(jù)中心最好的成本指標是全周期成本(TCO)。一個組織(如谷歌)購買數(shù)千張芯片時所支付的實際價格取決于與相關(guān)企業(yè)的談判溝通。由于涉及商業(yè)機密,我們無法公開此類價格信息或數(shù)據(jù)。但是,功率與 TCO 相關(guān),我們可以公開每臺服務(wù)器的功耗數(shù),因此這里我們使用性能/功耗比代替性能/TCO 比。這部分我們對比了整個服務(wù)器而不是單個芯片。

圖 4 顯示了 K80 GPU 和 TPU 相對于 Haswell CPU 的平均性能/功耗比。我們給出了兩種不同的性能/功耗比計算。我們展示了兩種不同的性能/功耗計算方法。第一種“total”包括計算 GPU 和 TPU 的性能/功耗時主機 CPU 服務(wù)器所消耗的功率;第二種“incremental”從 GPU 和 TPU 中減去了主機 CPU 服務(wù)器所消耗的功率。

圖 4:GPU 服務(wù)器與 CPU 服務(wù)器的性能/功耗對比(藍色條)、TPU 服務(wù)器與 CPU 服務(wù)器的功耗對比(紅色條)、TPU 服務(wù)器與 GPU 服務(wù)器的功耗對比(橙色條)。TPU' 是使用 K80 的 GDDR5 內(nèi)存將 TPU 進行改進后的芯片

對于總性能/瓦特,K80 服務(wù)器是 Haswell 的2.1倍。 對于增量性能/瓦特,當忽略 Haswell 服務(wù)器電源時,K80 服務(wù)器是 Haswell 的 2.9 倍。TPU 服務(wù)器的總性能/瓦特比 Haswell 要高出34倍,TPU 服務(wù)器的性能/功率也就是 K80 服務(wù)器的 16 倍。 對于 TPU 來說,相比 CPU 的相對增量性能/瓦特以谷歌設(shè)計 ASIC 的水平已經(jīng)做到了 83 倍,同時也就是 GPU 的性能/瓦特的29倍。

對替代性 TPU 設(shè)計的評估

和 FPU 類似,TPU 協(xié)同處理器比較容易評估,因此我們?yōu)榱鶄€應(yīng)用創(chuàng)建了一個性能模型。模型模擬的結(jié)果和硬件實際性能的平均差距小于 10%。

我們使用性能模型評估了另一款假想的 TPU 芯片,記為 TPU'(使用同樣的半導(dǎo)體技術(shù)再多花 15 個月我們就能設(shè)計出這款芯片)。更激進的邏輯合成和模塊設(shè)計可以把時鐘頻率再提高 50%;為 GDDR5 內(nèi)存設(shè)計接口電路(就像 K80 那樣)可以將權(quán)重讀取的內(nèi)存帶寬提高四倍,將 roofline 從斜到平的拐點從 1350 降到 250。

單獨將時鐘頻率提高到 1,050 MHz 而不改善內(nèi)存的話,性能提升非常有限。如果我們把時鐘頻率保持在 700MHz,但改用 GDDR5 作為內(nèi)存,則加權(quán)平均值飛躍至 3.9倍。同時做這兩種措施其實并不會改變性能,因此假設(shè)的 TPU' 只具備更快的內(nèi)存就夠了。

DDR3 權(quán)重內(nèi)存替換成與 K80 相同 GDDR5 內(nèi)存需要將內(nèi)存通道的數(shù)量翻一倍,即 4 個通道。這一改進會需要將芯片面積擴大約 10%。GDDR5 還需要將 TPU 系統(tǒng)的功率預(yù)算從 861W 提高到 900W 左右,因為每臺服務(wù)器都有四個 TPU。

從圖4可看出,TPU'的總體每硅片性能/功耗是 Haswell 的 86 倍,K80 的 41 倍。其 incremental 指標是 Haswell 的 196 倍,K80 的 68 倍。

討論

這部分按照 Hennessy 和 Patterson 的謬誤-陷阱-反駁格式來展開:

謬誤:數(shù)據(jù)中心的 DNN 推斷應(yīng)用將吞吐量和響應(yīng)時間處于同等重要的地位。

我們驚訝于谷歌 TPU 開發(fā)者對響應(yīng)時間有這么高的要求,2014 年有人透露說的是:對于 TPU 來說,批量大小應(yīng)該足夠大,以到達 TPU 的計算性能峰值,對延遲的要求不用那么苛刻。一個起到推動作用的應(yīng)用是離線圖像處理,谷歌開發(fā)者的直覺是,如果交互式服務(wù)也需要 TPU,則大部分服務(wù)需要累積足夠大的批量然后才交給 TPU 計算。即使 2014 年谷歌關(guān)注響應(yīng)時間(LSTM1)的應(yīng)用開發(fā)者稱,2014 年的限制是 10ms,而真正向 TPU 移植時 10ms 將被減少至 7ms。很多此類服務(wù)對 TPU 的意料之外的要求,以及它們對快速響應(yīng)時間的影響和偏好,改變了這個等式。應(yīng)用編寫者通常會選擇降低延遲,而不是累積更大的批量。幸運的是,TPU 具備一個簡單、可重復(fù)的執(zhí)行模型,來滿足交互式服務(wù)的低響應(yīng)時間以及高峰值吞吐量要求,即便是計算相對較小的批量時也比當前 CPU 和 GPU 具備更好的性能。

謬誤:K80 GPU 架構(gòu)很適合進行 DNN 推理。

我們發(fā)現(xiàn) TPU 在性能、能耗和成本方面優(yōu)于 K80 GPU 有五個方面的原因。1、TPU 只有一個處理器,而 K80 有 13 個,單線程當然更容易滿足嚴格的延遲目標。2、TPU 具備一個非常大的二維乘法單元,GPU 有 13 個小的一維乘法單元。DNN 的矩陣相乘密度適合二維陣列中的算術(shù)邏輯運算單元。3、二維陣列還能通過避免訪問寄存器來促成脈動式的芯片實現(xiàn),節(jié)約能源。4、TPU 的量化應(yīng)用使用 8 位整型,而不是 GPU 的 32 位浮點;K80 并不支持 8 位整型。使用更小的數(shù)據(jù),改善的不僅是計算能耗,還能四倍化權(quán)重 FIFO 的有效容量和權(quán)重內(nèi)存的有效帶寬。(盡管推理時使用的是 8 位整型,但訓(xùn)練這些應(yīng)用時會保證和使用浮點一樣的準確率)5、TPU 忽略 GPU 需要而 DNN 不需要的特征,從而縮小 TPU 芯片、節(jié)約能耗、為其他改進留下空間。TPU 芯片的大小幾乎是 K80 的一半,通常運行所需能量是后者的三分之一,而它的內(nèi)存卻是后者的 3.5 倍。這五個因素導(dǎo)致 TPU 在能耗和性能方面優(yōu)于 K80 GPU 30 倍。

陷阱:在設(shè)計領(lǐng)域?qū)S眉軜?gòu)時不顧架構(gòu)歷史。

不適用通用計算的想法可能適合領(lǐng)域?qū)S眉軜?gòu)。對于 TPU 而言,三個重要的架構(gòu)特征可以追溯到 1980 年代早期:脈動陣列(systolic array)、解耦訪問/執(zhí)行(decoupled access/execute)和復(fù)雜的指令集。第一個特征減少了大型矩陣相乘單元的面積和能耗;第二個特征在矩陣相乘單元運算期間并行獲取權(quán)重;第三個特征更好地利用 PCIe bus 的有限帶寬來發(fā)送指令。因此,對計算機架構(gòu)歷史比較了解的領(lǐng)域?qū)S眉軜?gòu)設(shè)計師具備競爭優(yōu)勢。

謬誤:如果谷歌對 CPU 的使用更加高效,它得到的結(jié)果將可以媲美 TPU。

由于有效使用 CPU 的高級向量擴展(AVX2)對整型計算做高效的支持需要大量工作,最初在 CPU 上只有一個 DNN 有 8 位整型的性能測試結(jié)果,它的性能提升大約是 3.5 倍。所有的 CPU 性能評估都基于浮點的計算性能來展示會更明確(也不會占太多圖表空間),也就沒有給這個整型計算結(jié)果繪制單獨的 Roofline 圖。如果所有 DNN 都能夠得到類似的加速,TPU 帶來的性能/功耗比提升將分別從 41 倍和 83 倍降為 12 倍和 24 倍。

謬誤:如果谷歌使用合適的新版本,GPU 結(jié)果將與 TPU 差不多。

表 3 報告了發(fā)布 GPU 和客戶何時可以在云中使用 GPU 的區(qū)別。與較新的 GPU 進行公平比較將包括新的 TPU,而對于額外增加的 10W 功耗,我們只需使用 K80 的 GDDR5 內(nèi)存就可以將 28 納米、0.7GHz、40W TPU 的性能提高三倍。把 TPU 移動到 16 納米工藝將進一步提高其性能/功耗。16 納米英偉達 Pascal P40 GPU 的峰值性能是第一代TPU 的一半,但它 250 瓦的能耗卻是原來的很多倍。如前所述,缺乏錯誤檢測意味著 Google 無法再去數(shù)據(jù)中心部署 P40,因此無法在它們身上運行生產(chǎn)工作負載來確定其實際相對性能。

相關(guān)研究

兩篇介紹 DNN ASIC 的研究文章至少可以追溯到 20 世紀 90 年代初。如 2016 年的 ACM 通訊中所述,DianNao 家族有四種 DNN 架構(gòu),通過對 DNN 應(yīng)用程序中的內(nèi)存訪問模式提供有效的架構(gòu)支持,可以最大限度地減少片上和外部 DRAM 的內(nèi)存訪問。最初的 DianNao 使用 64 個 16 位整數(shù)乘法累加單元的陣列。

谷歌 TPU 3.0 于今年 5 月推出,其功能是 TPU 2.0 的八倍,性能高達 100petaflops,芯片使用液體冷卻為 DNN 設(shè)計特定領(lǐng)域架構(gòu)仍然是計算機架構(gòu)師的熱門話題,其中一個焦點是稀疏矩陣的計算架構(gòu),這是在 2015 年 TPU 首次部署之后提出的。

Efficient Inference Engine(高效推理機)中有一步單獨的初始掃描,它會過濾去掉非常小的值,將權(quán)重數(shù)量減少到 1/10 左右,然后使用哈夫曼編碼進一步縮小數(shù)據(jù)以提高推理的性能。Cnvlutin 略去了激活輸入為零時的乘法運算,這種計算出現(xiàn)的幾率可以達到 44%,部分原因是非線性變換函數(shù) ReLU 會把輸入的負值轉(zhuǎn)換為零;這種略去計算的做法使平均性能提高了 1.4 倍。

Eyeriss 是一種新穎的低功耗數(shù)據(jù)流架構(gòu),通過游程編碼利用數(shù)據(jù)中的零來減少內(nèi)存占用,并通過避免輸入為零時的計算來節(jié)省能耗。Minerva 是一種跨算法、結(jié)構(gòu)和電路學科的協(xié)同設(shè)計系統(tǒng),通過量化數(shù)據(jù)以及對較小的激活函數(shù)剪枝的方式把功耗降低到原來的 1/8。這種系統(tǒng)在 2017 年展出的成果是 SCNN——一種稀疏和壓縮卷積神經(jīng)網(wǎng)絡(luò)的加速器。權(quán)重和激活函數(shù)都被壓縮在 DRAM 和內(nèi)部緩沖器中,從而減少了數(shù)據(jù)傳輸所需的時間和能量,并允許芯片存儲更大的模型。

2016 年以來的另一個趨勢,是用于訓(xùn)練的特定領(lǐng)域架構(gòu)。例如,ScaleDeep 就是為 DNN 訓(xùn)練和推理設(shè)計的高性能服務(wù)器的一次嘗試,它包含數(shù)千個處理器。其中的每塊芯片都以 3:1 的比例包含計算專用模塊和存儲專用模塊,性能優(yōu)于 GPU 6-28 倍。它支持 16 位或 32 位浮點計算。芯片通過與 DNN 通信模式匹配的高性能互連拓撲連接。和 SCNN 一樣,這種拓撲只在 CNN 上評估。2016 年,CNN 僅占谷歌數(shù)據(jù)中心 TPU 工作量的 5%。計算機架構(gòu)師期待對其它類型的 DNN 和硬件實現(xiàn)進行 ScaleDeep 評估。

DNN 似乎是 FPGA 作為數(shù)據(jù)中心計算平臺的一個良好用例。實際部署的一個例子是 Catapult。盡管 Catapult 是在 2014 年公開發(fā)布的,但它與 TPU 是同一個時代的,因為 2015 年在微軟數(shù)據(jù)中心部署了 28 納米 Stratix V FPGA,與谷歌部署 TPU 差不多在同一時間。Catapult 運行 CNN 比普通服務(wù)器快 2.3 倍。也許 Catapult 和 TPU 最顯著的區(qū)別在于,為了獲得最佳性能,用戶必須使用低級硬件設(shè)計語言 Verilog 為 FPGA 編寫長程序,而不是使用高級 TensorFlow 框架編寫短程序;也就是說,“可再編程性”(re-programmability)來自于 TPU 的軟件,而不是最快 FPGA 的固件。

總結(jié)

盡管 TPU 在 I/O 總線上,并且內(nèi)存帶寬相對有限限制了它發(fā)揮全部效能(六個 DNN 應(yīng)用程序中有四個受限于內(nèi)存),但一個很大的數(shù)即便拆到很細,拆到每個周期 65536 次乘法累加計算,仍然是一個相對較大的數(shù)字,如 roofline 性能模型所示。這個結(jié)果表明,Amdahl 定律的其實有一個非常有價值的推論——大量廉價資源的低效利用仍然可以提供頗具性價比的高性能。

我們了解到,推理應(yīng)用具有嚴格的響應(yīng)時間限制,因為它們通常是面向用戶的應(yīng)用;因此,為 DNN 設(shè)計計算芯片的設(shè)計師們需要保證滿足 99% 情況下的時間限制要求。

TPU 芯片利用其在 MAC 和片上內(nèi)存的優(yōu)勢運行使用特定領(lǐng)域 TensorFlow 框架編寫的短程序,該 TensorFlow 框架比 K80 GPU 芯片快 15 倍,因此能獲得 29 倍的性能/功耗優(yōu)勢,這與性能/總擁有成本相關(guān)。與 Haswell CPU 芯片相比,對應(yīng)的比率分別為 29 和 83 倍。

有五個架構(gòu)因素可以解釋這種性能差距:

處理器。TPU只有一個處理器,而K80有13個,CPU有18個;單線程使系統(tǒng)更容易保持在固定的延遲限制內(nèi)。

大型二維乘法單元。TPU有一個非常大的二維乘法單元,而CPU和GPU分別只有18個和13個較小的一維乘法單元;二維硬件在矩陣乘法中有很好的性能。

脈動陣列。二維組織支持脈動陣列,減少寄存器訪問和能量消耗。

8位整型。TPU的應(yīng)用使用 8 位整型而不是 32 位浮點運算來提高計算和內(nèi)存效率。

棄掉的特征。TPU放棄了 CPU 和 GPU 需要但是 DNN 用不到的功能,這使得 TPU 更便宜,同時可以節(jié)約資源,并允許晶體管被重新用于特定領(lǐng)域的板載內(nèi)存。

雖然未來的 CPU 和 GPU 在運行推理時速度更快,但是使用 circa-2015 型 GPU 內(nèi)存重新設(shè)計的 TPU 將比原來快三倍,并使其性能/功耗優(yōu)勢分別為 K80 和 Haswell 的 70 倍和 200 倍。

至少在過去十年中,計算機架構(gòu)研究人員發(fā)布的創(chuàng)新成果都是來自模擬計算的,這些成果使用了有限的基準,對于通用處理器的改進也只有 10% 或更少,而我們現(xiàn)在報告的性能提升是原來的十倍不止,這是應(yīng)用于真實生產(chǎn)應(yīng)用的真實硬件中部署的特定領(lǐng)域架構(gòu)的收益。

商業(yè)產(chǎn)品之間的數(shù)量級差異在計算機架構(gòu)中很少見,而這甚至可能導(dǎo)致 TPU 成為該領(lǐng)域未來工作的典范。我們預(yù)計,其他人也會跟進這個方向,并將門檻提得更高。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • TPU
    TPU
    +關(guān)注

    關(guān)注

    0

    文章

    141

    瀏覽量

    20746
  • AI芯片
    +關(guān)注

    關(guān)注

    17

    文章

    1889

    瀏覽量

    35089

原文標題:為什么 AI 芯片時代必然到來——從TPU開始的幾十倍性能之旅

文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Samtec AI漫談 | 人工智能領(lǐng)域特定架構(gòu)

    特定領(lǐng)域架構(gòu)是一種設(shè)計理念 特定領(lǐng)域架構(gòu)是一種設(shè)計理念,可讓
    發(fā)表于 11-27 14:04 ?411次閱讀
    Samtec <b class='flag-5'>AI</b>漫談 | 人工智能<b class='flag-5'>領(lǐng)域</b><b class='flag-5'>特定</b><b class='flag-5'>架構(gòu)</b>

    《算力芯片 高性能 CPUGPUNPU 微架構(gòu)分析》第3篇閱讀心得:GPU革命:從圖形引擎到AI加速器的蛻變

    CPU、GPU的演進歷程,AI專用芯片或?qū)⒁I(lǐng)未來計算平臺的新方向。正如愛因斯坦所說:\"想象力比知識更重要\" —— 在芯片設(shè)計
    發(fā)表于 11-24 17:12

    AI技術(shù)驅(qū)動半導(dǎo)體產(chǎn)業(yè)升級,芯原布局未來智能計算領(lǐng)域

    隨著AI技術(shù)在高性能計算、機器學習和深度學習等領(lǐng)域的廣泛應(yīng)用,對高性能芯片的需求日益增長,這直接推動了半導(dǎo)體產(chǎn)業(yè)的迅猛發(fā)展和升級。在2024全球CEO峰會上,芯原執(zhí)行副總裁、業(yè)務(wù)運營部
    的頭像 發(fā)表于 11-06 13:53 ?479次閱讀

    架構(gòu)與設(shè)計 常見微服務(wù)分層架構(gòu)的區(qū)別和落地實踐

    架構(gòu)風格越傾向清晰的職責定位,且讓領(lǐng)域模型成為架構(gòu)的核心。 基于這些架構(gòu)風格,在軟件
    的頭像 發(fā)表于 10-22 15:34 ?263次閱讀
    <b class='flag-5'>架構(gòu)</b>與設(shè)計 常見微<b class='flag-5'>服務(wù)</b>分層<b class='flag-5'>架構(gòu)</b>的區(qū)別和落地實踐

    【「大模型時代的基礎(chǔ)架構(gòu)」閱讀體驗】+ 未知領(lǐng)域的感受

    器再到大模型云平臺的構(gòu)建,此書都有提及和講解,循序漸進,讓讀者可以由點及面,由面到體的來認識大數(shù)據(jù)模型的體系架構(gòu)。 前言中,作者通過提出幾個問題來引導(dǎo)讀者閱讀思考——分布式AI計算依賴哪些硬件特性
    發(fā)表于 10-08 10:40

    名單公布!【書籍評測活動NO.43】 算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析

    ,即大模型專用AI超級計算機的中樞核心。 作者介紹: 濮元愷,曾就職中關(guān)村在線核心硬件事業(yè)部,負責CPU和GPU類產(chǎn)品評測,長期關(guān)注GPGPU并行計算相關(guān)
    發(fā)表于 09-02 10:09

    AI芯片的混合精度計算與靈活可擴展

    電子發(fā)燒友網(wǎng)報道(文/李彎彎)當前,AI技術(shù)和應(yīng)用蓬勃發(fā)展,其中離不開AI芯片的支持。AI芯片是一個復(fù)雜而多樣的
    的頭像 發(fā)表于 08-23 00:08 ?4893次閱讀

    自動駕駛?cè)笾髁?b class='flag-5'>芯片架構(gòu)分析

    當前主流的AI芯片主要分為三類,GPU、FPGA、ASIC。GPU、FPGA均是前期較為成熟的芯片架構(gòu),屬于通用型芯片。ASIC屬于為
    的頭像 發(fā)表于 08-19 17:11 ?1662次閱讀
    自動駕駛?cè)笾髁?b class='flag-5'>芯片</b><b class='flag-5'>架構(gòu)</b>分析

    AI服務(wù)器:開啟智能計算新時代

    一、AI服務(wù)器的定義與特點 AI服務(wù)器的定義 AI服務(wù)器是一種基于云
    的頭像 發(fā)表于 08-09 16:08 ?914次閱讀

    ai服務(wù)器是什么架構(gòu)類型

    AI服務(wù)器,即人工智能服務(wù)器,是專門為人工智能應(yīng)用設(shè)計的高性能計算服務(wù)器。AI
    的頭像 發(fā)表于 07-02 09:51 ?1109次閱讀

    Imagination 引領(lǐng)邊緣計算AI創(chuàng)新,擁抱AI未來發(fā)展

    ,致力推動技術(shù)創(chuàng)新,擁抱人工智能的未來發(fā)展。同時他也介紹了Imagination在計算領(lǐng)域的戰(zhàn)略布局、產(chǎn)品技術(shù)以及對未來
    的頭像 發(fā)表于 06-28 08:28 ?551次閱讀
    Imagination 引領(lǐng)邊緣<b class='flag-5'>計算</b>和<b class='flag-5'>AI</b>創(chuàng)新,擁抱<b class='flag-5'>AI</b><b class='flag-5'>未來</b>發(fā)展

    進一步解讀英偉達 Blackwell 架構(gòu)、NVlink及GB200 超級芯片

    新的標準。Blackwell架構(gòu)和GB200 超級芯片有望推動英偉達在人工智能領(lǐng)域更進一步,鞏固其在高性能計算和人工智能技術(shù)領(lǐng)域的領(lǐng)先地位。
    發(fā)表于 05-13 17:16

    SK海力士稱AI存儲芯片2025年訂單幾乎已滿

    SK海力士CEO郭魯正近日在公開場合表示,AI存儲芯片的市場需求正在迅猛增長,預(yù)計至2025年的訂單已接近飽和。他強調(diào),雖然目前AI主要服務(wù)于數(shù)據(jù)中心,但
    的頭像 發(fā)表于 05-08 10:28 ?530次閱讀

    risc-v多核芯片AI方面的應(yīng)用

    應(yīng)用中的成本。 最后,RISC-V多核芯片不僅可以應(yīng)用于AI邊緣計算領(lǐng)域,還可以擴展到其他領(lǐng)域,如數(shù)據(jù)中心、云
    發(fā)表于 04-28 09:20

    荷蘭AI芯片設(shè)計公司Axelera計劃推出新型汽車芯粒AI架構(gòu)

    荷蘭邊緣人工智能(AI芯片設(shè)計領(lǐng)域的領(lǐng)軍企業(yè)Axelera AI Solutions正在積極開發(fā)一款新型的汽車芯粒(chiplet)內(nèi)存計算
    的頭像 發(fā)表于 01-18 18:24 ?1862次閱讀
    主站蜘蛛池模板: 国产高清免费观看| 亚洲免费观看在线视频| 99热6精品视频6| 午夜福利免费视频921000电影| 精品伊人久久久| 超碰人热人人热人人看| 亚洲免费久久| 亚洲成人网导航| 乳色吐息在线观看全集免费观看| 久久vs国产综合色| 国产精品免费小视频| 99午夜高清在线视频在观看| 亚洲人成电影网站在线观看| 日韩欧美一区二区中文字幕| 老版香蕉版下载| 很很射影院| 国产精品97久久AV色婷婷| 国产AV天堂一区二区三区| a视频免费在线| 中文字幕AV亚洲精品影视| 亚洲AV怡红院AV男人的天堂| 亚洲AV怡红院AV男人的天堂| 亚洲精品久久午夜麻豆| 亚洲一区综合图区| 小黄飞二人转| 色婷婷国产精品视频一区二区| 免费精品国产人妻国语| 黄色片软件大全| 国产欧美一区二区三区视频 | 川师 最美老师| 99精品视频一区在线视频免费观看| 99久久免费视频6| 成人在线视频在线观看| 99爱在线精品视频免费观看9| 医生含着我的奶边摸边做| 亚洲国产AV精品卡一卡二| 亚洲中文字幕日产乱码2020| 亚洲国产女人aaa毛片在线| 小鸟酱喷水| 一本色道久久综合亚洲精品| 51xx午夜影视福利|