硬科技:一窺Google TPU全貌 見證雲端霸主在AI的發展

2018.01.23 12:41PM
2471

近一年來,隨著古老的類神經網路以「機械學習」之名再度受到重視,拜在過去一直被視為「機器永遠不可能打敗人類」的圍棋世界,AlphaGo痛宰世界頂尖職業棋士的豐功偉業之所賜,「人工智慧晶片」成為處理器領域的新顯學,不僅現有市場巨頭爭先恐後的搶著「沾光」,更不乏紛紛投入研發工作的新創公司與學術機構,也引爆了一連串不同類型的晶片,如汎用處理器、GPU、高度可程式化的FPG、與ASIC,何種最適合人工智慧應用的雞同鴨講嘴砲戰。

但有那個實力在最短時間內「真槍實彈」的大規模應用,為客戶提供價值,為企業創造利潤,才是真正的硬道理,這也就是為何經常不動聲色、鴨子划水、但一出手,就絕對保證「轟動武林,驚動萬教」的雲端巨人Google,其TPU (Tensor Processing Unit) 如此受到重視的主因。

目前網路上早已不乏滿山滿谷「淺談」邁入第二世代Google TPU的「科技文青報導」,但如果各位科科會對這些內容感到心滿意足,自以為洞悉Google關門打造人工智慧晶片的全貌,那大概也不會爬文爬到這裡了。

一張簡單的規格比較,就足以取代不著邊際的千言萬語。請多看幾次,我會等你。

Google自行設計的TPU之所以受到高度重視的原因也很簡單:這世界上大概也沒有其他公司和組織,比他們更加了解資料中心對人工智慧的實際需求了,所以量身訂做後的晶片當然特別的合身。究竟有多穠纖合度?已經無須浪費文字來解釋了。

但只這樣一句話就草草結束本文,想必各位科科絕對不會滿意,就言簡意賅的介紹幾個TPU技術的精髓,特別是如何兼顧成本、效能和功耗的刀口上。

  • 極力塞好塞滿執行單元:記憶體子系統跟不上運算效能,在計算機工業歷史早已成為常態,快取記憶體 (cache) 更早就問世於「半個世紀前」剛剛好就是1968年1月的IBM S/360 Model 85大型主機,Google勢必要琢磨出不讓TPU空轉的運算架構。
  • 更低的運算精度:推論與預測並不需要很高的運算精確度,這也是為何NVIDIAAMDIntel在其「人工智慧晶片」逐步強化短整數支援性的主因。Google初代TPU僅支援8位元整數,大幅簡化運算單元的複雜度,並減少記憶體消耗和資料儲存空間。即使是因學習導向不得不轉向浮點運算的第二代TPU,也是在浮點乘法「偷吃步」。
  • 古老的脈動陣列 (Systolic Array):講的簡單一點,就是將相同的運算單元「串串樂」,原本需要反覆執行並存取記憶體的運算工作,就一次搞定,減少早已跟不上運算速度的I/O操作與記憶體存取,雖然應用範圍受限,但卻極度適合矩陣乘法和普及於特徵辨識的卷積運算 (Convolutional Neural Network,CNN),同時讓「控制」和「運算」管線化,所以處理器控制單元僅佔第一代TPU 2%晶片面積,對降低晶片設計複雜度頗具立竿見影之效。
  • 高容量嵌入式記憶體:第一代TPU總計塞入了高達28MB的記憶體,減少對外部DRAM的存取需求。

Google尚未揭露其「很像GPU」的第二代TPU技術細節,但想必其設計精神勢必相去不遠,而我們也見證了雲端霸主在人工智慧領域,從CPU、GPU、FPGA一路到自製ASIC的發展軌跡。 唯一可以確定的是,早在「四年多前」就準備研發自家人工智慧晶片的Google,其高瞻遠矚的能耐,讓其他晶片廠商和網路雲端服務業者完全看不到車尾燈。Google I/O 2018曝光其第三代TPU,也完全不會讓人感到意外,只是我們還是會繼續一如往昔的看到排山倒海的科技文青們繼續「驚呆」吧,科科。

回應 1

1 則回應