张量处理单元

2025 年 6 月 23 日 | 阅读 2 分钟

机器学习变得越来越重要和相关。传统的微处理器无法有效地处理它,无论是训练还是神经网络处理。GPU 的并行架构,允许快速图形处理,被证明比 CPU 更高效,但仍然有些局限。Google 创建了一个用于人工智能加速器的集成电路,将用于其 TensorFlow 人工智能框架,以解决这个问题。该设备被命名为 TPU(张量处理单元)。该芯片与 TensorFlow 框架兼容。

什么是 TensorFlow 框架?

TensorFlow 是一个由 Google 为内部使用而创建的开源库。它主要用于数据流编程和机器学习。TensorFlow 计算可以表示为数据流的有状态图。TensorFlow 以这些神经网络对多维数据数组执行的操作命名。这些数组被称为“张量”。TensorFlow 可以在 Linux 发行版、Windows 和 macOS 上使用。

TPU 架构

下图显示了 TPU 中单元的物理架构。

Tensor Processing Units

这些计算资源是 TPU 的组成部分

  • 矩阵乘法单元 (MXU):它有 65.536 个 8 位乘法和加法单元,用于矩阵运算。
  • 统一缓冲区:它有 24MB SRAM,作为寄存器使用。
  • 激活单元 (AU):它是硬编码的激活函数。

已创建五组主要的高级指令集来管理这些资源的操作。以下是这五组主要的高级指令集。

TPU 指令函数
Read_Host_Memory用于从内存中读取数据
Read_Weights用于从内存中读取权重
MatrixMultiply/Convolve用于与数据和权重进行乘法或卷积,并累积结果
Activate用于应用激活函数
Write_Host_Memory将结果写入内存

以下是 Google 用于维护 TensorFlow 或 TPU 的应用堆栈。

Tensor Processing Units

TPU 的优势

以下是 TPU 提供的众多优势中的一些

  1. 这加速了线性代数计算的性能,这些计算在机器学习应用中广泛使用。
  2. 训练大型复杂的神经网络模型可以减少达到准确性的时间。
  3. TPU 允许模型在几分钟内收敛,而在以前,训练可能需要数周。

我们何时应该使用 TPU?

以下是 TPU 在机器学习中使用的最佳情况。

  • 模型主要由矩阵计算组成
  • 在主训练循环中不使用自定义 TensorFlow 操作的模型。
  • 训练模型需要数周甚至数月。
  • 可以使用更大的模型和更强大的批量大小。