TPU简介
TPU定义
张量处理器 Tensor Processing Unit - TPU 是 Google 开发的专用芯片,专门用于加速机器学习,擅长执行大规模矩阵运算,特别适用于神经网络的训练与推理
TPU特点
TPU 是专为机器学习任务而设计的处理器,尤其擅长深度学习中的张量计算与大规模矩阵运算,在速度与效率方面表现卓越。它的架构高度专用,使其在处理 AI 模型时远超其他处理器,适用于需要高性能计算的特定场景。
TPU实现原理
Google 设计了 Cloud TPU,它们是专门用于神经网络工作负载的矩阵处理器。TPU 不能运行文字处理程序、控制火箭引擎或执行银行交易,但它们可以很快地处理神经网络中使用的大量矩阵运算。
TPU 的主要任务是矩阵处理,这是乘法和累加运算的组合。
TPU 包含数千个乘法累加器,这些累加器彼此直接连接以形成大型物理矩阵。这称为脉动阵列架构。TPU 主机将数据流式传输到馈入队列中。TPU 从馈入队列加载数据,并将其存储在 HBM 内存中。计算完成后,TPU 会将结果加载到馈出队列中。然后,TPU 主机从馈出队列读取结果并将其存储在主机的内存中。
为了执行矩阵运算,TPU 将 HBM 内存中的参数加载到矩阵乘法单元 MXU 中。
TPU 从内存加载数据。每次执行乘法运算时,系统都会将结果传递给下一个乘法累加器。输出是数据和参数之间所有乘法结果的总和。在矩阵乘法过程中,不需要访问内存。因此,TPU 可以在神经网络计算中实现高计算吞吐量。
TPU发展历程
第一代:2015 年谷歌就已经开始在内部使用第一代 TPU,一个 8 位矩阵乘法的引擎,它采用 28 nm 工艺制造,裸晶尺寸小于 331 mm²,时钟速度为 700 MHz,热设计功耗为 28–40 W。封装了 8 GiB 的双通道 2133 MHz DDR3 SDRAM,带宽达到 34 GB/s。
第二代:第一代 TPU 的设计受到了内存带宽的限制,因此在第二代设计中使用 16 GB 的高带宽内存,可将带宽提升到 600 GB/s,性能从而可达到 45 TFLOPS。TPU 芯片随后被排列成性能为 180 TFLOPS 的四芯片模块,并将其中的 64 个这样的模块组装成 256 芯片的 Pod,性能达到 11.5 PFLOPS。
第三代:2018 年 5 月谷歌宣布第三代 TPU 的性能是第二代的两倍,并将部署在芯片数量是上一代的四倍的 Pod 中。与部署的第二代 TPU 相比,这使每个 Pod 的性能提高了 8 倍(每个 Pod 中最多装有 1024 个芯片)。
第四代:2021 年 5 月谷歌宣布第四代 TPU 的性能是第三代的 2.7 倍。与部署的第三代 TPU 相比,这使每个 Pod 的性能提高了 5.4 倍(每个 Pod 中最多装有 4,096 个芯片)。
第五代:2023 年 12 月,谷歌推出了 TPU v5p,其性能与英伟达 H100 旗鼓相当。
第六代:2024 年 5 月,谷歌推出了 TPU v6e Trillium。谷歌称 TPU v6 比起 TPU v5e 可实现 4.7 倍的性能提升,这要归功于大尺寸的矩阵乘法单元和更快的时钟速度。高带宽存储 HBM 容量和带宽均提高了一倍。
第七代:2025 年 4 月,在 Google Cloud Next 会议上,谷歌推出了 TPU v7 Ironwood。这是一款名为 Ironwood 的新芯片,将有两个版本:256 颗芯片集群和 9,216 颗芯片集群。Ironwood 的峰值计算性能可达 4614 TFLOP。