在本文中,我們將進行 TPU 與 GPU 的比較。但在我們深入研究之前,這是你必須知道的。
機器學習和人工智慧技術加速了智慧應用的發展。為此,半導體公司不斷創建加速器和處理器,包括 TPU 和 CPU,以處理更複雜的應用程式。
一些用戶在理解何時建議使用 TPU 以及何時使用 GPU 來完成他們的電腦任務時遇到了問題。
GPU 也稱為圖形處理單元,是您 PC 的視訊卡,可為您提供視覺和身臨其境的 PC 體驗。例如,如果您的PC 未偵測到 GPU ,您可以按照簡單的步驟操作。
為了更好地理解這些情況,我們還需要澄清什麼是 TPU 以及它與 GPU 的比較。
TPU 或張量處理單元是用於特定應用的專用積體電路 (IC),也稱為 ASIC(專用積體電路)。 Google 從頭開始創建 TPU,於 2015 年開始使用,並於 2018 年向公眾開放。
TPU 作為次要晶片或雲端版本提供。為了使用 TensorFlow 軟體加速神經網路的機器學習,雲端 TPU 以驚人的速度解決複雜的矩陣和向量運算。
借助 TensorFlow,Google Brain 團隊開發了一個開源機器學習平台,研究人員、開發人員和企業可以使用 Cloud TPU 硬體建立和操作 AI 模型。
在訓練複雜且穩健的神經網路模型時,TPU 會縮短達到準確值的時間。這意味著使用 GPU 訓練可能需要數週時間的深度學習模型所花費的時間不到此時間的一小部分。
TPU 和 GPU 一樣嗎?
它們在架構上是高度不同的。圖形處理單元本身就是一個處理器,儘管它是透過管道傳輸到向量化數值編程的。 GPU 實際上是下一代 Cray 超級電腦。
TPU 是不自行執行指令的協處理器;程式碼在 CPU 上執行,它為 TPU 提供小操作流。
我什麼時候應該使用 TPU?
雲端中的 TPU 是針對特定應用程式量身定制的。在某些情況下,您可能會喜歡使用 GPU 或 CPU 執行機器學習任務。一般來說,以下原則可以幫助您評估TPU 是否是您工作負載的最佳選擇:
現在讓我們直接進行 TPU 與 GPU 的比較。
TPU 不是高度複雜的硬件,感覺就像是用於雷達應用的訊號處理引擎,而不是傳統的 X86 衍生架構。
儘管有許多矩陣乘法除法,但它更像是一個協處理器而不是 GPU;它只執行主機收到的命令。
由於要輸入到矩陣乘法組件的權重太多,因此 TPU 的 DRAM 會作為單一單元並行運作。
此外,由於 TPU 只能進行矩陣運算,因此 TPU 板與基於 CPU 的主機系統相連,以完成 TPU 無法處理的任務。
主機負責將資料傳送到 TPU、預處理以及從雲端儲存中取得詳細資訊。
GPU 更關心應用程式可用核心來運作,而不是存取低延遲快取。
許多具有多個 SM(串流多處理器)的 PC(處理器叢集)成為單一 GPU 小工具,每個 SM 中都包含第一層指令快取層和隨附的核心。
在從全域 GDDR-5 記憶體中提取資料之前,一個 SM 通常使用兩個快取的共享層和一個快取的專用層。 GPU 架構可以容忍記憶體延遲。
GPU 以最少數量的記憶體快取等級運作。但是,由於 GPU 具有更多專用於處理的晶體管,因此它不太關心存取記憶體中資料的時間。
由於 GPU 一直被足夠的運算佔用,可能的記憶體存取延遲被隱藏了。
這個原始的 TPU 產生有針對性的推理,它使用學習模型而不是訓練模型。
在使用神經網路推理的商業 AI 應用程式上,TPU 比目前的 GPU 和 CPU 快 15 到 30 倍。
此外,TPU 非常節能,TOPS/Watt 值增加了 30 到 80 倍。
因此,在進行 TPU 與 GPU 速度比較時,可能性偏向張量處理單元。
TPU 是張量處理機器,旨在加速 Tensorflow 圖表運算。
在一塊板上,每個 TPU 可提供高達 64 GB 的高頻寬記憶體和 180 teraflops 的浮點效能。
Nvidia GPU 與 TPU 之間的比較如下所示。 Y 軸表示每秒的照片數量,而 X 軸表示各種型號。
以下是使用不同批次大小和每個Epoch 迭代的CPU 和GPU 的訓練時間:
加速器 | GPU (英偉達K80) | 熱塑性聚氨酯 |
#訓練準確率(%) | 96.5 | 94.1 |
驗證準確率(%) | 65.1 | 68.6 |
每次迭代的時間(毫秒) | 69 | 173 |
#30 | 72 | |
Iterations/epoch: 1000, Batch size: 100, Total epochs: 25, Parameters: 1.84 M, and Model type: Keras Mobilenet V1 (alpha 0.75) | ||
」加速器 | GPU (英偉達K80) | #熱塑性聚氨酯 |
訓練準確率(%) | 97.4 | #96.9 |
驗證準確率(%) | 45.2 | 45.3 |
每次迭代的時間(毫秒) | 185 | 252 |
從訓練時間可以看出,使用較小的批次大小,TPU 需要更長的訓練時間。但是,隨著批次大小的增加,TPU 效能更接近 GPU。
因此,在進行 TPU 與 GPU 訓練比較時,很大程度上與時期和批量大小有關。
憑藉 0.5 瓦/TOPS,單一 Edge TPU 每秒可以執行 4 兆次操作。有幾個變數會影響這轉化為應用程式效能的程度。
神經網路模型有不同的需求,整體輸出取決於 USB 加速器裝置的主機 USB 速度、CPU 和其他系統資源。
考慮到這一點,下圖比較了使用各種標準模型在 Edge TPU 上進行單一推理所花費的時間。當然,為了比較,所有運行的模型都是 TensorFlow Lite 版本。
請注意,上面的給定資料顯示了運行模型所需的時間。但是,它不包括處理輸入資料所需的時間,這因應用程式和系統而異。
將 GPU 基準測試的結果與使用者期望的遊戲品質設定和解析度進行比較。
基於對超過 70,000 個基準測試的評估,我們精心構建了複雜的演算法,以產生 90% 的遊戲性能可靠估計。
儘管顯示卡的表現因遊戲而異,但下面這張比較圖給出了一些顯示卡的廣泛評級指數。
他們有很大的價格差異。 TPU 的成本是 GPU 的五倍。這裡有些例子:
如果以最佳化成本為目標,那麼只有當TPU 訓練模型的速度是GPU 的5 倍時,您才應該選擇TPU。
TPU、GPU 和 CPU 之間的差異在於 CPU 是一種非特定用途的處理器,它處理電腦的所有運算、邏輯、輸入和輸出。
另一方面,GPU 是一個額外的處理器,用於改進圖形介面 (GI) 並進行高階活動。 TPU 是強大的特製處理器,用於執行使用特定框架(例如 TensorFlow)開發的專案。
我們將它們分類如下:
以上是TPU 與 GPU:實際場景下效能與速度的比較差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!