TPU v2是第二代张量处理单元,一种由谷歌开发的自定义专用集成电路(ASIC),用于加速神经网络机器学习工作负载。它于2017年5月发布,继承了初代TPU,并引入了重大的架构改进,最显著的是支持浮点运算以及包含由谷歌大脑发明的bfloat16格式。这使得TPU v2适用于机器学习模型的训练和推理,而它的前代产品仅限于整数运算。TPU v2通过谷歌云的Cloud TPU服务向第三方开放,并已广泛用于谷歌自身的生产系统,包括基于Transformer的模型和大型语言模型。
TPU v2的设计旨在解决第一代TPU的内存带宽限制。通过集成16 GB高带宽内存(HBM),第二代设计将内存带宽提升至600 GB/s,每颗芯片提供45 teraFLOPS的性能。这些芯片随后被组合成四芯片模块,实现180 teraFLOPS的联合性能。此外,64个这样的模块被组装成256芯片的pod,提供总计11.5 petaFLOPS的性能。这种可扩展架构使谷歌能够部署TPU v2系统用于大规模机器学习任务,包括涉及神经网络和深度学习的任务。
开发与历史
TPU v2的开发由Amir Salek领导,他创立并主管谷歌的自定义硅片部门,而Norman P. Jouppi担任整个TPU项目的技术负责人和首席架构师。初代TPU仅用15个月就投入生产,v2在此基础上进一步构建。据初代TPU工程师之一、后来创立Groq的Jonathan Ross称,TPU设计采用脉动阵列架构,是从谷歌内部三个竞争性AI加速器方案中选出的。TPU v2是业界首款用于生产环境的深度学习训练芯片,标志着定制硅片在AI领域的里程碑。博通共同开发了TPU v2,将谷歌的架构转化为可制造的硅片,并通过台积电等代工厂管理制造流程。
技术规格
TPU v2是一个矩阵乘法引擎,支持整数和浮点运算。其关键创新是引入bfloat16格式,这是一种16位浮点表示,相比传统16位格式提供更宽的动态范围,同时占用更少的内存和带宽。这使得它特别适合训练深度神经网络。每颗TPU v2芯片包含一个由乘法器和累加器组成的脉动阵列,以及16 GB HBM,提供600 GB/s的带宽。芯片以四芯片模块互连,这些模块再组合成更大的pod。256芯片的pod配置提供11.5 petaFLOPS的性能,能够为训练Transformer和其他大型语言模型等任务实现大规模并行计算。
应用与使用
谷歌在多种生产应用中使用了TPU v2系统。它们被用于AlphaGo对李世石的围棋系列赛,以及AlphaZero系统,后者仅从游戏规则出发学会了国际象棋、将棋和围棋。TPU还用于谷歌街景文本处理,使系统能在不到五天内提取街景数据库中的所有文本。在谷歌相册中,单颗TPU每天可处理超过1亿张照片。此外,TPU v2还用于RankBrain,即谷歌提供搜索结果所用的系统。通过谷歌云上的Cloud TPU服务,第三方可以访问TPU v2用于自己的机器学习工作负载,支持TensorFlow、JAX和PyTorch等框架。
与GPU的比较
与GPU相比,TPU专为高吞吐量、低精度计算而设计,每焦耳可执行更多输入/输出操作。它们没有光栅化或纹理映射硬件,而是专注于矩阵运算。TPU非常适合卷积神经网络(CNN),而GPU在某些全连接神经网络上有优势,CPU在循环神经网络(RNN)方面可能更有优势。在涉及用于大型语言模型的基于Transformer的神经网络工作流中,TPU常用于推理,而GPU常用于训练。这种分工反映了每种处理器类型的不同优势,TPU在许多现代AI模型中常见的特定计算模式上表现出色。
传承与影响
TPU v2为谷歌后续几代TPU硬件确立了模板,包括TPU v3,后者于2018年5月8日发布,每芯片性能翻倍,pod中的芯片数量增至四倍。bfloat16的引入对AI硬件生态系统产生了持久影响,影响了其他加速器设计。截至2025年,谷歌云从TPU系统的销售中获得了可观的产品收入,谷歌还一直在与多家“新云”公司以及Meta等企业洽谈在其数据中心部署TPU的事宜。TPU v2至今仍是人工智能硬件史上的基础平台,展示了定制硅片在机器学习中的价值。