#549. AI 芯片究竟如何工作?GPU/TPU 的底层设计

#549. AI 芯片究竟如何工作?GPU/TPU 的底层设计

49分钟 ·
播放数583
·
评论数2

📝 本期播客简介

本期我们克隆了:科技深度访谈播客《Dwarkesh Podcast》How do AI chips actually work? – Reiner Pope

本期节目是一场从芯片最底层一路搭到 AI 加速器架构的硬核技术对谈。主持人 Dwarkesh Patel 再次邀请 MatX CEO Reiner Pope,从最基础的 AND、OR、NOT 逻辑门开始,解释 AI 芯片究竟如何把矩阵乘法变成真实的电路结构。你将听到 multiply-accumulate 为什么是 AI 芯片的核心原语,full adder、mux、register file、systolic array、clock cycle、FPGA、ASIC、cache、scratch pad、GPU 与 TPU 这些概念之间到底如何相互连接。

这期节目最核心的问题是:在 AI 芯片里,真正昂贵的往往不是计算本身,而是数据移动、同步和通信。Reiner 用极其底层但清晰的方式解释,为什么低精度计算会带来平方级优势,为什么 tensor core / systolic array 能显著提升计算与通信的比例,为什么过快的 clock speed 反而可能伤害吞吐量,以及 GPU 和 TPU 的架构差异本质上是如何围绕矩阵乘法和数据搬运展开的。对于想理解 AI 算力底层逻辑的人来说,这是一堂从电路到架构的芯片设计入门课。

👨‍⚕️ 本期嘉宾

Reiner Pope,MatX 的 CEO。MatX 是一家专注 AI 芯片的新公司。Reiner 长期关注 AI 计算基础设施和芯片架构设计,擅长用从底层电路到系统架构的方式,解释 AI 芯片如何服务于大规模模型训练与推理。

⏱️ 时间戳

00:00 开场 & 播客简介

从逻辑门开始理解 AI 芯片

01:39 芯片内部到底有什么:从逻辑门、导线到矩阵乘法

02:43 为什么 multiply-accumulate 是 AI 芯片的核心原语

04:01 用 4-bit 乘法手算 AI 芯片里的基础计算

05:57 Full Adder:三个 bit 如何被压缩成两个 bit

06:32 Dadda Multiplier:用 full adder 高效完成乘法与累加

08:28 为什么 multiply-accumulate 在电路上有漂亮的 p×q 结构

低精度、数据移动与隐藏成本

09:19 FP4 和 FP8 能不能互换:芯片设计里的精度选择

10:37 Bit width 的平方缩放:低精度为什么如此有利

11:12 从 CUDA Core 看传统处理器的数据路径

13:00 Mux 是什么:一次“选择”背后的真实电路成本

14:19 数据移动比计算更贵:register file 到 ALU 的代价

15:35 Tensor Core 的动机:把更多面积花在真正的计算上

Systolic Array:把矩阵乘法固化进硬件

16:44 从单次乘加到矩阵-向量乘法:为什么要往外层 loop 走

17:30 Systolic Array 如何让计算按平方增长、通信按线性增长

18:52 权重本地保存:把矩阵放在计算发生的地方

19:20 如何慢速灌入权重,避免 X×Y 级别的外部布线

21:12 计算与通信的比例:从 gate 层到数据中心都反复出现的问题

22:12 TPU 里的大规模 systolic array:矩阵乘法最有效的电路机制

芯片设计的关键取舍

22:32 真正让芯片设计者纠结的问题:尺寸怎么定

23:29 Clock Cycle 是什么:芯片为什么需要全局同步

25:06 速度与可靠性:为什么必须保证计算赶上下一个 clock

26:19 Pipeline Register:用更多寄存器换更高频率

27:50 有反馈回路时,为什么插入 pipeline 会变难

29:38 过快的 clock speed 也会伤害吞吐量

30:43 吞吐量公式:每个周期能做多少事 × 每秒多少个周期

FPGA、ASIC 与可编程硬件

31:09 为什么高频交易会用 FPGA:确定性延迟与商业取舍

31:37 FPGA 如何模拟 ASIC:register、LUT 与大量 mux

33:08 “Field Programmable”到底是什么意思

33:59 Lookup Table:把 truth table 变成可编程 gate

35:17 为什么 FPGA 比 ASIC 贵一个数量级

37:32 慢十倍的原因:LUT 和 mux 带来的巨大开销

CPU、缓存与现代硬件架构

38:27 为什么 CPU 很难保证确定性 clock cycles

