預測AI的未來趨勢谷歌的雙子座將徹底完勝 GPT-4

Author Avatar

葉孝明

Joined: Feb 2022

與 Google 相比每個人都看起來都是GPU 貧民

來源: SEMIANALYIS

the google logo is displayed on the side of a building
照片來源: Unsplash

在 Covid 之前,谷歌發佈了 MEENA 模型,該模型在一段短時間內是世界上最好的大型語言模型。谷歌寫的博客和論文非常可愛,因為它專門與OpenAI進行了比較。

與現有的最先進的生成模型 OpenAI GPT-2 相比,Meena 的模型容量提高了 1.7 倍,並且訓練的數據增加了 8.5 倍。

該模型需要超過 GPT-14 的 FLOPS 來訓練,但這在很大程度上無關緊要,因為僅僅幾個月後 OpenAI 就放棄了 GPT-3,這增加了 >65 倍的參數和> 60 倍的代幣數量,>4,000 倍的 FLOPS。這兩種模型之間的性能差異是巨大的。

MEENA模型引發了Noam Shazeer撰寫的內部備忘錄,標題為“MEENA Eats The World”。在這份備忘錄中,他預測了ChatGPT發佈後世界驚醒來引發的事件。關鍵的一點是,語言模型將以各種方式融入我們的生活,並且將主導全球部署FLOPS。諾姆寫這篇文章時遠遠領先於他的時代,但它大多被關鍵決策者忽視甚至嘲笑。

讓我們繼續分析,看看諾姆真的領先於他的時代有多遠。他是製作原始轉換器論文“注意力是你所需要的一切”的團隊的一員。他還是第一篇現代專家混合論文、開關轉換、圖像轉換以及 LaMDA 和 PaLM 的各種元素的一部分 2018 年他尚未獲得更廣泛的讚譽的一個想法是”推測性解碼”,我們在關於 GPT-4 的獨家講述中詳細介紹了這個想法。推測性解碼將推理成本降低了數倍。

這裏的重點是谷歌擁有AI領域的所有鑰匙,但他們摸索了這個袋子。這句話對每個人都是顯而易見的。

可能不明顯的聲明是,沉睡的巨人谷歌已經醒來,他們正在增強運算的速度,將在年底前FLOPS將總

體訓練規模超越  GTP-4 的 5 倍。鑒於他們目前的基礎設施建設,到明年年底,整體趨勢明確到20倍。谷歌是否有胃口公開推出這些模式,而不閹割他們的創造力或現有的商業模式,這是另外一個議題。

谷歌對雙子座的訓練系統,雙子座模型的倍增的運算速度,谷歌的 Viperfish(TPUv5)坡道,谷歌與其他先鋒實驗室的競爭力,以及我們稱之為 GPU 貧民的人群。

GPU 富人

對電腦的資源掌控是雙峰分佈。有少數公司擁有 20k+ A/H100 GPU,個別研究人員可以使用 100 或 1,000 個 GPU 用於寵物專案。其中最主要的是 OpenAI,Google,Anthropic,Inflection,X 和 Meta 的研究人員,他們將擁有最高的計算資源與研究人員的比例。上述幾家公司以及多家中國公司將在明年年底前達到 100k+,儘管我們不確定中國研究人員的比例,只有 GPU 數量。

我們在舊金山灣區看到的最有趣的趨勢之一是頂級ML研究人員吹噓他們擁有或即將可使用多少GPU。事實上,在過去的4個月,這已經變得隨處可見,以至於它已經成為一場直接影響頂級研究人員決定使用誰的資源的測量競賽。Meta 將擁有世界上第二 多 的 H100 GPU,它正在積極將其用作招聘策略。

圖形用戶介面貧乏

然後是一大堆新創公司和開源研究人員,他們正在努力使用更少的GPU。他們花費了大量的時間和精力試圖做一些根本無濟於事的事情,或者坦率地說,無關緊要的事情。例如,許多研究人員花費了無數個小時來微調沒有足夠VRAM的GPU模型。這是對他們的技能和時間的極其適得其反的利用。

這些初創公司和開源研究人員正在使用較大的LLM來微調排行榜風格基準的較小模型,這些模型具有破碎的評估方法,這些方法更強調風格而不是準確性或實用性。他們通常不知道預訓練數據集和 IFT 數據需要明顯更大/更高的品質,以便較小的開放模型在實際工作負載中得到改進。

