少数派观点局

我们是否神话了谷歌TPU?

Image

自从谷歌的Gemini 3 pro发布以来,在谷歌TPU的灼世光芒下,4.3万亿美金的英伟达帝国似乎摇摇欲坠。Bloomberg一份报道:Meta Platforms正与谷歌洽谈斥资数十亿美元采购TPU芯片。更如一记重锤,再度锤击了英伟达。

但冷静下来,我们不禁要问:

我们是否过度炒作了谷歌TPU的潜力?作为ASIC,TPU在特定任务上比通用GPU强,本来就是题中应有之义,市场对谷歌的“TPU神话”是否过于乐观?谷歌TPU最大的特征难道不是封闭么?

这不是优点。

Image

TPU和GPU的区别是什么?

谷歌TPU的故事始于对数学和搜索的认识。大约在2013年,谷歌的领导层得出了一个令他们自己震惊的预测。他们计算出,如果每个安卓用户每天只使用谷歌的语音搜索功能三分钟,谷歌就需要将全球数据中心容量翻倍以应对计算负载。

当时,谷歌依赖标准CPU和GPU完成这些任务。虽然功能强大,但这些通用芯片在深度学习所需的特殊繁重任务,大规模矩阵乘法方面效率低下,也就是说用现有硬件进行扩展将是财务的噩梦。

于是,谷歌决定做一件软件公司几乎从来不做的事:

打造自己的硬件即定制硅片,目标是创建一个仅用于运行TensorFlow神经网络的ASIC(专用集成电路)。

Image

那么,TPU和GPU的区别是什么呢?

要理解两者的区别,就要看他们各自最初的设计目的。

● GPU是一种“通用”并行处理器

● TPU则是“域专用”架构

简言之,GPU是为图形设计的。它们擅长并行处理(同时处理多项任务),这对人工智能非常有利。然而,由于它们设计用于处理从电子游戏纹理到科学模拟的各种内容,因此背负着“建筑包袱”。他们在缓存、分支预测和管理独立线程等复杂任务上花费大量能量和芯片空间。

而TPU则剥离了所有这些包袱。

它没有光栅化或纹理映射的硬件。相反,它采用了一种独特的架构,称为收缩阵列,“收缩阵列”是关键的区别。在标准的CPU或GPU中,芯片在每次计算时都会在内存和计算单元之间来回传递数据,这种持续的洗牌造成瓶颈,即冯·诺依曼瓶颈。

在TPU的收缩阵列中,数据像血液流经心脏一样流经芯片:它只加载一次数据;它通过一个庞大的乘数网格传递输入;数据直接传递到数组中的下一个单元,无需写回内存。本质上,这意味着由于TPU的systolic阵列,大幅减少了从HBM读取和写入所需的内存数量。

一个大模型,在训练阶段,瓶颈通常是计算强度 (Compute Bound) 和内存带宽;在推理阶段,瓶颈通常转向延迟 (Latency)、批量大小 (Batch Size) 和内存容量/速度。

前者是英伟达GPU与CUDA的最强项;而后者,TPU可以更快速进行计算,而不必等待数据。更关键是,由于TPU不需要解码复杂指令或不断访问内存,它能提供显著更高的焦耳运算。

在扩展方面,谷歌使用光电路交换机(OCS)及其3D环面网络,这些网络与英伟达的InfiniBand和Spectrum-X以太网竞争。主要区别在于OCS极具成本效益和节能性,因为它省去了电气开关和O-E-O转换,但因此灵活性不如另外两种。

所以,谷歌技术栈在当前任务上极为专业化,但缺乏GPU那样的灵活性。

Image

谷歌TPU大面积使用的障碍
谷歌TPU的推广障碍并非来自其硬件性能,而主要源于以下两个方面:
● 封闭的生态系统
● 有限的通用性及部署模式的局限性
Image

核心障碍一:生态系统的“锁墙”效应

TPU推广面临的最大壁垒是其封闭且专有的生态系统,这与英伟达CUDA平台的开放性形成了鲜明对比。

首先,是TPU软件栈的局限与迁移成本。

  • CUDA的统治力:英伟达花费了二十多年时间构建了CUDA平台,它不仅是一个编程模型,更是一个包含驱动程序、底层库(如 cuDNN、cuBLAS)和调试工具的庞大生态。几乎所有主流深度学习框架(PyTorch、TensorFlow)都将 CUDA作为原生支持,开发者无需额外学习成本即可利用GPU。

  • TPU的高门槛:TPU主要依赖Google Cloud和定制化的软件栈。尽管对 PyTorch的支持正在加强,但如果用户的代码中包含大量基于CUDA/C++ 编写的底层优化算子,或使用了不常用的ML框架,迁移到TPU需要进行大量的代码重构、调试和优化,这无疑增加了巨大的机会成本和时间成本。

