現今,Google許多服務,幾乎都跟AI有關,舉凡是搜尋、地圖、照片和翻譯等等,這些AI應用服務,在訓練學習和推論過程中,都使用到了Google的TPU。Google很早就在數據中心內大量部署TPU,用于加速AI模型訓練和推論部署使用,甚至不只自用,后來更當作云端運算服務或提供第三方使用,還將它變成產品銷售。
在今年線上臺灣人工智慧年會上,Google研究部門軟件工程師Cliff Young擔任第一天的主題演講,Cliff Young不只是Google Brain團隊核心成員,更是Google TPU晶片主要設計者,一手設計和打造TPU,部署到Google數據中心內,作為AI硬件加速器,用于各種AI模型訓練或推論。在加入Google前,他曾在DE Shaw Research和貝爾實驗室,負責設計和建造實驗室超級電腦。在整場演講中,他不只親自揭露Google決定自行開發TPU的過程,針對深度學習革命對于未來AI發展影響,也提出他的最新觀察。
Cliff Young表示,深度學習神經網路技術自2009年開始在語音辨識大放異彩以來,幾乎每年在不同領域應用上,我們都能看到因為深度學習而有了突破性的發展,從AI影像識別、Al下棋、到Al視網膜病變判讀、語文翻譯、機器人揀貨等等,「這是我們以前從未想過的事。」
正因為,深度學習的出現,讓人類在不同領域執行任務的方式產生重大變化,他也以美國知名科學哲學家Thomas Kuhn提出的科學革命的發展模式來形容,深度學習本身就是一種科學革命的典范轉移,不只是常態科學。
Thomas Kuhn在《科學革命的結構》一書中提出兩種科學發展模式,第一種是常態科學的模式,透過實驗和證明來理解新事實的方法,當出現舊科學無法認同的新科學產生時,就會產生新舊科學之間的沖突,衍生發展出另一種模式,也就是第二種的科學革命的模式,在此模式下,新科學模式將徹底顛覆舊科學的作法。「我認為深度學習革命就是這樣一種轉變, 正在取代傳統電腦科學。」Cliff Young說道。
更進一步來說,他指出,深度學習是一種數據驅動的決策過程,不同于傳統的stored value 或啟發式(heuristic)決策方法,深度學習算法使用可觀測的數據,來提供人類建立更好地決策的方式,比如運用在使用者推薦,可以根據使用者輪廓或網路行為,來推薦適合的產品或給出最佳搜索結果。
但他也坦言,不像數學原理可以被解釋,深度學習模型運作原理目前仍難以解釋,也因此,科學家無法從這些為何可行的原因中,找到提高效率的更好的作法。但如果想完全理解和解釋深度學習運作原理,依照過往工業革命的發展經驗,得等到合成神經動力學的出現后,才有機會得到解釋,動輒可能耗費數十年之久,所以,他也說:「從事深度學習研究,比起問why,how更重要。」
Cliff Young回顧機器學習革命過程,可以2012年的AlexNet神經網路架構作為分水嶺,由Alex Krizhesky等人提出的AlexNet運用GPU建立的深度學習模型,以85%準確度刷新世界記錄,在當年ImageNet圖像分類競賽中一舉奪冠。
這項競賽后來也引起Google的高度關注,認為深度學習技術大有可為,便開始投入研究。但他們投入后發現,深度學習模型在圖像識別和分類的成效表現,高度仰賴GPU的浮點運算能力,需要消耗大量運算資源供AI模型做學習訓練,因模型訓練運用GPU衍生出的運算成本十分昂貴。所以,Google才毅然決定自行開發深度學習專用的處理器晶片,也就是TPU(Tensor processing unit)。
在投入深度學習研究3年后,2015年時,Google開發出第一代TPU處理器,開始部署到自家的數據中心,用于深度學習的模型訓練。
Google在2016年Google I/O大會首次揭露TPU,與當時的CPU與GPU相比,Google的TPU不僅能提供高出30~100倍的每秒浮點運算性能,在整體運算效能上也有多達15到30倍的提升,甚至在效能/功耗比獲得有將近30~80倍的改善,Cliff Young表示,TPU很可能是當時世上第一個實現以高記憶體容量的矩陣架構設計完成的處理器。
當年,Google擊敗韓國棋王李世石的AI電腦圍棋程式AlphaGo,背后功臣就是使用TPU運算的伺服器機柜,Google Deepmind團隊在AlphaGo中采用48個TPU用于AlphaGo的AI下棋推論, 與人類進行棋力比賽。
到目前為止,Google TPU一共歷經4代發展演進,從初代TPU僅能應用于推論,到第二代TPU開始加入深度學習模型訓練處理能力,對于網路吞吐量需求增高,而隨著運算能力的提升,考慮到散熱問題,所以新一代TPU開始在散熱機制上結合液冷設計,也就是第3代TPU,也因此增加TPU密度,到了最新第4代TPU,則推出無液冷的TPU v4i和采用分散式液冷的TPU v4兩種不同版本。
這幾年,深度學習硬件加速器越來越火紅,Cliff Young認為,在AI訓練和推論硬件發展上將出現轉變。他預測,未來推論硬件設計上將更具多樣性,來發展出不同推理解決方案,來對應不同場景的使用需求,從微瓦的超低功耗,到高效能運算HPC以及超級電腦應用。
另在AI訓練硬件方面, 他表示,融合式硬件架構將成為發展主流,尤其現在不少新推出的AI訓練硬件,都有不少相似之處,像是在設計高密度運算晶片Die時,會采用HBM(高頻寬記憶體)整合設計,還有建立高效能互連網路,用于傳輸訓練數據,如TPU就有使用ICI(Inter-Core Interconnect)來與其他TPU高速互連,其他還有如Nvidia的NVLink高速互連介面等。雖然這些技術,都來自不同團隊,但他們都有個共通之處,就是在研究共同問題想辦法找答案,他表示,透過這些技術融合,有機會可以找到好的解決方案。
Google數據中心內目前部署了許多TPU Pod
另一方面,他也觀察到,近幾年,全球AI競賽進到白熱化階段,雖然加速深度學習在自然語言模型的突飛猛進,但也使得需要訓練的AI模型越來越龐大,像是為了完成使用1,750億個神經參數的GPT-3文字產生器模型的訓練,OpenAI使用1萬個GPU建立運算叢集,以petaflops算力花了3,640天來訓練該模型。
為了訓練出像GPT-3這樣的超大AI模型,Google也以多個TPU互連建立TPU Pod叢集,來打造超級電腦叢集,放在自己的數據中心內加速AI模型的訓練。過去幾年Google TPU Pod也從一開始256個TPU、增加到1,024個,到現在一個Pod擁有多達4,096個運算節點。以上圖在Google數據中心使用的TPU Pod為例,分上下二層建立TPU Pod叢集,每層配置多臺機架式機柜,每臺機柜中安裝了數十個TPU,包括TPU v2與TPU v3,再透過網路線來與其他TPU高速互連。
但想要跟上深度學習發展腳步,Cliff Young認為,不能僅靠加大訓練用的運算機器,現有的軟硬件架構設計也得跟著轉變才行,他提出materials -application codesign協同設計的概念,認為未來深度學習架構設計,需要結合包含從物理到應用所有層面的協同設計,他認為這是打破摩爾定律瓶頸,找到深度學習發展新出路的方法。
他進一步說明,在傳統協同設計中,硬件和軟件之間僅靠一層單薄的ISA指令集架構作為聯系溝通,但在以DSA(Domain-specific Architecture)專用領域架構為主的協同設計中,則由包含許多不同軟件層,架構層,以及不同介面組合而成。其中軟件層方面,包括函式庫、編譯器、應用程式、模型、演算法、Numerics等,硬件架構方面包括物理設計、半導體材料、架構及微架構等。這些軟硬件協同設計,未來可以運用到深度學習架構設計優化上,像是在記憶體技術中,能大幅降低模型訓練過程對于位元(bits)覆寫使用,以及加入采用較慢的記憶體讀取速度的設計等。