是的,使用 GPU 的效率非常重要,但在很多方面,GPU 窮人忽略了這一點。他們不關心大規模效率,他們的時間也沒有花在富有成效上。在他們的 GPU 貧乏環境中可以做的商業工作與一個到明年年底將被超過 350 萬 H100 淹沒的世界無關。對於學習、實驗,較小的弱遊戲 GPU 就可以了。

GPU窮人仍然主要使用密集模型,因為這就是Meta在LLAMA系列模型中優雅地放在他們腿上的東西。如果沒有上帝的祖柏克恩典,大多數開源項目的情況會更糟。如果他們真的關心效率,特別是在用戶端,他們將運行像MoE這樣的稀疏模型架構,在這些更大的數據集上進行訓練,並實現像Frontier LLM實驗室(OpenAI,Anthropic,Google Deepmind)這樣的推測解碼。

失敗者應該專注於通過提高計算和記憶體容量要求來提高模型性能或令牌(Token)到令牌延遲的權衡,以支援減少記憶體頻寬,因為這是先鋒計算(Edge computing)所需要的。他們應該專注於在共用基礎設施上高效提供多個微調模型,而無需支付小批量的可怕成本損失。相反,他們不斷關注記憶體容量限制或量化太遠,同時無視實際品質的下降。

為了稍微切線一點,一般來說,模型評估被打破了。雖然在封閉的世界中付出許多努力來改善這一點,但對於開放基準的世界毫無意義,幾乎沒有任何有用的措施。出於某種原因,人們對LLM的排行榜化有一種不健康的癡迷,合併無用的模型(WizardVicunaUncensoredXPlusPlatypus)使用愚蠢的名字。希望開放工作能夠轉向評估、推測解碼、教育部、開放 IFT 數據以及擁有超過 10 萬億個代幣的清理預訓練數據集,否則,開源就無法與商業巨頭競爭。

雖然美國和中國將能夠繼續領先,但歐洲初創公司和政府支持的超級電腦(如儒勒·凡爾納)也完全沒有競爭力。歐洲將在這場競賽中落後,因為缺乏進行大筆投資的能力並選擇保持GPU貧乏。甚至多個中東國家也在加大投資,為人工智慧提供大規模基礎設施。

不過,GPU貧乏不僅限於鬥志昂揚的新創公司。一些最知名的人工智慧公司, HuggingFace,Databricks(MosaicML)和 Together 也是這個GPU貧乏群體的一部分。事實上,就每個GPU的世界級研究人員數量和GPU數量與雄心/潛在客戶需求而言,他們可能是GPU最差的群體。他們擁有世界一流的研究人員,但他們都受到能力低幾個數量級的系統的限制。這些公司從企業那裡獲得了大量資金,用於培訓真實模型,並且有數千台H100,但這還不足以搶佔大部分市場。

NVIDIA正在用其DGX雲服務和各種內部超級電腦中的GPU數量數倍。Nvidia 的 DGX Cloud 提供預訓練模型、數據處理框架、向量資料庫和個人化、優化的推理引擎、API 以及 NVIDIA 專家的支援,以説明企業針對其自定義用例調整模型。該服務也已經吸引了來自SaaS,保險,製造,製藥,生產力軟體和汽車等垂直行業的多家大型企業。雖然並非所有客戶都公佈了,但即使是Amgen,Adobe,CCC,ServiceNow,Accenture,AstraZeneca,Getty Images,Shutterstock,Morningstar,Evozyne,Insilico Medicine,Quantiphi,InstaDeep,Oxford Nanopore,Peptone,Relation Therapeutics,ALCHEMAB Therapeutics和Runway的公開名單也令人印象深刻。 

這是一個比其他玩家更長的名單,NVIDIA 還有許多其他未公開的合作夥伴關係。需要明確的是,這些宣佈的 NVIDIA DGX雲服務客戶的收入尚不清楚,但考慮到NVIDIA 的雲端服務支出和內部超級電腦建設的規模,似乎可以從NVIDIA的雲購買更多的服務,而不是 HuggingFace,Together和Databricks希望提供的總和。

HuggingFace和Together 共同籌集的幾億意味著他們將保持 GPU 貧乏,因為他們將無法訓練可以作為客戶微調基礎的 N-1 LLM。這意味著他們最終將無法在今天只能訪問英偉達服務的企業中佔據高份額。

特別是HuggingFace擁有業內最大的品牌之一,他們需要利用這一點來投入大量資金並構建更多的模型,客製和推理功能。他們最近的一輪融資估值過高,無法獲得競爭所需的投資。HuggingFace的排行榜顯示了他們是多麼盲目,因為他們通過欺騙開源運動來創建一堆對實際使用無用的模型來積極傷害開源運動。

