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

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

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

TPU憑什么成為深度學習的首選處理器?

mK5P_AItists ? 來源:未知 ? 作者:胡薇 ? 2018-09-04 16:04 ? 次閱讀

張量處理單元(TPU)是一種定制化的 ASIC 芯片,它由谷歌從頭設計,并專門用于機器學習工作負載。TPU 為谷歌的主要產(chǎn)品提供了計算支持,包括翻譯、照片、搜索助理和 Gmail 等。

Cloud TPU 將 TPU 作為可擴展的云計算資源,并為所有在 Google Cloud 上運行尖端 ML 模型的開發(fā)者與數(shù)據(jù)科學家提供計算資源。在 Google Next’18 中,我們宣布 TPU v2 現(xiàn)在已經(jīng)得到用戶的廣泛使用,包括那些免費試用用戶,而 TPU v3 目前已經(jīng)發(fā)布了內(nèi)部測試版。

第三代 Cloud TPU

如上為 tpudemo.com 截圖,該網(wǎng)站 PPT 解釋了 TPU 的特性與定義。在本文中,我們將關(guān)注 TPU 某些特定的屬性。

神經(jīng)網(wǎng)絡如何運算

在我們對比 CPU、GPU 和 TPU 之前,我們可以先了解到底機器學習或神經(jīng)網(wǎng)絡需要什么樣的計算。如下所示,假設我們使用單層神經(jīng)網(wǎng)絡識別手寫數(shù)字。

如果圖像為 28×28 像素的灰度圖,那么它可以轉(zhuǎn)化為包含 784 個元素的向量。神經(jīng)元會接收所有 784 個值,并將它們與參數(shù)值(上圖紅線)相乘,因此才能識別為「8」。其中參數(shù)值的作用類似于用「濾波器」從數(shù)據(jù)中抽取特征,因而能計算輸入圖像與「8」之間的相似性:

這是對神經(jīng)網(wǎng)絡做數(shù)據(jù)分類最基礎的解釋,即將數(shù)據(jù)與對應的參數(shù)相乘(上圖兩種顏色的點),并將它們加在一起(上圖右側(cè)收集計算結(jié)果)。如果我們能得到最高的預測值,那么我們會發(fā)現(xiàn)輸入數(shù)據(jù)與對應參數(shù)非常匹配,這也就最可能是正確的答案。

簡單而言,神經(jīng)網(wǎng)絡在數(shù)據(jù)和參數(shù)之間需要執(zhí)行大量的乘法和加法。我們通常會將這些乘法與加法組合為矩陣運算,這在我們大學的線性代數(shù)中會提到。所以關(guān)鍵點是我們該如何快速執(zhí)行大型矩陣運算,同時還需要更小的能耗。

CPU 如何運行

因此 CPU 如何來執(zhí)行這樣的大型矩陣運算任務呢?一般 CPU 是基于馮諾依曼架構(gòu)的通用處理器,這意味著 CPU 與軟件和內(nèi)存的運行方式如下:

CPU 如何運行:該動圖僅展示了概念性原理,并不反映 CPU 的實際運算行為。

CPU 最大的優(yōu)勢是靈活性。通過馮諾依曼架構(gòu),我們可以為數(shù)百萬的不同應用加載任何軟件。我們可以使用 CPU 處理文字、控制火箭引擎、執(zhí)行銀行交易或者使用神經(jīng)網(wǎng)絡分類圖像。

但是,由于 CPU 非常靈活,硬件無法一直了解下一個計算是什么,直到它讀取了軟件的下一個指令。CPU 必須在內(nèi)部將每次計算的結(jié)果保存到內(nèi)存中(也被稱為寄存器或 L1 緩存)。內(nèi)存訪問成為 CPU 架構(gòu)的不足,被稱為馮諾依曼瓶頸。雖然神經(jīng)網(wǎng)絡的大規(guī)模運算中的每一步都是完全可預測的,每一個 CPU 的算術(shù)邏輯單元(ALU,控制乘法器和加法器的組件)都只能一個接一個地執(zhí)行它們,每一次都需要訪問內(nèi)存,限制了總體吞吐量,并需要大量的能耗。

GPU 如何工作

為了獲得比 CPU 更高的吞吐量,GPU 使用一種簡單的策略:在單個處理器中使用成千上萬個 ALU?,F(xiàn)代 GPU 通常在單個處理器中擁有 2500-5000 個 ALU,意味著你可以同時執(zhí)行數(shù)千次乘法和加法運算。

GPU 如何工作:這個動畫僅用于概念展示。并不反映真實處理器的實際工作方式。

這種 GPU 架構(gòu)在有大量并行化的應用中工作得很好,例如在神經(jīng)網(wǎng)絡中的矩陣乘法。實際上,相比 CPU,GPU 在深度學習的典型訓練工作負載中能實現(xiàn)高幾個數(shù)量級的吞吐量。這正是為什么 GPU 是深度學習中最受歡迎的處理器架構(gòu)。

但是,GPU 仍然是一種通用的處理器,必須支持幾百萬種不同的應用和軟件。這又把我們帶回到了基礎的問題,馮諾依曼瓶頸。在每次幾千個 ALU 的計算中,GPU 都需要訪問寄存器或共享內(nèi)存來讀取和保存中間計算結(jié)果。因為 GPU 在其 ALU 上執(zhí)行更多的并行計算,它也會成比例地耗費更多的能量來訪問內(nèi)存,同時也因為復雜的線路而增加 GPU 的物理空間占用。

TPU 如何工作

當谷歌設計 TPU 的時候,我們構(gòu)建了一種領(lǐng)域特定的架構(gòu)。這意味著,我們沒有設計一種通用的處理器,而是專用于神經(jīng)網(wǎng)絡工作負載的矩陣處理器。TPU 不能運行文本處理軟件、控制火箭引擎或執(zhí)行銀行業(yè)務,但它們可以為神經(jīng)網(wǎng)絡處理大量的乘法和加法運算,同時 TPU 的速度非??臁⒛芎姆浅P∏椅锢砜臻g占用也更小。

其主要助因是對馮諾依曼瓶頸的大幅度簡化。因為該處理器的主要任務是矩陣處理,TPU 的硬件設計者知道該運算過程的每個步驟。因此他們放置了成千上萬的乘法器和加法器并將它們直接連接起來,以構(gòu)建那些運算符的物理矩陣。這被稱作脈動陣列(Systolic Array)架構(gòu)。在 Cloud TPU v2 的例子中,有兩個 128X128 的脈動陣列,在單個處理器中集成了 32768 個 ALU 的 16 位浮點值。

我們來看看一個脈動陣列如何執(zhí)行神經(jīng)網(wǎng)絡計算。首先,TPU 從內(nèi)存加載參數(shù)到乘法器和加法器的矩陣中。

然后,TPU 從內(nèi)存加載數(shù)據(jù)。當每個乘法被執(zhí)行后,其結(jié)果將被傳遞到下一個乘法器,同時執(zhí)行加法。因此結(jié)果將是所有數(shù)據(jù)和參數(shù)乘積的和。在大量計算和數(shù)據(jù)傳遞的整個過程中,不需要執(zhí)行任何的內(nèi)存訪問。

這就是為什么 TPU 可以在神經(jīng)網(wǎng)絡運算上達到高計算吞吐量,同時能耗和物理空間都很小。

好處:成本降低至 1/5

因此使用 TPU 架構(gòu)的好處就是:降低成本。以下是截至 2018 年 8 月(寫這篇文章的時候)Cloud TPU v2 的使用價格。

Cloud TPU v2 的價格,截至 2018 年 8 月。

斯坦福大學發(fā)布了深度學習和推理的基準套裝 DAWNBench。你可以在上面找到不同的任務、模型、計算平臺以及各自的基準結(jié)果的組合。

DAWNBench:https://dawn.cs.stanford.edu/benchmark/

在 DAWNBench 比賽于 2018 年 4 月結(jié)束的時候,非 TPU 處理器的最低訓練成本是 72.40 美元(使用現(xiàn)場實例訓練 ResNet-50 達到 93% 準確率)。而使用 Cloud TPU v2 搶占式計價,你可以在 12.87 美元的價格完成相同的訓練結(jié)果。這僅相當于非 TPU 的不到 1/5 的成本。這正是神經(jīng)網(wǎng)絡領(lǐng)域特定架構(gòu)的威力之所在。

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

    關(guān)注

    68

    文章

    18927

    瀏覽量

    227228
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4591

    瀏覽量

    128144
  • TPU
    TPU
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    20650

原文標題:僅需1/5成本:TPU是如何超越GPU,成為深度學習首選處理器的

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

