<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

一文理清CPU、GPU和TPU的關系

羅欣 ? 來源:Google Cloud ? 作者:Kaz Sato ? 2018-09-04 11:12 ? 次閱讀

很多讀者可能分不清楚 CPU、GPU 和 TPU 之間的區別,因此 Google Cloud 將在這篇博客中簡要介紹它們之間的區別,并討論為什么 TPU 能加速深度學習。

張量處理單元(TPU)是一種定制化的 ASIC 芯片,它由谷歌從頭設計,并專門用于機器學習工作負載。TPU 為谷歌的主要產品提供了計算支持,包括翻譯、照片、搜索助理和 Gmail 等。Cloud TPU 將 TPU 作為可擴展的云計算資源,并為所有在 Google Cloud 上運行尖端 ML 模型的開發者與數據科學家提供計算資源。在 Google Next’18 中,我們宣布 TPU v2 現在已經得到用戶的廣泛使用,包括那些免費試用用戶,而 TPU v3 目前已經發布了內部測試版。

第三代 Cloud TPU

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

神經網絡如何運算

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

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

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

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

CPU 如何運行

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

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

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

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

GPU 如何工作

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

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

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

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

TPU 如何工作

當谷歌設計 TPU 的時候,我們構建了一種領域特定的架構。這意味著,我們沒有設計一種通用的處理器,而是專用于神經網絡工作負載的矩陣處理器。TPU 不能運行文本處理軟件、控制火箭引擎或執行銀行業務,但它們可以為神經網絡處理大量的乘法和加法運算,同時 TPU 的速度非???、能耗非常小且物理空間占用也更小。

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

我們來看看一個脈動陣列如何執行神經網絡計算。首先,TPU 從內存加載參數到乘法器和加法器的矩陣中。

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

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

好處:成本降低至 1/5

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

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

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

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

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

本文來源:Google Cloud Kaz Sato

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

    關注

    68

    文章

    10491

    瀏覽量

    207030
  • gpu
    gpu
    +關注

    關注

    27

    文章

    4456

    瀏覽量

    126977
  • TPU
    TPU
    +關注

    關注

    0

    文章

    133

    瀏覽量

    20581
收藏 人收藏

    評論

    相關推薦

    Groq推出大模型推理芯片 超越了傳統GPU和谷歌TPU

    Groq推出了大模型推理芯片,以每秒500tokens的速度引起轟動,超越了傳統GPU和谷歌TPU。
    的頭像 發表于 02-26 10:24 ?455次閱讀
    Groq推出大模型推理芯片 超越了傳統<b class='flag-5'>GPU</b>和谷歌<b class='flag-5'>TPU</b>

    gpu是什么和cpu的區別

    GPUCPU是兩種常見的計算機處理器,它們在結構和功能上有很大的區別。在這篇文章中,我們將探討GPUCPU的區別,并詳細介紹它們的原理、應用領域和性能特點。 一、概述 1.1
    的頭像 發表于 02-20 11:24 ?1825次閱讀

    為什么GPUCPU更快?

    GPUCPU更快的原因并行處理能力:GPU可以同時處理多個任務和數據,而CPU通常只能一次處理一項任務。這是因為GPU的架構使得它可以同時
    的頭像 發表于 01-26 08:30 ?861次閱讀
    為什么<b class='flag-5'>GPU</b>比<b class='flag-5'>CPU</b>更快?

    CPU、GPU、TPU、NPU分別是什么?哪個最強?

    技術日新月異,物聯網、人工智能、深度學習等遍地開花,各類芯片名詞CPU,GPU,TPU,NPU層出不窮…它們都是什么?又有著什么千絲萬縷的關系和區別?接下來,統一介紹一下:01CPUC
    的頭像 發表于 12-22 08:26 ?945次閱讀
    <b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>、<b class='flag-5'>TPU</b>、NPU分別是什么?哪個最強?

    CPUGPUTPU之間有什么區別?

    CPUGPUTPU之間有什么區別? CPU(Central Processing Unit,中央處理器)是一種通用處理器,被用于各種計算任務,如操作系統運行、數據處理、算法運算等。
    的頭像 發表于 12-15 10:10 ?4697次閱讀

    淺談DPU和CPU、GPU關系

    CPU的一大部分算力卸載給GPU之后,人們發現可以把很多其他功能也外包出去,于是又有了智能網卡,或者叫做DPU。
    發表于 12-14 11:44 ?464次閱讀
    淺談DPU和<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>的<b class='flag-5'>關系</b>

    CPU、GPU和內存知識科普

    本文內容包括CPU、內存和GPU知識,本期重點更新GPUCPU部分知識。比如:GPU更新包括架構演進,最新產品A100、選型策略、架構分析
    的頭像 發表于 11-13 11:47 ?976次閱讀
    <b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>和內存知識科普

    cpu gpu npu的區別 NPU與GPU哪個好?gpu是什么意思?

    cpu gpu npu的區別 NPU與GPU哪個好?gpu是什么意思? 在當今數字化和人工智能的時代,高效的計算能力是現代技術發展的重要基礎。因此,Central Processing
    的頭像 發表于 08-27 17:03 ?8660次閱讀

    什么是GPUCPU?GPUCPU的區別及聯系

    GPUCPU是計算機系統中最重要的兩種處理器,它們在不同的應用中發揮不同的作用。
    發表于 08-09 18:24 ?3377次閱讀

    gpucpu有什么區別?

    gpucpu有什么區別? GPUCPU是電腦中兩個重要的計算器件。如果想要了解這兩個設備的區別,需要從它們的含義和工作原理入手。 首先,CPU
    的頭像 發表于 08-09 16:15 ?1.1w次閱讀

    gpucpu哪個更重要?

    gpucpu哪個更重要? 當我們談到計算機的性能時,CPU(中央處理器)和GPU(圖形處理器)都是非常重要的組件。然而,在某些情況下,GPU
    的頭像 發表于 08-09 15:51 ?4995次閱讀

    GPU 和顯卡是什么關系?

    來源:渲大師在沒有GPU之前,基本上所有的任務都是交給CPU來做的。有GPU之后,二者就進行了分工,CPU負責邏輯性強的事物處理和串行計算,GPU
    的頭像 發表于 07-31 23:46 ?690次閱讀
    <b class='flag-5'>GPU</b> 和顯卡是什么<b class='flag-5'>關系</b>?

    顯卡與cpu關系 顯卡和gpu是一個東西嗎 GPU和顯卡是什么關系?

    在沒有GPU之前,基本上所有的任務都是交給CPU來做的。
    的頭像 發表于 07-14 11:50 ?2720次閱讀

    GPU 和顯卡是什么關系?

    來源: 渲大師 在沒有GPU之前,基本上所有的任務都是交給CPU來做的。有GPU之后,二者就進行了分工,CPU負責邏輯性強的事物處理和串行計算,GP
    的頭像 發表于 07-14 11:50 ?2393次閱讀
    <b class='flag-5'>GPU</b> 和顯卡是什么<b class='flag-5'>關系</b>?

    什么是CPU、GPU、TPU、DPU、NPU、BPU?有什么區別?

    技術日新月異,物聯網、人工智能、深度學習等遍地開花,各類芯片名詞GPU, TPU, NPU,DPU層出不窮…它們都是什么鬼?又有什么不一樣? 01 CPU CPU,作為機器的“大腦”,
    的頭像 發表于 06-30 08:48 ?1.3w次閱讀
    什么是<b class='flag-5'>CPU</b>、<b class='flag-5'>GPU</b>、<b class='flag-5'>TPU</b>、DPU、NPU、BPU?有什么區別?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>