Databricks(MosaicML)至少可以趕上,因為它們的數據和企業連接。問題是,如果他們想有希望為7,000多家客戶提供服務,他們需要將支出提高數倍。1.3億美元收購  MosaicML是這個垂直領域的一大賭注,但他們也需要在基礎設施上投入類似數量的資金。不幸的是,對於Databricks來說,他們無法以股票形式支付GPU。他們需要通過即將到來的私募輪/IPO進行大規模發行,並利用這些冷酷的現金在硬體上翻兩翻。

經濟論點表面上站不住腳,因為他們必須在客戶來之前建立起來,因為NVIDIA正在為他們服務投入資金。需要明確的是,許多人正在購買大量計算,但沒有賺錢,(Cohere,沙烏地阿拉伯,阿聯酋),但這是競爭的先決條件。

鎬和鏟子培訓和推理運營公司(Databricks,HuggingFace和Together)是他們的主要競爭對手的幕後推手,他們也恰好也是他們幾乎所有計算的來源。定製模型的第二大運營商只是  OpenAI的微調API。

這裡的關鍵是,從Meta到Microsoft再到新創公司,每個人都只是作為 Nvidia 銀行帳戶的資金管道。

誰能把我們從 NVIDIA 的奴役中拯救出來?

是的,有一個潛在的救世主。

谷歌 –  世界上計算能力最豐富的公司

雖然谷歌確實在內部使用 GPU,並且通過 GCP 銷售了大量 GPU,但他們有一些王牌。 其中包括雙子座和已經開始訓練的下一個反覆運算。他們擁有的最重要優勢是其無與倫比的高效基礎設施。

在進入Gemini和他們的雲業務之前,我們將分享一些關於他們瘋狂建設的數據點。在這裡,我們給OpenAI帶來了懷疑的所有好處。他們擁有的 GPU  總數將在 4 年內增加 2 倍。對於Google,我們忽略了他們現有的TPUv4(Pufferfish),TPUv4 lite和內部使用的GPU。此外,我們也沒有包括TPUv5e(精簡版),儘管它可能是推斷較小語言模型的主力。

人工智慧時代的曙光已經到來,瞭解人工智慧驅動軟體的成本結構與傳統軟體有很大不同至關重要。晶片微架構和系統架構在這些創新形式的軟體的開發和可擴充性中起著至關重要的作用。與開發人員成本相對較高的前幾代軟體相比,運行軟體的硬體基礎設施對資本支出和運營支出以及隨後的毛利率的影響明顯更大。因此,將大量精力投入大量精力來優化您的 AI 基礎設施以便能夠部署 AI 軟體就更加重要了。在基礎設施方面具有優勢的公司也將在利用AI部署和擴展應用程式的能力方面具有優勢。

谷歌早在2006年就兜售了構建人工智慧專用基礎設施的想法,但這個問題在2013年達到了沸點。他們意識到,如果他們想要以任何規模部署 AI,他們需要將數據中心的數量增加一倍。因此,他們開始為2016年投入生產的TPU晶元奠定基礎。將其與亞馬遜進行比較很有趣,亞馬遜在同一年意識到他們也需要製造定製晶片。2013年,他們啟動了Nitro計劃,專注於開發晶元以優化通用CPU計算和存儲。兩家截然不同的公司針對不同時代的計算和軟體典範優化了他們在基礎設施方面的努力。

自 2016 年以來,谷歌現在已經構建了 6 種不同的專注於 AI 的晶片,TPU、TPUv2、TPUv3、TPUv4i、TPUv4 和 TPUv5。谷歌主要設計這些晶元,與博通進行了不同數量的中後端合作。這些晶片都是台積電製造的。自TPUv2以來,這些晶元還使用了三星和SK海力士的HBM記憶體。雖然谷歌的晶元架構很有趣,我們將在本報告後面深入探討,但還有一個更重要的話題在起作用。

谷歌擁有近乎無與倫比的能力,能夠以低成本和高性能可靠地大規模部署人工智慧。話雖如此,讓我們為論點帶來一些合理性,因為谷歌也提出了與晶元級性能相關的虛偽主張,需要糾正。我們認為,與Microsoft和亞馬遜相比,谷歌在人工智慧工作負載方面具有性能/總擁有成本(perf/TCO)優勢,因為它們從微架構到系統架構的整體方法。將生成式人工智慧商業化給企業和消費者的能力是一個不同的討論。

