上周末我把 Dwarkesh 那期 Reiner Pope 的访谈听了三遍。
第一遍坐高铁,戴着耳机昏昏沉沉,记得 MatX 在做 LLM 专用芯片。第二遍是周日早上煮咖啡,他讲到一句话我把火关掉了——"所有芯片设计,从最底下到最上面,都是同一件事"。第三遍我打开 Apple Note 边听边记,那天下午我没干别的,就在草纸上画 mux 电路。
Reiner 是 MatX 的 CEO。之前在 Google 的 Pathways 团队做编译器和 TPU 架构。MatX 现在做 LLM 专用芯片,对手是 NVIDIA。
听完我有一个判断:中文 AI 圈讲了两年"国产 GPU",大部分人讲错了方向。不是 GPU+1 的事。
下面我把 Reiner 那期的核心想法重新组织一遍,按我自己想清楚的顺序,而不是访谈的顺序。
Reiner 反复说一句话,我把它当作整篇的锚点:
所有芯片设计——从最底层的逻辑门,到最上面的整机架构——都是在同一件事上做权衡:计算和搬运之间,钱花在哪一头。
很抽象。我用一个具体例子把它砸实。
你写一行 c = a * b。CPU 里发生了什么?
a 从某个寄存器读出来,b 从某个寄存器读出来——两个 mux 电路把它们送到乘法器,乘法器算完一个数,再通过一个 mux 送回某个寄存器。
我盯着这个过程画了半小时。乘法器本身花了多少门电路?4p 个(p 是位宽)。寄存器堆的 mux 花了多少?24p 个。
也就是说一次乘法,你花在"算"上的钱是 4 块,花在"把数搬过来再搬回去"上的钱是 24 块。
5:1。
这就是为什么芯片设计的所有招数,最终都在解一道题——怎么把那个 24 压下来,怎么让算的钱占比更高一点。
systolic array 是这道题的一个解。
把一次乘法做成一个独立单元,每次都要从寄存器堆调数,调来调去 mux 的钱就上去了。
那把整个矩阵乘法烤进硬件呢。
128×128 的 systolic array 是这么干的:权重矩阵直接住在阵列里,不动。输入数据从一边流进来,流过每一个单元,每个单元做一次乘加,结果从另一边流出去。
权重不动这件事是关键。权重只在加载的时候搬一次,之后被反复用 N 次——N 等于输入的批量大小。
Reiner 那句话的英文我记下来了:quadratically more compute as you have only linearly more communication。
阵列变成两倍大,计算量变成四倍,但数据进出的带宽只翻一倍。
这就是 TPU 的核心招数。GPU 里的 tensor core 是同一招的小号版本——每个 SM 里嵌一个小 systolic array。MatX 现在在试一个折中:可拆可合的 systolic array,既能当大阵列用(TPU 的高效率),也能拆成小阵列用(GPU 的灵活性)。
我不知道这个想法工程上有多难落地。但它至少说明 MatX 在解的问题不是"做一颗中国的 H100"。是"重新决定 systolic array 该怎么切"。
这是访谈里我觉得最反直觉的一点。
FP4 比 FP8 快多少?大部分人会说 2 倍——位数减半,速度翻倍。
不是。是 3-4 倍。
为什么。乘法器的面积跟位宽是平方关系。一个 4 位乘法器需要 16 个 AND 门(4×4),一个 8 位乘法器需要 64 个(8×8)。从 8 位降到 4 位,乘法器面积变成 1/4。
面积变成 1/4,意味着同样面积下你能塞 4 倍的乘法器,理论极限是 4 倍速。
NVIDIA 在 B300 之后的规格里承认了这件事——FP4 是 FP8 的 3 倍速,差一点没到 4 倍,但已经远超 2 倍。
这件事对模型设计的影响很大。如果你以为低精度是线性收益,你会保守地停在 FP8。但收益其实是平方的,意味着 FP4 训练 / 推理是值得更激进押注的方向。
我猜接下来 12 个月会有更多模型把推理路径压到 FP4 甚至更低。不是因为模型变了,是因为芯片面积账算清楚了。
CPU 用 cache。TPU 用 scratchpad。
差别是什么。
cache 是硬件自己决定一份数据该住在哪里——上次访问过的住快的,没访问过的住慢的,硬件根据访问历史预测哪些该提前搬过来。这件事的好处是程序员不用管,硬件帮你优化;坏处是延迟不确定,因为你的数据有没有被踢出去取决于别的程序在干什么。
scratchpad 是程序员明确说这份数据住快的(指令 A)还是住慢的(指令 B)。麻烦。但延迟确定。
为什么高频交易公司不用 CPU 用 FPGA。就这个原因。他们不能接受"这条指令大部分时候 10ns 但偶尔 200ns"。
TPU 选 scratchpad 不是因为更牛逼。是因为 LLM 这种工作负载下,编译器能比硬件更好地预测数据该住哪——你提前知道下一个 token 算的时候需要哪些权重,硬件的预测能力反而是浪费。
这一点 NVIDIA 的 GPU 是混的——既有 cache 也有 scratchpad(叫 shared memory)。给了程序员选择权。代价是芯片更复杂。
这是另一个我以前没想清楚的事。
你以为时钟从 3GHz 拉到 5GHz,速度就提升 67%?
不是。
要把时钟拉高,每个时钟周期能做的事就得变少——否则信号传不完就跳到下个周期了。所以你得在中间塞一堆寄存器(叫 pipeline),把一件大事拆成 10 个小事,每个小事在一个周期里能完成。
塞的那些寄存器要占面积。占面积意味着算的部分占比下降。
吞吐量 = 每个周期能做多少事 × 一秒多少个周期。
你把第二项拉到 5GHz,第一项掉到 0.6 倍——总吞吐量可能就涨 20%,不是 67%。
更糟的是功耗。高频率意味着每秒翻转更多次,功耗跟频率几乎线性。
所以现在数据中心的芯片设计哲学,跟笔记本电脑芯片的哲学是反的。笔记本要 burst 速度(短时间冲刺),数据中心要 sustained throughput(持续吞吐)。
LLM 推理是持续吞吐问题。
这件事我想了很久才想明白。我之前一直觉得"提高时钟频率"是普适的好事。不是。在 LLM 这种工作负载下,提高频率换来的是面积浪费 + 功耗暴涨 + 边际吞吐。
MatX 大概率会跑在比 H100 低的频率上。这是工程选择,不是技术落后。
打开任何一颗现代 x86 CPU 的 die shot——分支预测器占的面积比 ALU(算术逻辑单元)大得多。
为什么。
CPU 的代码长这样:
```
if (条件) {
跳到 A
} else {
跳到 B
}
```
但你不能等到这条 if 算完才决定下一步去 A 还是 B——CPU 流水线已经在算后面 10 条指令了,你必须提前猜一个方向先算上。
猜对,省时间。猜错,把已经算的 10 条指令全部回滚重来。
为了让猜中率从 50% 拉到 95%+,现代 CPU 加了非常复杂的分支预测器——能记住程序里几千个分支点的历史,能根据上下文动态学习。这玩意儿吃面积,吃得吓人。
GPU 没有。GPU 的工作负载里"if 这个 / else 那个"少很多,大部分是直筒子的并行计算。砍掉分支预测器,省下来的面积塞更多核。
TPU 比 GPU 更极端——更少的控制电路,更大的 systolic array。
LLM 推理是什么形态。前向传播是直筒子的,几乎没有数据相关的分支。所以 LLM 芯片可以把分支预测器砍到最小,把那部分面积全部拿来塞计算单元。
这是 MatX 比 NVIDIA 在面积利用率上能做得更狠的根源之一。
讲到这一节的时候 Reiner 切换了一下语速,明显是他自己也觉得这件事有点神秘。
大脑跑在 1kHz 量级——比硅基芯片慢 100 万倍。
但大脑能用 20 瓦做实时的视觉、语言、推理。同样规模的能力,硅基系统大概需要几千瓦。
差别在哪。
不在频率。在结构。
大脑是稀疏的。一个神经元发个脉冲,下游只有一小部分神经元会被激活。硅基的稠密矩阵乘法每次都要把每个权重都过一遍。这是数量级的浪费。
但稀疏在硅基上是反人类的——SRAM 是按行读的,你要随机激活一小部分权重,访问模式破碎,带宽利用率掉到地板上。
这就是为什么过去 10 年大家说要做"类脑芯片"但没人成功。不是想法不对,是硅基硬件的物理结构跟大脑的稀疏结构是反的。
我猜这一关如果有人破,破的方法不会是模仿大脑结构,而是把大脑的稀疏改造成硅基能消化的形式——比如 block sparsity,比如 MoE 这种结构化的稀疏。
后者已经发生了。前者还没。
FPGA 是什么。
是一种你可以现场重新配置电路的芯片。今天它是个 GPU,明天你刷个 bitstream,它就变成专门做信号处理的 ASIC 了。
代价。
每一个 FPGA 上的查找表(LUT)能实现任意 4 输入 1 输出的逻辑,但需要 32 个晶体管。同样的逻辑如果直接焊死,3 个晶体管就够了。
10 倍的效率损失。
但为什么还有人用 FPGA。因为 ASIC 一次流片是 3000 万美元起步,FPGA 是 10000 美元起步。
如果你的工作负载每个月都在变(高频交易、5G 信号处理、医疗影像新算法),你换不起 ASIC,你只能用 FPGA。
LLM 这两年算法变化的速度——Transformer 出来 7 年了,主架构基本没动,注意力机制的几个改进(FlashAttention、GQA、MLA)都是兼容的微调。
这意味着 LLM 这个工作负载,正在从 FPGA 适合的形态,转向 ASIC 适合的形态。
这就是 MatX 的赌注。LLM 架构稳定了,可以流片专用芯片了,不用再继续用 GPU 这种"什么都能干所以什么都不极致"的通用产品。
我觉得这个判断方向上是对的。但有个东西我没想清楚——如果接下来出现一个 non-attention 的新架构(state space model、Mamba 的某个变体),MatX 的专用芯片会不会变成沉没成本。
我不知道。Reiner 在访谈里没正面回答这个问题,只说 MatX 的设计保留了一些可配置性。我猜他也不知道。这种事赌的就是趋势。
讲到这里我得停一下,给自己也给读者补充一个反向视角。
NVIDIA 不是看不到 LLM 专用化的趋势。Hopper、Blackwell 的 tensor core 一代比一代专。但 NVIDIA 不会一步走到"只能跑 LLM"的程度。原因是 NVIDIA 卖的不是芯片,是 CUDA 这套软件栈——从科学计算到自动驾驶到图形渲染,都吃这套架构。
砍掉通用性,NVIDIA 的护城——
不对,我不用这个词。
砍掉通用性,NVIDIA 多年积累的软件栈就没用了。这是 NVIDIA 不会做的事。
所以 LLM 专用芯片这个空,NVIDIA 自己不会填——必须由 MatX、Groq、Cerebras、SambaNova 这种新公司来填。
但同时,NVIDIA 在 LLM 这一块的性能差距,会比专用芯片大多少。这个差距如果只有 30%,没人会换。差距得是 3 倍以上,才能撬动客户从 CUDA 那套软件栈出走。
这就是 MatX 真正要解的问题。不是技术能不能做出来,是性价比上能不能拉开 3 倍。
我不知道他们能不能做到。但 Reiner 在访谈里给的所有信号都说明,他自己心里这个数算得很清楚——FP4 的 4 倍面积收益、systolic array 的可拆合设计、scratchpad 替换 cache 省下来的复杂度、砍掉分支预测器的面积、跑低频率换吞吐——每一条都是冲着把那 3 倍差距凑出来去的。
不是靠任何一条单独的优势。是靠 6-7 个小优势叠在一起。
我把这期访谈听三遍是有原因的。
它把我对 AI 基建的看法在两个层面上拧紧了一格。
第一层是技术——我以前看 GPU vs TPU vs FPGA vs 大脑,是把它们当成"四个互相竞争的方案"。听完这期我明白了,它们是同一道题的四个答案,差别在于把那把秤朝哪一边压:通用性 vs 专用性,频率 vs 吞吐量,灵活性 vs 面积效率,硬件智能 vs 编译器智能。
每个答案都对,但只对一种工作负载。
第二层是商业——我以前看 LLM 芯片创业,老觉得这是逆 NVIDIA 而动的难事。现在我觉得不是。这是 NVIDIA 主动不做的事。NVIDIA 的商业逻辑决定了它不能把芯片做到只跑 LLM。所以这个空间是真空的,但你得能把性能差距拉到 3 倍以上才有人换。
中文 AI 圈讲国产芯片,老停在第一层——"我们也能做 GPU"。但 GPU 这条路是 NVIDIA 已经站住的高地,新玩家追平都困难。
真正的机会在第二层。在那个"NVIDIA 不会做"的位置上。
MatX 在那个位置上。
它做不做得成,我猜不到。但它在解的问题,比"国产 GPU"那个问题大得多。
基于 Dwarkesh Podcast 与 MatX CEO Reiner Pope 的对谈整理。原文链接:https://www.dwarkesh.com/p/reiner-pope-2