其次,是云服务与供应商锁定 (Vendor Lock-in)

  • TPU的独占性:用户无法购买实体TPU芯片直接使用,只能通过Google Cloud Platform (GCP)租用,这种部署模式将用户完全锁定在谷歌的云基础设施上,如果你是用户,你不担心么?因为一旦部署到GCP上去,以后所有都要听谷歌的了。你丝毫不能动弹。

  • GPU的灵活性:而NVIDIA GPU可以部署在任何地方,包括用户自建的数据中心、AWS、Azure、Oracle Cloud等任何主流云服务商。这种硬件的通用性使企业在选择基础设施时拥有绝对的灵活性和议价能力,避免了单点依赖风险。

数据从一个云端迁移出去的出口成本,是较大的成本之一。在这种情况下,如果你有NVIDIA工作负载,如果你有CUDA工作负载,就可以直接去Microsoft Azure,找一个带有NVIDIA GPU的虚拟机,实际上是同一款GPU,不需要修改代码,直接运行它。

核心障碍二:通用性和工作负载的局限

谷歌的TPU是一种领域专用架构(Domain-Specific Architecture, DSA),其设计极度优化了AI领域的矩阵乘法运算。然而,这种高度的专业性也带来了通用性的牺牲。

  • 专精ML,放弃通用性:TPU不适用于图形渲染、高性能计算(HPC)、数据分析或通用CPU/GPU并行计算任务。这意味着如果企业需要一个芯片来处理多种复杂的计算需求,GPU仍是更具成本效益的“一站式”解决方案。

  • 小Batch推理的低效性:TPU的高效率依赖于充分利用其矩阵单元,需要较大的 Batch Size。在对延迟要求极高的实时推理场景中(例如每秒响应一次),TPU 的资源利用率反而会下降,能效可能不如经过优化的GPU实例或更专业的推理芯片。

英伟达凭借其在AI领域的先发优势和生态壁垒,已在市场上建立起难以撼动的护城河。无论前三大云服务商如何发展自己的芯片如AWS Graviton/Trainium、Azure Maia/Cobalt、Google Axion/TPU),它们都仍然是NVIDIA A100/H100 GPU 的最大客户。

“英伟达GPU+CUDA”与“谷歌TPU+XLA/JAX”的对比一目了然,请见下表(这张表精彩至极!请一定仔细阅读):

Image

更为关键的是:

由于互为云业务的竞争对手,亚马逊、微软、IBM、甲骨文这些都不会选择作为云服务竞争对手谷歌的TPU。

难道以后亚马逊、微软、IBM、甲骨文给自开发各自的芯片,各自开发各自的系统,互相独立,互相无法自由跨平台迁徙数据?这个时候,只有对英伟达的GPU和CUDA的需求和信任度是主流且跨平台、可自由迁徙的,这是英伟达无可比拟的优势。

Image

选择权、灵活性和通用性其实更重要

封闭系统的两个死循环,历史上反反复复上演过,相信谷歌TPU也不会幸免:

循环一:因为生态弱 → 开发者不愿学 → 第三方库跟不上 → 迁移成本更高 → 更没人用
循环二:谷歌TPU为了拉人 → 给大客户私下巨额折扣(Meta传闻中的几十亿订单)→ 小客户更觉得不公平 → 继续跑去用GPU

这正是当年苹果Mac vs Windows的翻版。Mac再好看、再流畅,开发者还是先写Windows版,因为用户在那儿。

TPU的卓越性能是毋庸置疑的,它代表了云计算巨头在追求垂直整合和极致效率上的决心。然而,其推广困境恰恰可以用科技界的经典竞争格局,类似于苹果 (Apple) 与安卓 (Android) 。

TPU正是AI芯片世界中的“苹果”,通过硬件与软件的深度耦合(Vertical Integration),实现了性能上的极致突破(Gemini 3 pro)。这种模式对于谷歌内部和少数对性能要求到极致的战略伙伴而言,无疑是效率最高的选择。

然而,对于广大的企业用户和开发者而言,他们更看重的是:

选择权、灵活性和通用性。

英伟达GPU及其CUDA生态,就像安卓一样,它支持几乎所有的主流框架,可在任何云、任何数据中心部署,开发者群体庞大,形成了强大的网络效应。

所以,历史也已经用血泪证明:

在开发者工具和平台战争中,封闭系统几乎从未赢过开放系统。