技術領域是一場永恆的軍備競賽,人工智慧是移動最快的戰場。隨著時間的推移,訓練和部署的模型體系結構發生了重大變化。案例和要點與谷歌的內部數據有關。從 2016 年到 2019 年,CNN 模型迅速上升,但隨後又下降了。CNN在計算,記憶體訪問,網路等方面與DLRM與Transformers和RNN相比具有非常不同的配置檔。同樣的情況也發生在被變壓器完全取代的RNN上。

因此,硬體必須靈活地適應行業的發展並支持它們。底層硬體不能過度專注於任何特定的模型架構,否則隨著模型架構的變化,它將面臨過時的風險。晶片開發到大規模批量部署一般需要4年時間,因此,硬體可能會被軟體想要做的事情所甩在後面。這已經可以從使用特定模型類型作為優化點的初創公司的某些AI加速器架構中看到。這是大多數人工智慧硬體初創公司已經/將要失敗的眾多原因之一。

這一點在谷歌自己的TPUv4i晶元上尤其明顯,該晶元是為推理而設計的,但無法在谷歌最好的模型(如PaLM)上運行推理。 上一代Google TPUv4和Nvidia A100不可能在設計時考慮到大型語言模型。同樣,最近部署的Google TPUv5和Nvidia H100在設計時不可能考慮到AI磚牆,也不能考慮為解決這個問題而開發的新模型架構策略。這些策略是 GPT-4 模型架構的核心部分。

硬體架構師必須對機器學習在他們設計的晶元中的發展方向做出最好的猜測。這包括記憶體訪問模式、張量大小、數據重用結構、算術密度與網路開銷等。

此外,晶元微架構只是人工智慧基礎設施真實成本的一小部分。系統級架構和部署靈活性是更重要的因素。今天,我們想深入瞭解谷歌的TPU微架構、系統架構、部署切片、可擴展性,以及它們在基礎設施方面相對於其他科技巨頭的巨大優勢。這包括我們在TCO模型中的思考,將谷歌的AI基礎設施的成本與Microsoft、亞馬遜和Meta的成本進行比較。

我們還將直接將谷歌的架構與英偉達的架構進行比較,這是最重要的,特別是從性能和網路的角度來看。我們還將簡要地將其與其他公司的AI硬體進行比較,包括AMD,Intel,Graphcore,Amazon,Sambanova,Cerebras,Enflame,Groq,Biren,Iluvatar和Preferred Networks。

我們還將從從業者的角度對此進行大型模型研究、培訓和部署。我們還想深入研究DLRM模型,儘管這些模型是目前最大的大規模AI模型架構,但經常被低估。此外,我們將討論DLRM和LLM模型類型之間的基礎結構差異。最後,我們將討論谷歌為外部雲客戶成功使用TPU的能力。同樣在最後,谷歌的TPU有一個異常的復活節彩蛋,我們認為這是一個錯誤。

谷歌的系統基礎設施優勢

谷歌在基礎設施方面的優勢之一是他們總是從系統級的角度設計TPU。這意味著單個晶元很重要,但如何在現實世界中的系統中一起使用它更為重要。因此,我們將在分析中逐層從系統架構到部署使用再到晶元級別。

雖然NVIDIA也從系統的角度思考,但他們的系統規模比谷歌更小、更窄。 此外,直到最近,NVIDIA還沒有雲部署的經驗。谷歌在其人工智慧基礎設施中最大的創新之一是在TPU(ICI)之間使用自定義網路堆棧。與昂貴的乙太網和 InfiniBand 部署相比,此鏈路具有低延遲和高性能。它更類似於Nvidia的NVLink。

谷歌的TPUv2可以擴展到256個TPU晶元,與英偉達當前一代的H100 GPU數量相同。他們在TPUv3中將這個數位增加到1024,在TPUv4中增加到4096。我們假設當前一代 TPUv5 可以擴展到 16,384 個晶片,而無需根據趨勢線通過低效乙太網。雖然從大規模模型訓練的性能角度來看,這很重要,但更重要的是他們能夠將其劃分為實際使用。

谷歌的TPUv4系統有8個TPUv4晶元,每台伺服器有2個CPU。此配置與 Nvidia 的 GPU 相同,後者採用 8 台 A100 或 H100 的伺服器,每台伺服器有 2 個 CPU。單個伺服器通常是 GPU 部署的計算單元,但對於 TPU,部署單元是 64 個 TPU 晶片和 16 個 CPU 的較大“切片”。這 64 個晶片通過直接連接的銅纜以 4^3 立方體的形式與 ICI 網路內部連接。

在這個由64個晶元組成的單元之外,通信轉移到光學領域。這些光收發器的成本是無源銅纜的 10 倍以上,因此 Google 針對這 64 個數位優化了切片大小,以從網路角度最大限度地降低系統級成本。

