CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

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

CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

TPU

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

CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

TPU

第三代 Cloud TPU

CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

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

神經網絡如何運算

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

CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

TPU

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

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

CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

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

好處:成本降低至 1/5

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

CPU、GPU 和 TPU 都是如何工作的?有什麼區別?

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 的成本。這正是神經網絡領域特定架構的威力之所在。


分享到:


相關文章: