來源:雷鋒網 昨日,,谷歌資深硬件工程師 Norman Jouppi 刊文表示,谷歌的專用機器學習芯片 TPU 處理速度要比 GPU 和 CPU 快 15-30 倍(和 TPU 對比的是英特爾 Haswell CPU 以及 Nvidia Tesla K80 GPU),,而在能效上,,TPU 更是提升了 30 到 80 倍。 從這次發(fā)布的測試結果來看,,TPU 似乎已經超出了業(yè)界的預期,,但是藏在這一芯片背后的內部架構究竟有什么秘密呢,我們從 Jouppi 此前發(fā)布的論文當中,,可以找到答案,。 據(jù)雷鋒網了解,早在四年前,,谷歌內部就開始使用消耗大量計算資源的深度學習模型,,這對 CPU、GPU 組合而言是一個巨大的挑戰(zhàn),,谷歌深知如果基于現(xiàn)有硬件,,他們將不得不將數(shù)據(jù)中心數(shù)量翻一番來支持這些復雜的計算任務。 所以谷歌開始研發(fā)一種新的架構,,Jouppi 稱之為 “下一個平臺”,。Jouppi 曾是 MIPS 處理器的首席架構師之一,他開創(chuàng)了內存系統(tǒng)中的新技術,。三年前他加入谷歌的時候,,公司上下正在用 CPU、GPU 混合架構上來進行深度學習的訓練,。 Jouppi 表示,,谷歌的硬件工程團隊在轉向定制 ASIC 之前,早期還曾用 FPGA 來解決廉價,、高效和高性能推理的問題,。但他指出,,F(xiàn)PGA 的性能和每瓦性能相比 ASIC 都有很大的差距。 他解釋說,,“TPU 可以像 CPU 或 GPU 一樣可編程,,它可以在不同的網絡(卷積神經網絡,LSTM 模型和大規(guī)模完全連接的模型)上執(zhí)行 CISC 指令,,而不是為某個專用的神經網絡模型設計的,。一言以蔽之,,TPU 兼具了 CPU 和 ASIC 的有點,,它不僅是可編程的,而且比 CPU,、GPU 和 FPGA 擁有更高的效率和更低的能耗,。 TPU 的內部架構該圖顯示了 TPU 上的內部結構,除了外掛的 DDR3 內存,,左側是主機界面,。指令從主機發(fā)送到隊列中(沒有循環(huán))。這些激活控制邏輯可以根據(jù)指令多次運行相同的指令,。 TPU 并非一款復雜的硬件,,它看起來像是雷達應用的信號處理引擎,而不是標準的 X86 衍生架構,。Jouppi 說,,盡管它有眾多的矩陣乘法單元,但是它 GPU 更精于浮點單元的協(xié)處理,。另外,,需要注意的是,TPU 沒有任何存儲的程序,,它可以直接從主機發(fā)送指令,。 TPU 上的 DRAM 作為一個單元并行運行,因為需要獲取更多的權重以饋送到矩陣乘法單元(算下來,,吞吐量達到了 64,000),。Jouppi 并沒有提到是他們是如何縮放(systolic)數(shù)據(jù)流的,但他表示,,使用主機軟件加速器都將成為瓶頸,。 256×256 陣列縮放數(shù)據(jù)流引擎,經過矩陣乘法積累后實現(xiàn)非線性輸出 從第二張圖片可以看出,,TPU 有兩個內存單元,,以及一個用于模型中參數(shù)的外部 DDR3 DRAM。參數(shù)進來后,,可從頂部加載到矩陣乘法單元中,。同時,,可以從左邊加載激活(或從 “神經元” 輸出)。那些以收縮的方式進入矩陣單元以產生矩陣乘法,,它可以在每個周期中進行 64,000 次累加,。 毋庸置疑,谷歌可能使用了一些新的技巧和技術來加快 TPU 的性能和效率,。例如,,使用高帶寬內存或混合 3D 內存。然而,,谷歌的問題在于保持分布式硬件的一致性,。 TPU 對比 Haswell 處理器在和英特爾 “Haswell”Xeon E5 v3 處理器來的對比中,我們可以看到,,TPU 各方面的表現(xiàn)都要強于前者,。 在 Google 的測試中,使用 64 位浮點數(shù)學運算器的 18 核心運行在 2.3 GHz 的 Haswell Xeon E5-2699 v3 處理器能夠處理每秒 1.3 TOPS 的運算,,并提供 51GB / 秒的內存帶寬,;Haswell 芯片功耗為 145 瓦,其系統(tǒng)(擁有 256 GB 內存)滿載時消耗 455 瓦特,。 相比之下,,TPU 使用 8 位整數(shù)數(shù)學運算器,擁有 256GB 的主機內存以及 32GB 的內存,,能夠實現(xiàn) 34GB / 秒的內存帶寬,,處理速度高達 92 TOPS ,這比 Haswell 提升了 71 倍,,此外,,TPU 服務器的熱功率只有 384 瓦。 除此之外,,谷歌還測試了 CPU,、GPU 和 TPU 處理不同批量大小的每秒推斷的吞吐量。 如上圖所示,,在小批量任務中(16),,Haswell CPU 的響應時間接近 7 毫秒,其每秒提供 5482 次推斷(IPS),,其可以實現(xiàn)的最大批量任務(64)每秒則可以完成 13194 次推斷,,但其響應時間為 21.3 毫秒。 相比之下,,TPU 可以做到批量大小為 200,,而響應時間低于 7 毫秒,并提供 225000 個 IPS 運行推理基準,,是其峰值性能的 80%,,當批量大小為 250,,響應時間為 10 毫秒。 不過需要注意的是,,谷歌所測試的 Haswell Xeon 處理器似乎也不能完全說明問題,,英特爾 Broadwell Xeon E5 v4 處理器和最新的 “Skylake”Xeon E5,每核心時鐘(IPC)的指令比這款處理器提升了約 5%,。在 Skylake 是 28 核,,而 Haswell 為 18 核,所以 Xeon 的總體吞吐量可能會上升 80%,。當然,,這樣的提升與 TPU 相比仍有差距。 最后雷鋒網需要強調的是,,TPU 是一個推理芯片,,它并非是要取代 GPU,,可以確定的是,,TPU 與 CPU 一起使用對訓練分析更加有益。但對于 CPU 制造商而言,,如何研發(fā)出像 ASIC 一樣兼顧性能和能效的芯片是現(xiàn)在以及未來要做的,。 可以確定的是,谷歌已經逐漸在自己的數(shù)據(jù)中心部署TPU,,但是上述測試數(shù)據(jù)只是理論結果,,實際應用表現(xiàn)如何?我們還不得而知,。歡迎大家在文末留言,,談談你對谷歌 TPU 的看法。
|
|