相比之下,2023 年的 Nvidia SuperPod 部署使用 NVLink 最多可以使用 256 個 GPU,比 2020 年 TPUv4 的 4096 個晶片小 16 倍。此外,英偉達顯然不太關注基於英偉達第一方渲染和DGX Superpod系統的密度和網路成本。英偉達的部署通常是每個機架 4 台伺服器。

除了 4 台伺服器和總共 32 個 GPU 的領域之外,通常,通信必須採用光纖。因此,英偉達需要更多的光收發器進行大規模部署。

谷歌OCS

谷歌部署了其定製的光學開關,該開關使用基於MEMS的微鏡陣列陣列在64個TPU切片之間切換。快速總結一下,Google 聲稱他們的自定義網路將輸送量提高了 30%,功耗降低了 40%,資本支出減少了 30%,流程完成減少了 10%,整個網路的停機時間減少了 50 倍,有關更詳細的原因和方式,請參閱此報告。

谷歌使用這些OCS來製作其數據中心骨幹。他們還使用它們將 TPU 吊艙相互連接和互連在一起。這種OCS的最大優點是信號僅保留在從任何64 TPU切片到4096 TPU Pod內任何其他TPU切片的光學域中。

相比之下,Nvidia GPU部署了4,096個GPU,具有多個Nvidia SuperPods。該系統需要在這些GPU之間進行多層切換,總共需要~568個InfiniBand交換機。谷歌只需要48個光纖交換機即可部署4096 TPU。

應該注意的是,與第三方從英偉達購買的英偉達的InfiniBand交換機相比,直接從谷歌的合同製造商處購買時,谷歌的OCS每個交換器的價格也高出約3.2倍至3.5倍。不過,這不是一個公平的比較,因為它包括NVIDIA75%的數據中心毛利率。

如果我們僅比較合同製造成本,IE成本對谷歌與英偉達的成本;然後成本差異上升到Nvidia InfiniBand交換機的12.8倍到14倍。部署 4096 晶片所需的交換機數量為 48 對 568,IE 為 11.8 倍。NVIDIA的解決方案在交換機基礎上製造更便宜。當包括額外光收發器的成本時,這個等式會平衡或轉向有利於谷歌。

每層交換之間的每個連接都是需要更多佈線的另一個點。雖然其中一些可以通過直接連接的銅纜完成,但仍有多個點信號也需要通過光學傳輸。這些層中的每一層都將在每層開關之間從電轉換為光學再到電。這將導致大型電氣交換系統的功耗遠高於谷歌的OCS。

谷歌聲稱所有這些電力和成本節約是如此之大,以至於他們的網路成本佔TPU v4超級計算機總資本成本的<5%,佔總功率的<3%。這不僅僅是通過從電氣開關轉向內部光開關來完成的。

通過拓撲將網路成本降至最低

雖然谷歌大力推動這一觀點,但重要的是要認識到英偉達和英偉達網路的拓撲結構是完全不同的。英偉達系統部署「非阻塞」的「Clos網路」。這意味著它們可以同時在所有輸入和輸出對之間建立全頻寬連接,而不會發生任何衝突或阻塞。此設計提供了一種可擴展的方法,用於連接數據中心中的許多設備,從而最大程度地減少延遲並增加冗餘。

谷歌的TPU網路放棄了這一點。他們使用3D環面拓撲結構將三維網格狀結構中的節點連接起來。每個節點連接到網格中的六個相鄰節點(上、下、左、右、前和后),在三個維度(X、Y 和 Z)中形成一個閉環。這創造了一個高度互聯的結構,其中節點在所有三個維度上形成一個連續的迴圈。

與 Nvidia 使用的 Clos 拓撲相比,環面拓撲有幾個優點:

  1. 更低的延遲:3D 環面拓撲由於其相鄰節點之間的短而直接的連結,可以提供更低的延遲。這在運行需要節點之間頻繁通信的緊密耦合併行應用程式(例如某些類型的 AI 模型)時特別有用。
  2. 更好的局部性:在 3D 環面網路中,物理上彼此接近的節點在邏輯上也很接近,這可以導致更好的數據局部性和更低的通信開銷。雖然延遲是一個方面,但功耗也是一個巨大的好處。
  3. 較低的網路直徑:對於相同數量的節點,3D 環面拓撲的網路直徑低於Clos網路。與 Clos 網路相比,由於需要的交換機要少得多,因此可以節省大量成本。

