In-Datacenter Performance Analysis of a Tensor Processing Unit
In-Datacenter Performance Analysis of a Tensor Processing Unit - 中文验证版
英文原文卡片:tpu_datacenter_2017.md
状态:已翻译。
元数据
- Slug:
tpu_datacenter_2017 - 年份: 2017
- 会议: ISCA
- 作者: Norman P. Jouppi et al.
- 阅读状态: read complete
- 计算范式: TPU、加速器与 Transformer 时代
- 主要来源: PDF、抽取文本
计算设置
论文明确描述了 Google 第一代 Tensor Processing Unit 作为自 2015 年起部署于数据中心的推理 ASIC。芯片核心是一个 256×256 矩阵乘单元,即 65,536 个 8-bit MAC,峰值吞吐 92 TeraOps/秒。它有 28 MiB 软件管理的片上内存,包括 24 MiB 统一缓冲区和 4 MiB 累加器,外加 8 GiB 片外 DRAM 权重内存。TPU 运行于 700 MHz(基准测试表),并以 PCIe Gen3 x16 协处理器形式附加到现有服务器。
对比设备为同期数据中心系统:Intel Haswell E5-2699 v3 CPU 服务器和 NVIDIA K80 GPU。表 2 列出 Haswell 每 die 18 核、K80 每 die 13 SMX 处理器、TPU 服务器 4 个 TPU。论文强调 K80 GPU 在 2015 年神经网络工作中常见,而 TPU 为生产推理设计而非训练。训练仍主要面向浮点和 GPU;TPU 目标为量化推理。
瓶颈
瓶颈是在延迟和功耗约束下的数据中心推理。论文论证面向用户的服务看重 99 分位响应时间甚于平均吞吐。这对 GPU 不利:批处理提高吞吐,但等待大 batch 违反延迟约束,K80 式吞吐特性未必改善尾部。MLP0 示例使用 7 ms 99 分位响应目标。
内存带宽是另一限制。六个神经网络应用中有四个在 TPU 上受内存带宽限制。论文的 roofline 分析显示即使拥有许多 MAC,应用仍可处于 roofline 倾斜的带宽受限一侧。主机交互也仍是系统的一部分:TPU 是 PCIe 协处理器,部分应用仍花费时间在主机应用中或跨 PCIe 通信。
方法适配
TPU 通过将硅片花在密集 8-bit 矩阵算术和软件管理缓冲区而非通用 CPU/GPU 特性上,将设备适配到推理经济学。量化将浮点权重和激活转换为窄整数,通常是推理的 8-bit。论文指出 8-bit 整数乘法器远比浮点数据通路更小且能耗更低,使 TPU 能在小 die 内装入远多 MAC。
256×256 矩阵单元使用 systolic 执行以减少统一缓冲区的读写。权重通过片上 Weight FIFO 从 8 GiB 权重内存送入,激活存于统一缓冲区,矩阵单元为密集矩阵设计。稀疏架构支持因部署周期短而省略。主机通过 PCIe 发送 TPU 指令;用户态驱动编译应用中的 TensorFlow 部分、重新格式化数据、缓存程序镜像并将权重写入 TPU 内存。论文称 TPU 从输入到输出运行大部分模型,以最大化计算时间相对于 I/O 时间。
执行模型有意确定性和最小化:加速器中无缓存、分支预测、乱序执行、多处理、推测性预取、多线程或上下文切换。这使芯片比面向吞吐的硬件更好地匹配 99 分位延迟。
证据
论文报告 TPU 平均比当时 GPU 或 CPU 基线快约 15x-30x,TOPS/Watt 高 30x-80x。包含主机开销后,表 6 中加权平均性能为 TPU 相对 Haswell 29.2x,K80 相对 Haswell 1.9x,使 TPU die 在实际工作负载组合上比 GPU die 快 15.3x。
MLP0 延迟表展示了严格尾部延迟目标下的批处理优势。CPU batch 16 耗时 7.2 ms、5,482 inferences/sec,已略超 7 ms 目标;GPU batch 16 耗时 6.7 ms、13,461 inferences/sec;TPU batch 200 耗时 7.0 ms、225,000 inferences/sec,仍满足目标。放宽延迟允许 CPU/GPU 使用更大 batch,但这些结果对面向用户需求无用。
功耗和 TCO 证据同样核心。TPU 服务器比 Haswell 有 17x-34x 更好的总性能/Watt,比 K80 服务器有 14x-16x。在增量指标上(排除主机 CPU 服务器),TPU 为 Haswell 的 41x-83x、K80 的 25x-29x。论文还报告了较差的能耗比例性:在 10% 负载下,TPU 仍使用 88% 满载功耗,论文将这一限制归因于较短的设计周期。
历史影响
本文锚定了 AI 计算历史的数据中心推理加速器分支。GPU 使训练变得实用,但生产推理创造了不同目标:低尾部延迟、高每瓦运算、量化算术、软件管理内存和现有数据中心服务器内的密集矩阵执行。TPU 的成功来自匹配实际工作负载组合,而非最大化通用 FLOP 指标。
局限
第一代 TPU 仅用于推理且针对量化密集工作负载优化。它缺乏稀疏架构支持,内存带宽相对有限,并仍为具有主机开销的 PCIe 协处理器。六个工作负载中四个为内存受限。低负载下能耗比例性较差。论文与 2015 部署窗口期可用的同期 Haswell 和 K80 系统比较,而非后来的 GPU 代际。
链接
- 所属计算范式:compute spine
- 相关卡片:Attention Is All You Need 2017
- 方法索引:accelerator_benchmarking
- Ledger 更新:compute bottlenecks