38:27 Cache 的不确定性:CPU 延迟为什么会受环境影响

40:56 Scratch Pad vs Cache:把内存控制权交给软件

41:31 现代硬件还算冯·诺依曼架构吗?

42:53 Branch Predictor:CPU 为什么要预测分支

44:00 大脑与芯片的高层比较:稀疏、共址内存与慢速时钟

GPU、TPU 与 AI 加速器架构

46:16 GPU 和 TPU 的高层差异:很多小 SM vs 少量大矩阵单元

47:10 Tensor Core 和 TPU MXU 为什么非常相似

47:36 大 Systolic Array 的优势与数据搬运瓶颈

48:32 MatX 的公开方向:Splittable Systolic Array

48:56 收尾与感谢

🌟 精彩内容

💡 AI 芯片最想做的事:矩阵乘法

Reiner 从最底层解释,AI 芯片的核心不是某种神秘操作,而是把大量矩阵乘法高效地映射到硬件上。而矩阵乘法最基本的计算单元,就是 multiply-accumulate:把两个数相乘,再把结果累加到已有结果上。

“AI 芯片最想计算的主要功能,是矩阵乘法。”

🧮 低精度为什么能带来巨大收益

节目中最重要的硬件直觉之一,是 bit width 的成本并不是线性增长,而是近似平方增长。也就是说,从 FP8 降到 FP4,不只是数字变短,而是乘法电路面积、功耗和吞吐量都会发生非常大的变化。这也是低精度计算能成为 AI 芯片核心优化方向的根本原因。

“bit width 存在这种平方 scaling。这非常有效,也是 low precision arithmetic 在 neural net 里这么好用的唯一原因。”

🔌 真正昂贵的不是计算,而是数据移动

Reiner 用 register file、ALU 和 mux 的例子说明,软件里看似简单的“选择一个寄存器”,在硬件里其实需要大量 AND、OR 和布线。对于小精度乘加来说,把数据从 register file 搬到 logic unit 的成本,可能比真正做乘法和加法还高很多。

“光是把数据从 register file 移到 logic unit,这部分工作就比 logic unit 本身贵很多很多倍。”

🏗️ Systolic Array 的核心思想:让计算多于通信

Tensor Core 和 TPU 中的 systolic array,本质上是把矩阵乘法的更大一层循环固化进硬件。它让权重矩阵尽量留在计算发生的地方,只把输入向量和输出结果搬进搬出,从而让计算量按平方增长,而通信量尽量保持在线性规模。

“这个问题在整个技术栈从上到下都会出现。”

⏱️ Clock Speed 不是越快越好

节目里对 clock cycle 的解释非常精彩:芯片通过全局时钟让大量并行电路同步,但如果为了提高频率插入太多 pipeline register,就会把大量面积花在同步和存储上,反而减少每个周期真正完成的计算量。因此芯片吞吐量不是只看频率,而是频率和每周期工作量的乘积。

“你可以把芯片的吞吐量理解成两个东西的乘积:每个 clock cycle 能做多少事,再乘以每秒有多少个 clock。”

🧩 FPGA 为什么灵活但昂贵

FPGA 能在部署后重新编程,是因为它用 LUT 和大量 mux 来模拟可配置的逻辑门和连线。但这种灵活性代价很高:一个在 ASIC 里只需要几个 gate 的逻辑,在 FPGA 里可能要通过几十个 gate 的 lookup table 和 mux 来实现。这解释了为什么 FPGA 通常比 ASIC 更贵、更慢、更耗能。

“所谓 programming,就是配置这些 mux 里的每一个。”

🧠 GPU 和 TPU 的根本差异

Reiner 用一个很直观的类比解释 GPU 与 TPU:GPU 像是在整颗芯片上铺了很多个很小的 TPU,每个 SM 里都有较小的 matrix unit 和 vector unit;而 TPU 则更像是少量但更大的矩阵单元。前者更灵活,后者更能摊薄矩阵乘法中的通信和控制成本。

“从非常高层的角度看,GPU 就像是在整颗芯片上铺了很多个很小很小的 TPU。”

🌐 播客信息补充

本播客采用原有人声声线进行播客音频制作,也可能会有一些地方听起来怪怪的

使用 AI 进行翻译,因此可能会有一些地方不通顺;

如果有后续想要听中文版的其他外文播客,也欢迎联系微信:iEvenight

展开Show Notes
yikai-
yikai-
10小时前
置顶
推荐看原视频,有大量黑板讲解
陀思妥耶夫斯基门下走狗:好嘞谢谢