在硬幣的另一面,3D環面網路有很多缺點。

  1. 可預測的性能:Clos網路,特別是在數據中心環境中,由於其非阻塞特性,可以提供可預測和一致的性能。它們確保所有輸入輸出對可以全頻寬同時連接,而不會發生衝突或阻塞,這在 3D 環面網路中無法保證。
  2. 更易於擴展:在脊葉架構中,向網路添加新的葉交換機(例如,容納更多伺服器)相對簡單,不需要對現有基礎架構進行重大更改。相比之下,縮放 3D 環面網路可能涉及重新配置整個拓撲,這可能更加複雜和耗時。
  3. 負載均衡:Clos網路在任意兩個節點之間提供更多路徑,從而實現更好的負載均衡和冗餘。雖然 3D 環面網路也提供多條路徑,但 Clos 網路中的替代路徑數量可能更多,具體取決於網路的配置。

雖然Clos有優勢,但谷歌的OCS減輕了其中的許多優勢。OCS 支援在多個切片和多個 Pod 之間輕鬆縮放。

3D圓環拓撲面臨的最大問題是錯誤可能是一個更大的問題。錯誤可能會突然出現併發生。即使有 99% 的主機可用性,2,048 個 TPU 的幻燈片也幾乎具有 0 的正常工作能力。即使達到 99.9%,使用 2,000 個 TPU 的訓練運行在沒有 Google OCS 的情況下也有 50% 的好率。

OCS的美妙之處在於它允許動態重新配置路由。

需要備件來允許調度作業,儘管某些節點出現故障。操作員無法在不冒故障風險的情況下從 4k 節點 Pod 實際調度兩個 2k 節點切片。基於 Nvidia 的訓練運行通常需要過多的開銷,專用於檢查點、拉取故障節點和重新啟動它們。谷歌在某種程度上簡化了這一點,只是圍繞故障節點進行路由。

OCS的另一個好處是,切片可以在部署后立即使用,而不是等待整個網路。

部署基礎架構 – 用戶視角

從成本和功耗的角度來看,基礎設施效率很好,允許谷歌每美元部署更多的TPU,而不是其他公司可以部署GPU,但這沒有任何意義。谷歌內部用戶獲得的最大優勢之一是,他們可以根據自己的模型定製基礎設施需求。

沒有任何晶片或系統能夠匹配所有使用者想要的記憶體、網路和計算配置檔類型。晶片必須通用化,但與此同時,使用者想要這種靈活性,他們不想要一個適合所有解決方案的 1 尺寸。英偉達通過提供許多不同的SKU變體來解決這個問題。此外,它們還提供一些不同的記憶體容量層以及更緊密的集成選項,例如用於SuperPods的Grace + Hopper和NVLink網路。

谷歌負擔不起這種奢侈。每增加一個 SKU 意味著每個 SKU 的總部署量就越低。這反過來又降低了他們在整個基礎架構中的利用率。更多的SKU也意味著使用者更難在需要時獲得他們想要的計算類型,因為某些選項將不可避免地被超額訂閱。然後,這些使用者將被迫使用次優配置。

因此,谷歌面臨著一個棘手的問題,同時為研究人員提供他們想要的確切產品,同時最大限度地減少SKU的變化。谷歌正好有1個TPUv4部署配置,有4,096個TPU,相比之下,英偉達必須支持數百個不同規模的部署和SKU,以滿足其更大,更多樣化的客戶群。儘管如此,谷歌仍然能夠以獨特的方式對此進行切片和切塊,使內部使用者能夠擁有他們想要的基礎設施的靈活性。

谷歌的OCS還可以創建自定義網路拓撲,如扭曲的環面網路。這些是 3D 環面網路,其中某些維度是扭曲的,這意味著網路邊緣的節點以非平凡、非線性的方式連接,從而在節點之間創建額外的快捷方式。這進一步提高了網路直徑、負載平衡和性能。

谷歌的團隊充分利用這一點來協助某些模型架構。以下是 2022 年 11 月僅 1 天晶片數量和網路拓撲結構的各種 TPU 配置的流行情況快照。有30多種不同的配置,儘管系統中許多具有相同數量的晶元,以適應正在開發的各種模型架構。這是谷歌對TPU的使用和靈活性的巨大強大見解。此外,它們還有許多較少使用的拓撲,甚至沒有圖片。

為了充分利用可用的頻寬,用戶將數據並行性映射到 3D 圓環的一個維度上,並將兩個模型並行參數映射到另一個維度上。谷歌聲稱,最佳拓撲選擇可將性能提高 1.2 到 2.3 倍。

最大的大規模 AI 模型架構:DLRM

