来源: Substack (Dwarkesh Podcast) | Reiner Pope | Apr 29, 2026 分类: 其他 原文发表: Apr 29, 2026 纪要生成: 2026-05-07
Reiner Pope,AI 芯片初创公司 MatX 的 CEO,曾就职于 Google,负责软件效率、编译器以及 TPU 架构设计。他被 Dwarkesh 誉为世界上极少数能贯通从芯片设计到模型架构的全栈 AI 专家之一。本集采用特殊的黑板讲座形式,从算术强度(roofline)分析、并行策略、内存层次结构等多个维度,深入剖析了大规模语言模型(LLM)在训练和推理过程中的核心数学原理与工程约束。
本节重点 - 推理速度与成本之间的权衡主要由批处理大小(batch size)决定。 - 存在一个由硬件决定的固有时延下限,源于必须将所有权重从内存中读出。 - 每 token 成本曲线随批处理增大而下降,最终受限于计算吞吐,呈现“先快后平”的趋势。 - 实现计算与内存带宽平衡的批处理大小,仅依赖于硬件 FLOPs/带宽 比和模型稀疏度,与模型总规模无关。
详细精要
t_compute) = (批处理大小 B × 活跃参数量) / 芯片的浮点运算次数 FLOPs。此处忽略了相对较小的注意力计算开销。t_memory) = (模型总参数量 / 内存带宽) + ( B × 上下文长度 × 每 token 字节数) / 内存带宽。实际延迟是上述两者之和或在两者中取最大值,因为计算和内存读取可能重叠或形成瓶颈。
延迟分析:内存读取权重设定延迟下限:
t_memory 的一个分量——权重读取时间——是恒定不变的,因为无论处理多少个用户的 token,整个模型的权重都必须被读取。这个下限可以通过 HBM 容量除以带宽的物理极限来理解:288 GB 容量 / 20 TB/s 带宽 ≈ 15 毫秒。
成本分析:批处理大幅摊销权重读取成本:
t / B。权重读取时间(常数)除以 B 后形成一条双曲线,意味着在批处理很小时,权重读取成本极高;随着 B 增加,这一成本被不断分摊,迅速降低。💬 精华片段(中文)
"如果我们不把多个用户批处理在一起,你获得的成本和经济效率可能会比批处理在一起时差一千倍。"
"If you do not batch together many users, the cost and the economics you get can be a thousand times worse than if you do batch many users together."
B = (FLOPs/带宽) × (活跃参数量 / 总参数量)。实际结果:用 DeepSeek 的参数代入,B ≈ 300 / 4 = 75。但实际应用中,考虑到非理想效率,人们通常会将此值翻倍或三倍,即大约在2000左右。Reiner 强调,这里是 2000 个并发序列 (sequences),而非 2000 个 token。
来自 API 服务的推论:“列车时刻表”与队列延迟:
这样一个系统的吞吐量为 B × (1000ms / 20ms) = B × 50。若 B=2000,则吞吐量为 100,000 tokens/秒。考虑到 Gemini 曾公布其全球流量高达数亿 tokens/秒,这样的吞吐能力仅为全球头部流量的千分之一量级,表明达到规模效应仍需庞大的基础设施。
稀疏性的经济学:越多越好的简单逻辑:
本节重点 - 混合专家层(MoE)的核心通信模式是全对全(all-to-all),这与单机架内的全互联拓扑完美匹配。 - 机架边界是扩展 MoE 模型规模的最大物理障碍,因为跨机架的网络带宽通常比机架内慢数倍。 - 扩大机架的规模(即增加其内的 GPU 数量)是解决这一瓶颈的关键趋势,其工程难度主要在于物理布线和散热。
详细精要
所有专家的输出被重新收集并求和,同时与输入 token 的残差连接(residual connection)相加,形成最终输出。
专家并行(Expert Parallelism)与物理映射:
Nvidia 的 NVLink 交换机 设计使得机架内所有 GPU 能以极高的带宽实现两级跳转(GPU -> 交换机 -> GPU)的互联,完美支撑了 all-to-all 通信。
机架(Rack)的物理限制成为扩展瓶颈:
从 Hopper (8 GPU) 到 Blackwell (72 GPU),再到 Rubin (500+ GPU),机架规模的扩大主要是产品形态决策(从托盘到机架)和物理设计的突破,而非单纯的技术壁垒。
对 AI 进展的宏观解读:
本节重点 - 流水线并行是按模型的层维度切分,将不同层组放在不同的机架上。 - 相比专家并行中的 all-to-all 通信,流水线并行中的点对点通信对带宽要求极低,因此非常适合跨机架部署。 - 流水线并行主要解决的是内存容量问题,而不是计算或内存带宽问题。
详细精要
模型可扩展的维度有:层数、模型维度 (d_FF)、专家数。每一个维度都可以作为切分维度,当这些数值足够大时,沿该维度切分就会变得有利可图。
流水线并行的通信成本分析:
结论:流水线并行可以非常自然地跨多个机架进行,甚至可以做到每执行一层就换一个机架,而不会在通信上形成瓶颈。
流水线并行的收益与代价:
💬 精华片段(中文)
"这个分析的美妙之处在于,切分的方式与模型自身的架构完全吻合。"
"The cutting matches the model architecture."
本节重点 - 流水线并行虽然能完美分摊权重内存的容量压力,但完全无法分摊 KV 缓存的内存容量压力。 - 这是因为在流水线中保持 GPU 忙碌需要同时在线的序列数(global batch size)与流水线阶段数成正比,这会按比例增加 KV 缓存的总量,抵消掉容量分摊的增益。 - 这使得推理时的主要并行策略转向了专家并行,将模型尽可能约束在单个机架内。
详细精要
c_mem = (N_total / (E * P)) + (B * L * bytes_per_token / (E * P)),其中 E 是专家并行度,P 是流水线并行度。N_total) 能被 E 和 P 完美分摊。将这个 B 的表达式代入上述等式后,分母上的 P 就会与分子上的 P 相抵消。最终导致无论 P 增加到多少,KV 缓存的内存开销项都保持不变。
KV 缓存无法被流水线并行的原因:
结论:流水线并行对缓解 KV 缓存内存的增长“完全无效(sucks from both points of view)”。
对现实推理架构的推论:
E),直到占满整个纵向扩展域的规模(如一整个机架的 64 张 GPU)。P) 会被压到最低,也许是 1 或 2,足以让模型权重装进内存即可。t_mem,从而降低了单token的生成延迟。本节重点 - 决定“最优”训练量的框架应该从单纯的最小化预训练损失,转向最小化预训练 + RL训练 + 推理三部分的总计算成本。 - 一个强启发式原则是:当各部分的成本相等时,总成本趋向最小化。 - 基于此和公开流量估算,预测像 GPT-5 这样的模型,其训练数据量可能远超 Chinchilla 最优值,可达百倍之多。
详细精要
x 和 1/x 等函数关系中是一种常见特性。将这一原则应用于整个模型生命周期,即希望预训练成本≈ RL训练成本≈ 推理成本。
成本项建模:
推理成本 = 2 × 活跃参数量 × 推理数据量 (D_inference) 。
数据量的推算:
D_pretrain ≈ D_RL (after inefficiency factor) ≈ D_inference。与现有信息的印证:有传言称一个最新前沿模型使用了约 150 万亿 token 进行预训练。这和我们估算出的推理数据量级在同一个数量级。
过训比 (Over-training ratio):
D_chinchilla ≈ 20 × 活跃参数量 = 2 万亿 tokens。💬 精华片段(中文)
"这就是为什么你应该在所有地方进行近似计算,因为这些数字背后有着巨大的误差区间。但把A等同于B并得出结论,这种事本身就很有启发性。"
"This is why you should just approximate everywhere, because there are big error bars on this. But it's kind of empowering to just set A equal to B and figure it out."
本节重点 - API 定价模式间接暴露了模型的算力-内存瓶颈边界。 - 对超长上下文收取更高溢价,反映了计算时间与内存读取时间存在一个由内存带宽主导的交叉拐点。 - 缓存命中价格反映了不同存储层级(HBM, DDR, SSD)的成本结构,揭示了“重计算存内存”还是“重内存存计算”的经济学权衡。
详细精要
t_compute/B)近似为一条常量;而内存成本随着上下文长度的增加而线性增长。定价的拐点(200K)正是对该交叉点的一个市场反映。
反推模型参数(每token字节数):
(B × L × bytes_per_token) / 内存带宽 = (活跃参数 × B) / FLOPs。bytes_per_token = (活跃参数 / L) × (内存带宽 / FLOPs)。L=200,000,(内存带宽/FLOPs) ≈ 1/300,计算出 bytes_per_token ≈ 1667,约 2 KB。这个数值与典型的注意力实现是吻合的。例如,假设模型有8个 KV 头(KV heads),头维度(d_head)为 128,并且像 Character.AI 和 Gemma 那样跨层共享上下文,那么每个 token 存储的字节数就是 层组数 × 2 × d_head × KV_heads,算下来恰好是 1 × 2 × 128 × 8 = 2048 字节。稀疏注意力则是另一种达到此数据量的路径。
输入(Prefill)与输出(Decode)的定价差异:
t 对 pass长度 的图上,t_compute 是常数,而 t_mem 是一条随 pass 长度增加而下降的曲线。因此,当 pass 长度很大(Prefill)时,内存瓶颈被打破,每 token 的平均内存读取时间极低,此时主要浪费在计算上,利用率更高。而 pass 长度为 1(Decode)时,内存带宽瓶颈达到峰值,每 token 单位时间成本最高。输出更贵,恰恰说明了这些模型在解码阶段时受内存带宽制约的程度之深。
缓存命中定价与内存层级:
t_compute_per_token × GPU租金/秒。bytes_per_token × (本身存储占用/该存储总量) × 该部件租金/秒 × 持有时间。本节重点 - 神经网络和密码学协议在高层结构上存在惊人的“趋同进化”,都高度依赖信息混合和置乱。 - 但两者目标截然相反:密码学旨在摧毁信息结构以生成随机性,而神经网络旨在从随机性中提取结构。 - 密码学中的 Feistel 网络(用于构建可逆函数)被跨界应用到神经网络中,催生了 RevNets(可逆网络),以解决训练中的内存占用问题。
详细精要
两者不约而同地使用了“搅拌”信息的思想:先进行局部变换,再混合,再重复。
可微性作为分水岭:
残差连接(Residual Connections)和层归一化(LayerNorm)等机制让网络的梯度流稳定可控;而密码学设计则会刻意避免此类结构,以增加其破解难度。
密码学在神经网络中的应用——RevNets:
y' = y + F(x)。RevNets 变体:输入是一对 (x, y),输出是 (y + F(x), x)。通过这种结构,无论 F 是否可逆,整个网络层都是可逆的。💬 精华片段(中文)
"神经网络和人造密码,在某种程度上都在做同一件事:用复杂的方式把信息搅在一起。只不过一个为了看清,一个为了隐藏。"
"There's this convergent evolution where they both need to jumble information across all their inputs. For cryptographic protocols, it’s to make sure that each new input into a hash function will totally scramble what happens. For neural networks, of course, they need to consider how this piece of information changes what you should make of this other piece of information."
| 术语 | 解释 |
|---|---|
| 算术强度分析(Roofline Analysis) | 一种性能评估模型,用于判断一个计算任务是受限于计算吞吐率(FLOPs)还是内存带宽(Memory Bandwidth)。 |
| Blackwell NVL72 | Nvidia 的一款包含 72 块 GPU 的超大规模机架,其内部通过高速 NVLink 实现全互联。 |
| HBM (High Bandwidth Memory) | 高带宽内存,一种 3D 堆叠的内存技术,提供远超传统 DDR 内存的带宽,是 GPU 的核心存储。 |
| 活跃参数 / 总参数 (Active/Total Parameters) | 在 MoE 模型中,总参数是模型存储的所有权重。在一次推理中,每个 token 只会激活一部分专家,被激活的专家所对应的参数量即为活跃参数。 |
| KV 缓存 (KV Cache) | 在自回归解码过程中,将先前所有 token 的 Key 和 Value 向量存储起来,避免每个新 token 生成时都重复计算,是“用内存换计算”的典型例子。 |
| MFU (Model FLOPS Utilization) | 模型 FLOPS 利用率,指在模型实际运行中峰值算力的有效利用百分比,是衡量系统效率的关键指标。 |
| FP4 | 一种 4 位浮点数格式,用于极低精度的模型权重和计算,大幅提升吞吐并减少内存占用。 |
| MoE (Mixture of Experts) | 混合专家模型,一种由多个子网络(专家)和一个门控路由器组成的架构,每次只激活部分专家进行计算,实现条件计算。 |
| 专家并行 (Expert Parallelism) | 将 MoE 模型的不同专家放置在不同 GPU 上的一种并行计算策略,通信模式为 all-to-all。 |
| 全对全 (All-to-All) | 一种通信模式,在此模式下每个并行计算单元都需要向其他所有单元发送数据。 |
| NVLink / NV 交换机 | Nvidia 的一项高速点对点及交换式互联技术,用于连接机架内的 GPU,构成纵向扩展网络。 |
| 纵向扩展 (Scale-up) / 横向扩展 (Scale-out) | Scale-up 指增强单节点或单机架内部的计算能力(带宽极高),Scale-out 指通过增加更多节点/机架来扩展(带宽相对较低)。 |
| 流水线并行 (Pipeline Parallelism) | 将模型按层切分到不同的设备上,数据像流水线一样在不同设备间依次传递处理。 |
| 微批处理 (Micro-batching) | 将一个大的批次拆分成更小的批次依次处理,常用于缓解流水线并行中的气泡问题。 |
| Chinchilla 最优 | 由 DeepMind 的论文提出,指在给定计算预算下,模型参数和数据量应按接近 1:20 的比例扩展,以实现最低的预训练损失。 |
| 6ND 公式 | 一个在工程中广泛使用的近似公式,用于估算用 N 个参数训练 D 个 token 所需的总浮点运算次数,约为 6ND。 |
| Prefill / Decode | 大模型推理的两个阶段。Prefill 阶段处理所有输入 token 并填充 KV 缓存(计算密集型);Decode 阶段每次生成一个新 token(内存带宽密集型)。 |
| Flash Attention | 一种精确、快速且内存高效的注意力算法,通过分块在 SRAM 中执行计算,避免将大注意力矩阵写入 HBM。 |
| DDR | 双倍数据率同步动态随机存取内存,比 HBM 慢得多,但成本更低,通常作为 CPU 的内存或更高层的缓存。 |
| 物化/重新物化 (Materialization/Rematerialization) | 将计算结果保存在内存中(物化)以备后用。当需要时,如果未保存,则通过重新计算得出(重新物化)。 |
| Feistel 网络 (Feistel Network) | 一种密码学中常用的对称结构,能够用任何(甚至不可逆的)函数构造出可逆的分组密码块。 |
| RevNets (Reversible Networks) | 可逆残差网络,利用 Feistel 网络的原理,使得神经网络的中间激活可以通过逆运算重建,从而在训练中节省大量内存。 |
| 差分密码分析 (Differential Cryptanalysis) | 一种密码分析技术,通过分析特定输入差异如何影响输出差异来破解密码。与神经网络的鲁棒性研究有共通之处。 |