收藏 人收藏

    評論

    相關(guān)推薦

    智能芯片市場格局一變再變 TPU將成深度學習的未來?

    在Google I/O 2016的主題演講進入尾聲時,谷歌的CEO皮采提到了一項他們這段時間在AI和機器學習上取得的成果,一款叫做Tensor Processing Unit(張量處理單元)的處理器,簡稱
    發(fā)表于 05-19 11:49 ?1344次閱讀

    CORAL-EDGE-TPU:珊瑚開發(fā)板TPU

    包括一個上系統(tǒng)模塊(SOM)和護壁板。SOM基于iMX 8M應用處理器,還包含LPDDR4內(nèi)存,eMMC存儲,雙頻Wi-Fi和Edge TPU。Edge TPU是由Google設計的小型ASIC
    發(fā)表于 05-29 10:43

    TPU透明副牌.TPU副牌料.TPU抽粒廠.TPU塑膠副牌.TPU再生料.TPU低溫料

    清源塑膠經(jīng)營. 供應TPU塑膠原料.副牌.再生顆粒料.TPU塑膠.TPU透明副牌. 再生粒子.白色.黑色.透明. 注塑料.擠出料. 壓延等等..聚醚. 脂肪料. 聚酯料.硬度70A--98A.
    發(fā)表于 11-21 17:21

    CPU,GPU,TPU,NPU都是什么

    嵌入式算法移植優(yōu)化學習筆記5——CPU,GPU,TPU,NPU都是什么一、什么是CPU?二、什么是GPU?三、什么是TPU?四、什么是NPU?附:一、什么是CPU?中央處理器(CPU)
    發(fā)表于 12-15 06:07

    谷歌新神經(jīng)計算專用處理器TPU超越CPU與GPU的原因

    網(wǎng)絡巨擘谷歌(Google)日前指出,該公司的Tensor處理器TPU)在機器學習的測試中,以數(shù)量級的效能優(yōu)勢超越英特爾(Intel)的Xeon處理器和Nvidia的繪圖
    發(fā)表于 04-28 09:39 ?1137次閱讀
    谷歌新神經(jīng)計算專用<b class='flag-5'>處理器</b><b class='flag-5'>TPU</b>超越CPU與GPU的原因

    寒武紀科技將發(fā)布深度學習專用處理器

    人工智能繞不過深度學習。目前深度學習的應用還是基于通用處理器如CPU、GPU。寒武紀科技陳天石表示,在幾年前的谷歌大腦項目,用了1.6萬個C
    發(fā)表于 10-11 15:53 ?0次下載
    寒武紀科技將發(fā)布<b class='flag-5'>深度</b><b class='flag-5'>學習</b>專用<b class='flag-5'>處理器</b>

    英偉達無人駕駛Xavier處理器幫助應用程序使用深度學習神經(jīng)網(wǎng)絡算法

    處理器可以幫助汽車在無人駕駛的應用程序使用深度學習神經(jīng)網(wǎng)絡算法,用來處理汽車內(nèi)外的傳感數(shù)據(jù)、語言分析等內(nèi)容。通過該
    的頭像 發(fā)表于 12-19 11:51 ?4450次閱讀

    Google正式發(fā)布了第三代AI人工智能/機器學習專用處理器TPU 3.0

    Google I/O 2018開發(fā)者大會期間,Google正式發(fā)布了第三代AI人工智能/機器學習專用處理器TPU 3.0。
    發(fā)表于 05-11 15:46 ?2067次閱讀

    Google發(fā)布超低功耗的ASIC芯片Edge TPU處理器

    Google于美國當?shù)貢r間周三在Next云端大會,重磅發(fā)布了Edge TPU處理器。
    的頭像 發(fā)表于 07-30 14:11 ?8679次閱讀

    TPU/GPU /FPGA誰將能成為智能時代協(xié)處理器的領(lǐng)跑者

    深度學習應用大量涌現(xiàn)使超級計算機的架構(gòu)逐漸向深度學習應用優(yōu)化,從傳統(tǒng) CPU 為主 GPU 為輔的英特爾處理器變?yōu)?GPU 為主 CPU 為
    發(fā)表于 08-31 09:55 ?1716次閱讀

    獨特的方式操縱SRAM單元以處理深度學習任務

    操作/秒/瓦(TOPS / W)。它的計算密度可以擊敗Google的TPU一個數(shù)量級。 該設計是使用內(nèi)存中計算方法的加速產(chǎn)品線中最新的一種。設計使用40納米NOR閃存單元的深度學習
    的頭像 發(fā)表于 09-19 09:15 ?1791次閱讀

    深度學習算法進行優(yōu)化的處理器——NPU

    NPU(Neural-network Processing Unit,嵌入式神經(jīng)網(wǎng)絡處理器)是針對深度學習*算法進行優(yōu)化的處理器。它能像人類神經(jīng)網(wǎng)絡一樣快速、高效地
    發(fā)表于 10-17 10:53 ?2187次閱讀

    基于 TPU v4的超級計算機性能解析

    谷歌張量處理器(tensor processing unit,TPU)是該公司為機器學習定制的專用芯片(ASIC),第一代發(fā)布于 2016 年,成為了 AlphaGo 背后的算力。與
    發(fā)表于 04-23 12:35 ?1039次閱讀
    基于 <b class='flag-5'>TPU</b> v4的超級計算機性能解析

    深度學習服務器怎么做 深度學習服務器diy 深度學習服務器主板用什么

    。因此,深度學習服務器逐漸成為了人們進行深度學習實驗的必要工具。本文將介紹深度
    的頭像 發(fā)表于 08-17 16:11 ?754次閱讀

    TPU和NPU的區(qū)別

    和NPU之間的區(qū)別。 什么是TPUTPU,即Tensor Processing Unit,是由Google公司開發(fā)的專用於深度學習的加速
    的頭像 發(fā)表于 08-27 17:08 ?6733次閱讀