如果不討論深度學習推薦模型(DLRM),任何關於人工智慧基礎設施的討論都是不完整的。這些DLRM是百度,Meta, 位元組跳動,Netflix和Google等公司的支柱。它是廣告、搜索排名、社交媒體提要訂購等年收入超過一萬億美元的引擎。這些模型由數十億個權重組成,訓練超過一萬億個示例,並以每秒超過 300,000 次查詢的速度處理推理。這些型號的大小(10TB+),甚至遠遠超過最大的變壓器型號,例如GPT4,其數量級為1TB+(型號架構差異)。

上述所有公司之間的共同點是,他們依靠不斷更新的DLRM來推動其個人化業務,例如電子商務,搜索,社交媒體和流媒體服務等各個行業的內容,產品或服務。這些模型的成本是巨大的,硬體必須與之共同優化。DLRM 不是一成不變的,但它們隨著時間的推移一直在不斷改進,但在繼續之前,讓我們先解釋一下一般的模型架構。我們將盡量保持簡單。

DLRM旨在通過對分類和數位特徵進行建模來學習使用者-專案交互的有意義的表示形式。該架構由兩個主要元件組成:嵌入元件(處理分類特徵)和多層感知器(MLP)元件(處理數字特徵)。

用最簡單的術語來說,多層感知器元件是密集的。這些要素被饋送到一系列完全連接的層中。這類似於較舊的 GPT 4 之前的變壓器架構,後者也很密集。密集層很好地映射到硬體上的大量矩陣多個單元

