谷歌的自研晶片帝國
這兩天,AI再一次登上了各大媒體的頭條。 12月6日,Google官宣了全新的多模態大模型 Gemini,包含了三個版本,根據Google的基準測試結果,其中的 Gemini Ultra 版本在許多測試中都表現出了“最先進的性能”,甚至在大部分測試中完全擊敗了 OpenAI 的 GPT-4。
而在Gemini出盡了風頭的同時,Google還丟出了另一個重磅炸彈——全新的自研晶片TPU v5p,它也是迄今為止功能最強大的 TPU。
根據官方提供的數據,每個TPU v5p pod 在三維環形拓撲結構中,透過最高頻寬的晶片間互聯(ICI),以4,800 Gbps/chip 的速度將8,960 個晶片組合在一起,與TPU v4 相比, TPU v5p 的FLOPS 和高頻寬記憶體(HBM)分別提高了2 倍和3 倍。
除此之外,TPU v5p訓練大型 LLM 模型的速度比上一代 TPU v4 快 2.8 倍,利用第二代 SparseCores,TPU v5p 訓練嵌入密集模型的速度比 TPU v4 快 1.9 倍。 TPU v5p 在每個pod 的總可用FLOPs 方面的可擴展性也比TPU v4 高出4 倍,且每秒浮點運算次數(FLOPS)增加了一倍,單一pod 中的晶片數量也增加了一倍,大大提高了訓練速度的相對表現。
Google也找了一堆科學家為TPU v5p的AI效能背書:
Salesforce 資深研究科學家Erik Nijkamp表示:「我們一直在利用Google雲端TPU v5p對Salesforce的基礎模型進行預先訓練,這些模型將作為專業生產用例的核心引擎,我們看到訓練速度有了顯著提高。事實上, Cloud TPU v5p 的運算能力是上一代TPU v4 的2 倍之多。我們也非常喜歡使用JAX 從Cloud TPU v4 到v5p 的無縫輕鬆過渡。我們很高興能透過精確量化訓練(AQT)庫對INT8 精確格式的原生支援來優化我們的模型,從而進一步提高速度。”
Lightricks 核心生成式人工智慧研究團隊負責人Yoav HaCohen 博士表示:「利用Google雲TPU v5p 的卓越性能和充足內存,我們成功地訓練了文本到視頻的生成模型,而無需將其拆分成單獨的進程。這種最佳的硬體利用率大大加快了每個訓練週期,使我們能夠迅速開展一系列實驗。在每次實驗中快速訓練模型的能力促進了快速迭代,這是我們的研究團隊在競爭激烈的生成式人工智慧領域的寶貴優勢。”
Google DeepMind 和Google研究院首席科學家Jeff Dean也力挺自家晶片:「在早期使用中,GoogleDeepMind和Google研究院觀察到使用TPU v5p晶片的LLM訓練工作負載的速度比TPU v4代提高了2倍。對ML 框架(JAX、PyTorch、TensorFlow)和協調工具的強大支援使我們能夠在v5p 上更有效率地擴展。有了第二代SparseCores,我們也發現嵌入式工作負載的效能有了顯著提高。TPU 對於我們在Gemini 等前沿模型上開展最大規模的研究和工程工作至關重要。”
對Google來說,Gemini是應對Open AI的一柄利器,而TPU v5p則是一塊敲門磚,用它來壘起一道抵禦英偉達GPU的高牆,軟體硬體雙管齊下,似乎它在AI時代裡已處在不敗之地。
問題來了,Google憑什麼能擁有現在的優勢?
岌岌無名到名滿天下
GoogleTPU並非一蹴而就,它的自研旅途始於十年之前。
作為一家科技公司的Google,其實早在2006 年就考慮為神經網路建構專用積體電路(ASIC),但到了2013 年,情況變得緊迫了起來,Google的科學家們開始意識到,神經網路快速增長的計算需求與資料中心數量存在著不可協調的矛盾。
當時的Google AI負責人Jeff Dean經過計算後發現,如果有1億Android用戶每天使用手機語音轉文字服務3分鐘,其中消耗的算力就是Google所有資料中心總算力的兩倍,而全球Android用戶遠不止1億。
資料中心的規模不可能無限制地擴張下去,Google也不可能限制使用者使用服務的時間,但CPU和GPU都難以滿足Google的需求:CPU一次只能處理相對來說很少量的任務,GPU在執行單一任務時效率較低,而且所能處理的任務範圍更小,自研成了最後的出路。
Google立下了一個小目標:針對機器學習這個目的來建立特定領域運算架構(Domain-specific Architecture),還要將深度神經網路推理的總體擁有成本(TCO)降低至原來的十分之一。
通常,ASIC 的開發需要數年時間,但Google卻只花了 15 個月就完成了TPU處理器的設計、驗證、製造並部署到資料中心。 TPU 專案的技術負責人 Norm Jouppi(也是 MIPS 處理器的主要架構師之一)這樣描述衝刺階段:
「我們的晶片設計速度非常快。這確實非常了不起。我們在沒有修正錯誤或更改掩膜的情況下,就開始出貨第一個晶片。考慮到我們在建造晶片的同時還在招募團隊,然後招募RTL(電路設計)人員,並急於招聘設計驗證人員,這一切都非常忙碌。”
代表Google技術結晶的初代TPU 採用了28 奈米製程製造,運行頻率為700MHz,運行時功耗為40W,Google將處理器包裝成外置加速卡,安裝在SATA 硬碟插槽中,實現即插即用。 TPU 透過 PCIe Gen3 x16 匯流排與主機連接,可提供 12.5GB/s 的有效頻寬。
與CPU 和GPU 相比,單執行緒TPU 不具備任何複雜的微架構功能,極簡主義是特定領域處理器的優點,Google的TPU一次只能執行一項任務:神經網路預測,但每瓦效能卻達到了GPU的30倍,CPU的80倍。
Google在這件事上表現得非常低調,直到2016年的Google I/O開發者大會上,執行長Sundar Pichai才正式向世界展示了TPU這項自研成果。
Pichai對參加的嘉賓表示,DeepMind研發的AlphaGo能夠擊敗韓國棋手李世石,底層硬體裡的TPU功不可沒,TPU就像希臘神話中引發特洛伊戰爭的女人——海倫,它的出現引起了「成千晶片與之競逐」。
但Google並未止步於此,幾乎是在第一代TPU完成後,就立刻投入到了下一代的開發當中:2017年,TPU v2問世;2018年,TPU v3推出;2021年,TPU v4在Google I /O開發者大會上亮相…
而Google對於AI晶片也愈發得心應手:第一代TPU 僅支援8 位元整數運算,這意味著它能進行推理,但訓練卻遙不可及;而TPU v2,不僅引入了HBM內存,還支援了浮點運算,從而支援了機器模型的訓練和推理;TPU v3則在前一代基礎上,重點加強了性能,且部署在Pod 中的晶片數量翻四倍。
到了TPU v4,Pichai更是驕傲地表示:「AI技術的進步有賴於運算基礎設施的支持,而TPU正是Google運算基礎設施的重要部分。新一代TPU v4晶片的速度是v3的兩倍多。 Google以TPU叢集建構出Pod超級計算機,單一TPU v4 Pod包含4096塊v4晶片,每台Pod的晶片間互連頻寬是其他互連技術的10倍,因此,TPU v4 Pod的算力可達1 ExaFLOP,即每秒執行10的18次方浮點運算,相當於1000萬台筆記型電腦的總算力。”
到了2023年的今天,TPU已經成為了AI晶片的代名詞之一,成為了繼CPU和GPU後又一重要的處理器,它部署在Google數十座資料中心當中,每天完成著數以億計的AI運算任務。
谷歌的自研帝國
TPU只是Google自研的序幕。
2017年的Google Cloud Next ’17 大會上,Google推出了名為Titan的客製化安全晶片,它專為硬體層級的雲端安全而設計,透過為特定硬體建立加密身份,實現更安全的識別和身份驗證,從而防範日益猖獗的BIOS攻擊。
Titan晶片面向的並不全是Google自己,它的出現是為了說服企業,資料存在Google雲中比企業的本地資料中心更安全,Google表示,自研的Titan晶片透過建立強大的基於硬體的系統身份,來驗證系統韌體和軟體組件,保護啟動的過程,這一切得益於Google自己創建的硬體邏輯,從根本上減少了硬體後門的可能性,基於Titan的生態系統也確保了設施僅使用授權且可驗證的程式碼,最終讓Google雲端擁有了比本地資料中心更安全的可靠性。
Titan的出現,只不過是小試牛刀,2021年3月,Google在ASPLOS 會議上首次介紹了一塊應用於YouTube伺服器的自研芯片,即Argos VCU,它的任務很簡單,就是對用戶上傳的視頻進行轉碼。
根據數據統計,用戶每分鐘會向YouTube上傳超過500小時的各種格式的影片內容,而Google則需要將這些內容快速轉換成多種解析度(包括144p、240p、360p、480p、720p、1080p、 1440p、2160p和4320p)和各種格式(例如,H.264、VP9或AV1),沒有一塊具備強大的編碼能力的晶片,想要快速轉碼就是一件不可能的事情。
Google嘗試過兩種解決方案,第一種是英特爾的視覺計算加速器(VCA),包含三個Xeon E3 CPU,內建Iris Pro P6300/P580GT4e 整合式圖形核心和先進的硬體編碼器,第二種則是利用英特爾至強處理器外加軟體編碼來完成任務。
但不論是前者還是後者,都需要龐大的伺服器規模和龐大的電力損耗,於是,Google開啟了另一塊自研晶片——VCU的研發。負責監督YouTube 龐大基礎設施的Google 工程副總裁 Scott Silver 表示,從2015年開始,大約有100 名Google 工程師組成的團隊投身設計第一代Argos 晶片,在此後幾年當中,這支團隊不僅完成了研發,還讓晶片應用在Google的資料中心當中,而Argos的實力也得以展現——它處理視頻的效率比傳統伺服器高20 到33 倍,處理高分辨率4K 視頻的時間由幾天縮短為數小時。
下一代Argos或許早已悄悄在Google伺服器中上線了,根據報道,Google自研的第二代VCU將支援AV1、H.264 和VP9 編解碼器,可以進一步提高其編碼技術的效率,也將會是YouTube內容創作生態的最強支撐。
而Google最強的大招還得是最複雜的手機SoC。 2021年10月19日,一場秋季發表會上,搭載Google首款自研晶片 Tensor 的旗艦手機 Pixel 6 系列首次亮相。
Google高級副總裁Rick Osterloh 在發布會上表示,這款晶片是“公司歷史上最大的行動硬體創新”,而GoogleCEO Sundar Pichai更是早早地在Twitter上曬出了Tensor晶片的照片,對於自研項目的自豪感溢於言表。
不過這塊自研晶片,實質上是基於三星在2020年開放的半客製化晶片設計的服務,在TechInsights的拆解圖中,Tensor的封裝尺寸為10.38mm x 10.43mm = 108.26mm 2,內部晶片標識為“S5P9845”,符合傳統三星Exynos處理器命名規則,如Exynos 990的晶片標識為S5E9830,Exynos 2100 5G SoC晶片標識為S5E9840,本質上是Google定義,三星設計代工的一塊晶片。
即便如此,Google的自研晶片的佈局也已初具雛形,從TPU到Titan,從VCU到Tensor,Google走過了十年的旅程,而它試圖全盤掌握這個矽片組成帝國的野心也昭然若揭。
谷歌的聰明帳與絆腳石
對Google來說,要錢有錢,要技術有技術,要應用場景有應用場景,可以說是各大科技巨頭中在自研AI晶片這條路上走得最遠的,其他廠商目前還在源源不斷地為英偉達帳戶付錢,但Google卻早已做好了兩手準備,不少人甚至將它視為如今英偉達壟斷局面的最強挑戰者。
與微軟和亞馬遜相比,Google最突出的優勢,就是從系統級的角度設計TPU,單一晶片固然重要,但在現實世界中如何在系統中組合使用則更為重要。雖然英偉達也從系統角度思考問題,但他們的系統規模比Google更小,範圍也更窄。而且Google也在 TPU 之間使用了客製化的網路堆疊 ICI。與昂貴的乙太網路和 InfiniBand 部署相比,這種連結延遲低、效能高,類似於英偉達的 NVLink。
事實上,Google的 TPUv2 可以擴展到 256 個 TPU 晶片,與英偉達的 H100 GPU 數量相同。在 TPU v3 和 TPU v4 中,這一數字分別增加到了 1024 和 4096個。根據趨勢線,而最新的 TPU v5p 則可以擴展到 8960 個晶片,而無需通過低效率的乙太網路。
此外,Google在OCS、拓撲結構、DLRM 優化上也具有獨到的優勢,十年來積攢的經驗優勢幫助Google的TPU在資料中心里和AI大模型中大展身手,在具體應用中,用遙遙領先來形容也不過分,未來Google完全擺脫英偉達GPU的掣肘,也並非不可能。
不過,Google還有一個不大不小的絆腳石。
TPU的自研始於2013年,能在15個月裡快速部署到資料中心,同時實現快速迭代效能激增,除了夜以繼日的Google研究人員外,另外一家公司提供的幫助也極為重要。
根據2020年摩根大通分析師哈蘭·蘇爾的報告,GoogleTPU v1至v4這幾代均是由博通共同設計的,當時它已經開始生產採用7nm 製程的TPU v4,並開始與Google合作設計採用5nm製程的TPU v5
蘇爾表示,博通的專用積體電路(ASIC)業務2020全年營收為7.5 億美元,高於2016 年的5,000 萬美元,除了晶片設計之外,博通還為Google提供了關鍵的智慧財產權,並負責了製造、測試和封裝新晶片等步驟,以供應Google的新資料中心,博通也與其他客戶如Facebook、微軟和AT&T等公司合作設計ASIC晶片。
而根據2022年博通的財報,其將 ASIC 收入分為兩部分:路由與交換以及計算卸載。計算卸載在資料中心內分兩步驟處理。當提出計算請求時,路由器和交換機會決定由資料中心的哪個部分來處理這項工作。一旦決定,處理器(通常是 CPU 或 GPU,如 NVIDIA 設計的處理器)就會進行運算,然後由這些路由器和交換器再次透過互聯網或專用網路發送回最終用戶。
就營收而言,博通是全球第二大人工智慧晶片公司,僅次於英偉達,其ASIC的銷售額達數十億美元,而這正是Google為響應微軟與OpenAI 合作而加大TPU 部署的結果,光是一家Google的TPU就讓博通的ASIC收入翻了兩番還多,Google沒交給英偉達的人工智慧稅,以另一種形式進了博通的口袋。
無論是哪家公司,都不會心甘情願繼續交這筆錢的,因而在今年9月就傳出了Google準備在2027年前結束與博通的合作關係,消息人士稱,Google高管已經設定了放棄博通的目標,轉而開始考慮起了它的競爭對手Marvell,此前兩家公司就TPU 晶片的定價問題陷入了長達數月的僵局。
雖然後面Google官方又出來闢謠,表示目前沒有計劃改變與博通的合作關係,但私底下兩家不合已經是人盡皆知的事情了。
Google在TPU上算了一筆聰明帳,在微軟等巨頭乖乖交錢的時候,它掏出了TPU v5p來對抗英偉達,但它沒想到的是,幾年前還不起眼的ASIC合作,如今卻成了TPU發展路上最大的絆腳石,只要擴大TPU的部署規模,就得不斷加錢給博通。
如此想來,巨頭們真的是躲得過初一,躲不過十五,躲過了英偉達GPU高達70%的利潤,卻躲不過像博通這樣的合作公司,微軟這些巨頭,想要在AI晶片上省錢,今後難免會遇到像Google今日一般的困局吧。