TPU發展分析
發布時間:2018/9/10 10:00:05 訪問次數:8294
- 51電子網公益庫存:
- F0505S-1W
- F1212S-1W
- F1452GH1
- F15U20DN
- F1H16TP
- F36037GFZV
- F3AA012E
- F3AA024E
- F4-100R06KL4
- FA-20H 16.0000MF12Z-AC3
- 601HE0000B01
- 6125TD1-R
- 6125TD2-R
- 6125TD4-R
- 6-1394461-2
- 68HC68W1
- 6DI100A050
- 6DI100A-050
- 6DI120A-060
- 6MBI15S-120
cpu 如何運行
因此 cpu 如何來執行這樣的大型矩陣運算任務呢?一般 cpu 是基于馮諾依曼架構的通用處理器,這意味著 cpu 與軟件和內存的運行方式如下:
cpu 如何運行:該動圖僅展示了概念性原理,并不反映 cpu 的實際運算行為。
cpu 最大的優勢是靈活性。通過馮諾依曼架構,我們可以為數百萬的不同應用加載任何軟件。我們可以使用 cpu 處理文字、控制火箭引擎、執行銀行交易或者使用神經網絡分類圖像。
但是,由于 cpu 非常靈活,硬件無法一直了解下一個計算是什么,直到它讀取了軟件的下一個指令。cpu 必須在內部將每次計算的結果保存到內存中(也被稱為寄存器或 l1 緩存)。內存訪問成為 cpu 架構的不足,被稱為馮諾依曼瓶頸。雖然神經網絡的大規模運算中的每一步都是完全可預測的,每一個 cpu 的算術邏輯單元(alu,控制乘法器和加法器的組件)都只能一個接一個地執行它們,每一次都需要訪問內存,限制了總體吞吐量,并需要大量的能耗。
gpu 如何工作
為了獲得比 cpu 更高的吞吐量,gpu 使用一種簡單的策略:在單個處理器中使用成千上萬個 alu。現代 gpu 通常在單個處理器中擁有 2500-5000 個 alu,意味著你可以同時執行數千次乘法和加法運算。
gpu 如何工作:這個動畫僅用于概念展示。并不反映真實處理器的實際工作方式。http://yushuokj.51dzw.com/(
這種 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/5http://yushuo1.51dzw.com/
因此使用 tpu 架構的好處就是:降低成本。以下是截至 2018 年 8 月(寫這篇文章的時候)cloud tpu v2 的使用價格。
cloud tpu v2 的價格,截至 2018 年 8 月。
斯坦福大學發布了深度學習和推理的基準套裝 dawnbench。你可以在上面找到不同的任務、模型、計算平臺以及各自的基準結果的組合。
在 dawnbench 比賽于 2018 年 4 月結束的時候,非 tpu 處理器的最低訓練成本是 72.40 美元(使用現場實例訓練 resnet-50 達到 93% 準確率)。而使用 cloud tpu v2 搶占式計價,你可以在 12.87 美元的價格完成相同的訓練結果。這僅相當于非 tpu 的不到 1/5 的成本。這正是神經網絡領域特定架構的威力之所在。
張量處理單元(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」之間的相似性:
這是對神經網絡做數據分類最基礎的解釋,即將數據與對應的參數相乘(上圖兩種顏色的點),并將它們加在一起(上圖右側收集計算結果)。如果我們能得到最高的預測值,那么我們會發現輸入數據與對應參數非常匹配,這也就最可能是正確的答案。http://yushuokj.51dzw.com/
簡單而言,神經網絡在數據和參數之間需要執行大量的乘法和加法。我們通常會將這些乘法與加法組合為矩陣運算,這在我們大學的線性代數中會提到。所以關鍵點是我們該如何快速執行大型矩陣運算,同時還需要更小的能耗。文章出自:機器之心 頭條優質科技原創作者
- 51電子網公益庫存:
- F0505S-1W
- F1212S-1W
- F1452GH1
- F15U20DN
- F1H16TP
- F36037GFZV
- F3AA012E
- F3AA024E
- F4-100R06KL4
- FA-20H 16.0000MF12Z-AC3
- 601HE0000B01
- 6125TD1-R
- 6125TD2-R
- 6125TD4-R
- 6-1394461-2
- 68HC68W1
- 6DI100A050
- 6DI100A-050
- 6DI120A-060
- 6MBI15S-120
cpu 如何運行
因此 cpu 如何來執行這樣的大型矩陣運算任務呢?一般 cpu 是基于馮諾依曼架構的通用處理器,這意味著 cpu 與軟件和內存的運行方式如下:
cpu 如何運行:該動圖僅展示了概念性原理,并不反映 cpu 的實際運算行為。
cpu 最大的優勢是靈活性。通過馮諾依曼架構,我們可以為數百萬的不同應用加載任何軟件。我們可以使用 cpu 處理文字、控制火箭引擎、執行銀行交易或者使用神經網絡分類圖像。
但是,由于 cpu 非常靈活,硬件無法一直了解下一個計算是什么,直到它讀取了軟件的下一個指令。cpu 必須在內部將每次計算的結果保存到內存中(也被稱為寄存器或 l1 緩存)。內存訪問成為 cpu 架構的不足,被稱為馮諾依曼瓶頸。雖然神經網絡的大規模運算中的每一步都是完全可預測的,每一個 cpu 的算術邏輯單元(alu,控制乘法器和加法器的組件)都只能一個接一個地執行它們,每一次都需要訪問內存,限制了總體吞吐量,并需要大量的能耗。
gpu 如何工作
為了獲得比 cpu 更高的吞吐量,gpu 使用一種簡單的策略:在單個處理器中使用成千上萬個 alu。現代 gpu 通常在單個處理器中擁有 2500-5000 個 alu,意味著你可以同時執行數千次乘法和加法運算。
gpu 如何工作:這個動畫僅用于概念展示。并不反映真實處理器的實際工作方式。http://yushuokj.51dzw.com/(
這種 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/5http://yushuo1.51dzw.com/
因此使用 tpu 架構的好處就是:降低成本。以下是截至 2018 年 8 月(寫這篇文章的時候)cloud tpu v2 的使用價格。
cloud tpu v2 的價格,截至 2018 年 8 月。
斯坦福大學發布了深度學習和推理的基準套裝 dawnbench。你可以在上面找到不同的任務、模型、計算平臺以及各自的基準結果的組合。
在 dawnbench 比賽于 2018 年 4 月結束的時候,非 tpu 處理器的最低訓練成本是 72.40 美元(使用現場實例訓練 resnet-50 達到 93% 準確率)。而使用 cloud tpu v2 搶占式計價,你可以在 12.87 美元的價格完成相同的訓練結果。這僅相當于非 tpu 的不到 1/5 的成本。這正是神經網絡領域特定架構的威力之所在。
張量處理單元(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」之間的相似性:
這是對神經網絡做數據分類最基礎的解釋,即將數據與對應的參數相乘(上圖兩種顏色的點),并將它們加在一起(上圖右側收集計算結果)。如果我們能得到最高的預測值,那么我們會發現輸入數據與對應參數非常匹配,這也就最可能是正確的答案。http://yushuokj.51dzw.com/
簡單而言,神經網絡在數據和參數之間需要執行大量的乘法和加法。我們通常會將這些乘法與加法組合為矩陣運算,這在我們大學的線性代數中會提到。所以關鍵點是我們該如何快速執行大型矩陣運算,同時還需要更小的能耗。文章出自:機器之心 頭條優質科技原創作者
熱門點擊
- AI加持智能化運維 趨勢
- MOSFET及IGBT
- 2018年十大新型光譜儀
- 新一代超高效異構計算標準體系
- VCSEL市場發展趨勢
- “人工智能”走向“工業智能”
- 動力電池市場新趨勢
- “AI+ADAS”創新應用
- 英特爾 FPGA
- 動力電池市場預測
推薦電子資訊
- iPhone5S/iPhone5C獲工信部認證
- 庫克一直看好中國市場的巨大潛力,并且自去年3月以來他已... [詳細]