嵌入元件對於 DLRM 來說是非常獨特的,也是使其計算配置檔如此獨特的元件。DLRM 輸入是表示為離散稀疏向量的分類特徵。一個簡單的谷歌搜索只包含整個語言中的幾個單詞。這些稀疏輸入不能很好地映射到硬體中的大量矩陣乘法單元,因為它們從根本上更類似於哈希表,而不是張量。由於神經網路通常在密集向量上表現更好,因此使用嵌入將分類特徵轉換為密集向量。

  • 稀疏輸入:[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
  • 密集向量:[0.3261477, 0.4263801, 0.5121493]

嵌入函數將分類空間(英語中的單詞、與社交媒體帖子的互動、對帖子類型的行為)映射到更小的密集空間(100 個向量代表每個單詞)。這些功能是使用查找表實現的,查找表是 DLRM 的重要組成部分,通常構成 DLRM 模型的第一層。嵌入表的大小可能會有很大差異,每個表的大小從數十兆位元組到數百千兆位元組甚至數 TB 不等。

Meta 已有 2 年歷史的 DLRM 超過 12 兆個參數,需要 128 個 GPU 才能運行推理。如今,最大的生產DLRM模型至少要大幾倍,並且僅為了容納模型嵌入就消耗了超過30TB的記憶體。預計明年的嵌入量將增加到70TB以上!因此,這些表需要跨許多晶元的記憶體進行分區。主要有三種分區方式:列分片、行分片和表分片。

DLRM的性能在很大程度上取決於記憶體頻寬、記憶體容量、向量處理性能和晶元之間的網路/互連。嵌入查找操作主要由小的收集或分散記憶體訪問組成,這些訪問具有低算術強度(FLOPS 根本不重要)。對嵌入表的訪問基本上是非結構化的稀疏性。每個查詢都必須從 30TB+ 嵌入的一部分中提取數據,這些嵌入在數百或數千個晶片上分片。這可能會導致超級計算機上用於 DLRM 推理的計算、記憶體和通信負載不平衡。

這對於 MLP 和類似 GPT-3 的變壓器中的密集操作有很大不同。晶片FLOPS/sec仍然是主要性能驅動因素之一。當然,除了FLOP之外,還有多種因素阻礙性能,但GPU仍然可以在龍貓風格的LLM中實現超過71%的硬體翻牌利用率。

谷歌的TPU架構

谷歌的TPU為該架構引入了一些關鍵創新,使其與其他處理器區分開來。與傳統處理器不同,TPU v4 沒有專用的指令緩存。相反,它採用直接記憶體訪問 (DMA) 機制,類似於單元處理器。TPU v4 中的向量緩存不是標準緩存層次結構的一部分,而是用作暫存器。暫存器與標準緩存的不同之處在於它們需要手動寫入,而標準緩存會自動處理數據。谷歌可以利用這種更高效的基礎設施,因為不需要為通用計算市場提供服務。這確實在一定程度上影響了程式設計模型,儘管Google工程師認為XLA編譯器堆疊可以很好地處理這個問題。對於外部用戶來說,情況並非如此。

TPU v4 擁有 160MB SRAM 用於暫存器以及 2 個張量核心,每個張量核心都有 1 個向量單元,4 個矩陣乘法單元 (MXU) 和 16MB 向量記憶體 (VMEM)。兩個 TensorCore 共用 128MB 記憶體。它們支援 BF16 的 275 TFLOPS,還支援 INT8 數據類型。TPU v4 的記憶體頻寬為 1200GB/s。晶片間互連 (ICI) 通過六個 50GB/s 鏈路提供 300GB/s 的數據傳輸速率。

TPU v4 中包含 322b 超長指令字 (VLIW) 標量計算單元。在 VLIW 架構中,指令被組合成一個長指令字,然後將其分派給處理器執行。這些分組指令(也稱為捆綁包)由編譯器在程式編譯期間顯式定義。VLIW 捆綁包包括多達 2 個標量指令、2 個向量 ALU 指令、1 個向量載入和 1 個向量存儲指令,以及 2 個用於將數據傳入和傳出 MXU 的插槽。

向量處理單元 (VPU) 配備 32 個 2D 寄存器,包含 128x 8 32b 元素,使其成為 2D 向量 ALU。矩陣乘法單位 (MXU) 在 v2、v3 和 v4 上為 128×128,v1 版本具有 256×256 配置。此更改的原因是Google類比了四個128×128 MXU的利用率比一個256×256 MXU 高60%,但四個128×128 MXU佔用的面積與256×256 MXU 相同。MXU 輸入利用 16b 浮點 (FP) 輸入,並以 32b 浮點 (FP) 累加。

這些較大的單元允許更高效的數據重用,以突破記憶體牆。

谷歌DLRM優化

谷歌是最早開始在其搜索產品中大規模使用DLRM的公司之一。這種獨特的需求導致了一個非常獨特的解決方案。上述體系結構有一個主要缺陷,即它無法有效地處理DLRM的嵌入。谷歌的主要TensorCore非常大,與這些嵌入的計算配置檔不匹配。谷歌不得不在他們的TPU中開發一種全新的“SparseCore”,這與上面描述的密集層的“TensorCore”不同。

SparseCore(SC)為Google的TPU中的嵌入提供了硬體支援。早在 TPU v2 中,這些特定於域的處理器就具有直接綁定到每個 HBM 通道/子通道的磁貼。它們加速了訓練深度學習推薦模型 (DLRM) 中記憶體頻寬最密集的部分,同時僅佔用約 5% 的晶片面積和功耗。通過使用每個TPU v4晶元上的快速HBM2進行嵌入,而不是CPU,與將嵌入留在主機CPU的主記憶體上相比,Google展示了其內部生產DLRM的7倍加速(  TPU v4 SparseCore vs TPU v4嵌入Skylake-SP)。

SparseCore 支援從 HBM 快速存取記憶體,具有專用的提取、處理和刷新單元,可將數據移動到稀疏向量記憶體 (Spmem) 組,並通過可程式設計的 8 寬 SIMD 向量處理單元 (scVPU) 進行更新。這些單元的 16 個計算磁貼進入 SparseCore。

其他跨通道單元執行特定的嵌入操作(DMA、排序、稀疏減少、分叉、連接)。每個 TPU v4 晶片有 4 個稀疏核心,每個核心有 2.5MB 的 Spmem。展望未來,我們推測 TPUv5 的稀疏核心數量繼續增加到 6 個,由於 HBM3 上的子通道數量增加,瓦片數量將增加到 32 個。

雖然遷移到 HBM 的性能提升是巨大的,但性能擴展仍然受到互連平分頻寬的影響。TPU v4 中ICI的新3D圓環有助於進一步擴展嵌入查找性能。然而,當擴展到1024個晶元時,隨著SparseCore開銷成為瓶頸,改進就會下降。

如果谷歌認為他們的DLRM需要增加超過~512晶元的尺寸和容量,那麼這個瓶頸可能會導致TPUv5的Spmem也會增加。

它還會將微架構與Nvidia GPU以及AMD,Intel,Graphcore,Amazon,Sambanova,Cerebras,Enflame,Groq,Biren,Iluvatar和Preferred Networks的其他AI硬體進行比較。

我們還將比較其他科技巨頭的人工智慧基礎設施成本與谷歌的成本。最後,谷歌的TPU也有一個奇怪的異常,我們必須假設這是一個錯誤。

※版權所有,歡迎媒體聯絡我們轉載;登錄本網按讚、留言、分享,皆可獲得 OCTOVERSE 點數(8-Coin),累積後可兌換獎品,相關辦法以官網公布為準※

新增留言