輝達(NVDA-US) 執行長黃仁勳先前對Google(GOOGL-US)TPU提出的三項質疑,如今正遭最新測試數據逐一挑戰。
SemiAnalysis公布Google第七代TPU Ironwood首份第三方推論效能測試,在相同模型與負載下,TPU每美元效能最高領先輝達B200達50%,相較B300更逼近96%。
更值得關注的是,Google透過TorchTPU讓開發者只需一行程式碼,就能將PyTorch程式移轉至TPU,開始鑿穿輝達長年建立的CUDA軟體護城河。
TPU成本優勢浮現
今年4月,黃仁勳在Dwarkesh Podcast節目中直言,TPU與亞馬遜Trainium都不敢參加公開效能測試,並鼓勵競爭對手使用InferenceMAX,證明其宣稱的推論成本優勢。
五個月後,TPU帶著實測數據出場。此次測試採用相同開源模型,並以FP8對FP8比較,輸入長度為8,000個Token、輸出1,000個Token,B200、B300與TPU執行完全相同的負載。
按照外部總持有成本(TCO)計算,TPU每百萬Token成本僅0.181美元,低於B200的0.222美元與B300的0.276美元。在每秒100個Token的單一用戶吞吐基準下,TPU成本比B200低19%,比B300低34%。
若將回應時間中位數限制在20秒,TPU成本為0.098美元,B200為0.106美元,B300則升至0.132美元。B200並非在所有項目都落敗,在30秒回應時間的狹窄區間內仍略占優勢,但隨著延遲條件放寬,TPU再度取得領先;B300則在整個測試過程中均處於成本劣勢。
黃仁勳算錯商業帳?
黃仁勳的第二項判斷,是從第一性原理出發,認為TPU具備成本優勢在邏輯上無法成立。實測結果並未完全推翻他對硬體底層的分析,因為在原始吞吐曲線的大部分區間,TPU的物理效能確實不如GPU,真正拉開差距的是租賃價格。
TPU約5%的實體吞吐優勢,加上明顯較低的單位時間租金,最終轉化為最高50%的每美元效能優勢。若以Google內部每顆晶片每小時1.03美元的成本計算,TPU的優勢甚至可能擴大至77%到130%。
換言之,黃仁勳衡量的是單顆晶片能榨出多少絕對算力,商業客戶在意的卻是每一美元可以換回多少實際產出。這次公開數據顯示,即使GPU仍在部分硬體效能指標占優,TPU仍可透過價格與系統效率扭轉競爭結果。
Anthropic不再只是特例
黃仁勳的第三項斷言,是Anthropic只是TPU生態中的特例,一旦失去這名大客戶,TPU便缺乏持續成長的動力。這項說法目前仍有部分成立,Anthropic確實是Google TPU最重要的客戶之一。
Anthropic使用的TPU已超過100萬顆,其中約40萬顆為直接買斷,另有60萬顆透過Google Cloud租用。依照目前規畫,Anthropic到2029年將超越DeepMind,成為全球最大的TPU單一用戶。
不過,Google的銷售策略已經改變。自去年起,Google開放TPU直接銷售,不再只透過雲端租賃提供算力,DeepMind內部研究人員甚至也必須在擁擠的佇列中爭取資源。
黃仁勳4月提出質疑時,TPU在外部市場尚未形成透明價格,如今第三方測試已替Google標出可供比較的成本。
軟硬體整合壓低成本
SemiAnalysis指出,Ironwood的優勢並非單純來自晶片峰值效能,而是Google將運算晶粒、晶片互連與底層編譯器整合成封閉系統,在各環節壓低成本。
Ironwood由兩個獨立運算晶粒組成,每顆配備2個TensorCore與4個SparseCore,HBM容量達上一代Trillium的6倍,可容納更大的KV Cache並提高批次處理規模。Ironwood也是首款原生支援FP8運算的TPU,擺脫過去透過軟體模擬的限制。
其矩陣單元採用256×256脈動陣列,每個週期可完成65,536次乘加運算,運算吞吐量達v5架構的4倍。
到了第八代TPU,Google更首度將訓練與推論拆分為8t與8i兩款晶片,其中8i的片上SRAM擴增至384MB,為上代3倍,用來將推論模型的KV Cache留在晶片上。
在網路互連方面,TPU直接透過Google自研ICI匯流排交換資料,繞過主機CPU、PCIe與通用網路卡。其3D Torus拓撲讓每顆晶片連接6個相鄰節點,64顆晶片組成機架級立方體,再利用光學電路交換器擴展至9,216顆晶片。若光纖鏈路故障,系統可在數秒內重新路由,不需人工介入。
到了TPU 8i,Google將改採Boardfly拓撲,在千顆晶片規模下,把最大資料傳輸跳數由16次降至7次,藉此降低混合專家模型(MoE)路由與多輪AI代理運算累積的尾端延遲。
程式碼重構再榨效能
為了讓首個模型在TorchTPU上順利運作,Google、Inferact與RadixArk投入數百個工程小時,從程式碼層面完成多項關鍵最佳化。
首先,團隊改造KV Cache配置,將Token移至TPU向量單元固定的128個Lane維度,可用KV頁數從5,141頁增至10,283頁。在併發數128的情況下,吞吐量提升16.5%,首個Token的回應時間中位數大減95%,降低推論請求等待KV空間的時間。
其次,團隊調整分頁注意力機制,將讀取區塊維持在16,000個Token,計算區塊則縮減至4,000個Token,為預取操作騰出記憶體空間,使解碼吞吐量由每秒64,900個Token升至96,300個Token。
Google也將ReduceScatter與MoE的Token重排工作轉交SparseCore處理,讓TensorCore集中進行矩陣乘法。在輸入8,000個Token、輸出1,000個Token的負載下,吞吐量提高4.1%至14.2%;在輸入1,000個Token、輸出8,000個Token且併發數512時,增幅更達26.1%。
一行程式碼鑿穿CUDA護城河
此次更新最具顛覆性的改變,來自Google對軟體生態的重構。過去開源推論工具大多建立在PyTorch與CUDA之上,TPU原生環境卻是JAX。
vLLM若要在TPU運行,必須透過TorchAX逐一將算子轉譯成JAX,衍生分頁注意力與底層最佳化的相容問題,Google與開源社群耗費超過一年才陸續修補。
如今,TorchTPU利用PyTorch的PrivateUse1後端介面,讓TPU直接成為原生Torch運算裝置。開發者只需加入一行程式碼,便可把編譯工作交給XLA,核心運算子則呼叫Pallas核心,DDP與FSDP2等分散式功能也能直接運作。
這意味著,Google挑戰的不只是輝達晶片的推論成本,更是CUDA長年累積的開發者黏著度。當PyTorch模型移轉至TPU的門檻被壓縮至一行程式碼,輝達過去依靠軟體生態築起的護城河,也開始出現一道明顯缺口。
