AI News HubLIVE
站內改寫2 分鐘閱讀

忘掉GPU短缺:真正的AI瓶頸早在2007年就被診斷出來了

本文指出,AI的真正瓶頸並非GPU算力,而是記憶體頻寬。這一觀點可追溯到2007年Ulrich Drepper的論文《每個程式設計師都應該瞭解的記憶體知識》。近期AMD、高通和輝達的動向均反映了這一現實。解決方案如FlashAttention和小型語言模型透過最佳化資料區域性性來緩解問題。

來源Hacker News AI作者: salarkhannn

本週,AMD和高通在幾天內相繼宣佈了新的記憶體封裝方法——AMD將LPDDR5X整合到Versal Premium Gen 2 SoC中,高通則預覽了用於未來推理加速器的“高頻寬計算”。幾周前,輝達鎖定了SK海力士的HBM供應直至2030年,這與其說是一項採購協議,不如說是對實際限制AI的物理問題的一種對沖。H100的交貨期長達36至52周,預計2026年資料中心將消耗所有記憶體晶片產量的70%。每個人都在為GPU短缺而恐慌。但GPU沒問題。記憶體才是瓶頸——而這早在2007年就被診斷出來了。

2007年的論文

我讀Ulrich Drepper的《每個程式設計師都應該瞭解的記憶體知識》的時機和大多數工程師一樣——很晚,而且有點尷尬自己等了這麼久。這篇論文發表於2007年,那一年iPhone問世,當時“AI”還意味著國際象棋引擎,訓練萬億引數模型的想法介於科幻和異端之間。Drepper當時並沒有考慮這些。他在考慮快取行。他的論點直截了當:CPU的速度呈指數級增長,而記憶體卻沒有。處理器能做什麼與它能被餵給什麼之間的差距每年都在擴大。他遍歷了整個層級——硬碟、RAM、L1/L2快取——並指出這些層級之間的距離(以納秒為單位)才是唯一真正重要的數字。一個程式如果不斷迫使CPU從主記憶體而不是片內快取取資料,那麼即使有快速的處理器,它大部分時間也會閒置,等待位元組透過匯流排到達。他稱之為“記憶體牆”,並告訴程式設計師,他們不能再將記憶體視為一個平坦、均勻的儲存桶。資料存放的位置決定了程式碼執行的速度。

同一堵牆,堆疊上移了一層

名稱變了,但形態完全相同。2007年的層級是硬碟→RAM→L1/L2快取。如今的AI則是HBM→GPU片上SRAM。HBM扮演著主記憶體的角色,GPU的SRAM則是新的L1快取。大型模型生成的每個token都需要將千兆位元組的權重在兩者之間來回移動,每秒數百萬次。這就是本週新聞如此引人注目的原因。在Blackwell這樣的晶片上,原始算力(TFLOPS)的增長超過記憶體頻寬的增長達一個數量級。每個人都痴迷的矩陣乘法其實成本很低;而行動數據來執行這些運算才是真正昂貴的,無論是在時間上還是在功耗上。輝達鎖定HBM供應到2030年並非出於貪婪——而是因為沒有這樣的記憶體,Blackwell的算力核心就會閒置。AMD和高通重新發明封裝也不是為了好玩;它們是在試圖買回邏輯端已經趕超了的頻寬。今年春天主導財報電話會議的“算力短缺”,幾乎完全是一個貼了GPU標籤的記憶體頻寬短缺。

解決方案早已寫在論文中

真正解決這個問題的人,其解決方式正是Drepper會預測的。FlashAttention是使大型模型可行的最大突破之一,它並沒有縮小數學運算或簡化架構,而是重寫了注意力計算,使資料儘可能長時間地留在GPU的片上SRAM中,最小化往返HBM的次數。這正是區域性性原理——Drepper在2007年懇求程式設計師理解的概念——在十九年後移植到了Transformer中。小型語言模型的浪潮則是從另一個方向做出的同樣讓步。Llama、Phi、Mistral,以及執行在人們已有任何商品化硬體上的開放權重生態系統——如果你無法足夠快地將一個700億引數的模型搬過匯流排,那就縮小模型,直到它適合快取層級。作為一名工作軟體工程師,Sonnet和Opus能為我完成工作的原因,並不是它們比前沿模型更聰明,而是因為前沿模型太消耗記憶體,無法按市場實際需要的規模進行部署。

物理定律

Drepper以一句經得起時間考驗的話結束了文章:硬體的物理定律決定了軟體的限制。我們將程式碼視為抽象的、不受銅線和矽束縛的東西。本週的新聞就是這種幻想走到盡頭時的樣子。贏得下一個十年AI的公司,不會是擁有最多FLOPS的公司——而是那些最終內化了2007年一位Linux核心駭客試圖告訴所有人的道理的公司。晶片變了,但這堵牆沒有。