TPU v1是初代张量处理单元,一种由谷歌开发的定制专用集成电路(ASIC),用于加速神经网络推理。它于2015年内部引入,并于2016年5月在谷歌I/O大会上公开宣布,专为TensorFlow框架设计。该芯片是一个脉动阵列矩阵乘法引擎,针对高容量、低精度计算进行了优化,主要使用8位整数,并部署在谷歌的数据中心,以支持搜索、街景和照片等服务。
与通用处理器不同,TPU v1旨在处理神经网络在大规模下的特定计算模式。其架构与早期脉动阵列系统(如WARP)有共同谱系,是从谷歌三种竞争性AI加速器设计中选出的。开发由Norman P. Jouppi担任技术负责人和首席架构师,Amir Salek于2013年创立了谷歌的定制硅片团队。该芯片从设计到生产仅用了15个月,对于定制ASIC而言是一个快速的时间线。
架构与规格
TPU v1是一个8位矩阵乘法引擎,通过PCIe 3.0总线由主机处理器上的复杂指令集计算机(CISC)指令驱动。它采用28纳米工艺制造,芯片尺寸不超过331平方毫米。该芯片以700 MHz的时钟速度运行,热设计功耗为28-40瓦,使其在目标工作负载下具有高能效。
关键组件包括28 MiB的片上存储器和4 MiB的32位累加器,用于收集来自256×256脉动阵列的8位乘法器结果。封装中包含8 GiB双通道2133 MHz DDR3 SDRAM,提供34 GB/s的内存带宽。指令处理与主机之间的数据传输、执行矩阵乘法或卷积,以及应用激活函数,覆盖推理所需的核心操作。
性能与部署
在2017年发表于第44届国际计算机体系结构研讨会(ISCA 2017)的里程碑式论文《数据中心内张量处理单元性能分析》中,Jouppi及其同事证明,TPU v1的性能比当代CPU和GPU高出15-30倍,每瓦性能高出30-80倍。这确立了该芯片作为大规模神经网络推理基础平台的地位。
谷歌在其生产服务中部署了TPU。对于谷歌街景文本处理,该芯片在不到五天内找到了数据库中的所有文本。在谷歌照片中,单个TPU每天可处理超过1亿张照片。该芯片还驱动了RankBrain,谷歌用它来改进搜索结果,并用于AlphaGo对李世石的围棋比赛和AlphaZero系统。
与GPU和CPU的比较
TPU专为高容量、低精度计算而设计,每焦耳具有更多输入/输出操作,无需光栅化或纹理映射硬件。这使得它们非常适合卷积神经网络(CNN),后者主导许多推理任务。相比之下,GPU在某些全连接神经网络中具有优势,而CPU在循环神经网络(RNN)中可能具有优势。
不同类型的处理器服务于不同的机器学习模型。对于大型语言模型中使用的基于Transformer的神经网络,TPU通常用于推理,而GPU用于训练。TPU ASIC安装在散热器组件中,可放入数据中心机架内的硬盘槽位,便于密集部署。
遗产与影响
TPU v1的成功为后续几代产品铺平了道路,包括引入bfloat16浮点支持以用于训练的TPU v2,以及后续版本。博通作为共同开发者,将谷歌的架构转化为可制造的硅片,并通过台积电等代工厂管理制造。该芯片的设计影响了更广泛的AI加速器格局,其他供应商为嵌入式和机器人市场开发了类似产品。
谷歌于2018年通过其Cloud TPU服务在谷歌云平台上向第三方提供TPU,并通过Kaggle和Colaboratory等基于笔记本的服务提供。TPU v1仍然是人工智能硬件中的一个里程碑,展示了领域专用处理器对机器学习工作负载的价值。