CPU、GPU、TPU 到底谁更“聪明”?从逻辑运算到光互连,一篇看懂 AI Infra

CPU、GPU、TPU 到底谁更“聪明”?从逻辑运算到光互连,一篇看懂 AI Infra

💡 原文中文,约12700字,阅读约需31分钟。
📝

内容提要

本文解析CPU、GPU、TPU的设计差异:CPU重延迟,GPU重并行吞吐,TPU为矩阵计算优化。AI负载以矩阵乘法为主,内存墙是性能瓶颈。GPU逻辑能力不弱,但复杂分支不如CPU。CPO不会消灭光模块,只是改变封装形式,两者将共存。AI Infra竞争核心是数据流动效率。

🔎

延伸解读

芯片选择:从“谁强”到“谁合适”

文章指出,CPU、GPU、TPU 的差异本质是晶体管预算的分配方案,而非简单的强弱之分。CPU 为不可预测的延迟优化,GPU 为并行吞吐优化,TPU 为确定性矩阵计算优化。实际选择应基于任务特性:分支多、串行依赖的任务适合 CPU;海量数据并行任务适合 GPU;形状稳定、矩阵占比高的负载可考虑 TPU。判断标准是有效算力利用率,而非峰值规格。

内存墙:AI 性能的真正瓶颈

文章强调,内存墙是 AI 加速的核心挑战:数据搬运成本远高于计算成本。以 H200 为例,70B 模型单并发解码时,每生成一个 token 需读取全部权重,带宽限制导致每秒仅约 30 个 token。因此,量化、大 batch、Kernel Fusion 等优化手段的核心目的都是减少数据搬运。理解 Roofline 模型有助于评估性能瓶颈是算力受限还是带宽受限。

CPO 与光模块:共存而非取代

文章澄清,CPO 并非消灭光模块,而是改变光电转换的封装位置。光模块的功能(发光、调制、探测、监控)依然存在,只是拆分为共封装光引擎、外置激光源和光连接。NVIDIA 发布 CPO 交换机的同时,明确表示可插拔光模块将并行发展。未来 CPO 将率先进入高带宽、高功耗场景,而可插拔模块在成熟网络和长距离场景中仍占主导。

Q&A

CPU、GPU、TPU 的设计目标分别是什么?

CPU 的设计目标是低延迟,适合处理分支多、串行依赖、不规则的小任务;GPU 的设计目标是大规模并行吞吐,适合数据并行、矩阵/向量密集的任务;TPU 的设计目标是矩阵计算的吞吐与能效,适合形状稳定、矩阵占比高、可编译成规则数据流的任务。

为什么 GPU 的逻辑运算能力并不弱?

GPU 的 ALU 支持整数运算、比较、移位、位翻转等逻辑运算,且能对海量数据并行执行,吞吐远超 CPU。例如比特币挖矿时的 SHA-256 哈希就是纯逻辑运算,GPU 表现出色。GPU 真正的弱点是处理复杂分支时可能出现 warp divergence,导致利用率下降。

什么是内存墙?为什么它是 AI 加速器的性能瓶颈?

内存墙是指数据搬运速度远慢于计算速度,导致计算单元等待数据。在 AI 负载中,矩阵乘法等计算很快,但数据从 HBM 等内存搬运到计算单元需要时间,且能耗高。例如 H100 的平衡点约为 295 FLOPs/Byte,意味着每搬一个字节需要近三百次运算才能喂饱计算单元,而逐元素加法等低算术强度的操作会受限于带宽。

TPU 的脉动阵列是如何工作的?

TPU 的脉动阵列是一个二维的乘加单元网格,例如 256×256 的阵列包含 65,536 个 8-bit 乘加单元。权重驻留在阵列中,激活值按时钟节拍从一侧流入,部分和在相邻单元间接力,结果从另一侧流出。每个单元不取指令、不做调度,只执行乘加和传递,因此面积利用率高。

CPO 会取代可插拔光模块吗?

CPO 不会完全取代可插拔光模块,而是两者共存。CPO 将光引擎移到交换芯片旁边,减少高速电信号损耗,但光模块中的激光器、调制器、探测器等功能依然存在,只是重新封装。例如激光器被做成可插拔的外置光源(如 OIF 的 ELSFP 规范),NVIDIA 也明确表示可插拔光模块技术将并行发展。

如何根据工作负载选择 CPU、GPU 或 TPU?

选择应基于负载特性:Web 服务、数据库等分支多、延迟敏感的任务适合 CPU;视觉、语音、LLM 训练等大规模并行任务适合 GPU,若在 Google 生态可评估 TPU;大批量离线推理可用 GPU/TPU;交互式低延迟推理需关注解码带宽和 KV Cache;渲染、视频、科学计算通常用 GPU。

为什么说 AI Infra 的竞争核心是数据流动效率?

因为芯片性能受限于数据搬运,而非计算本身。数据从存储到计算单元的流动速度、能耗和可靠性决定了有效算力。例如内存墙、互连带宽、集合通信等都会影响性能。因此,竞争焦点在于如何让数据以更低能耗、更少等待、更高可靠性流动,而不是单纯比较芯片算力。

🏷️

标签

➡️

继续阅读