大模型推理的延迟、吞吐与定价逻辑

大模型推理的延迟、吞吐与定价逻辑

116分钟 ·
播放数1
·
评论数0

# 大模型推理的延迟、吞吐与定价逻辑

本播客翻译整理自英文原播客《Reinerpope》。

> 用少量公式、公开 API 定价和系统约束,拆解大模型推理中的延迟、吞吐、长上下文成本,以及训练与部署背后的经济逻辑。

## 导语

本播客翻译整理自英文原播客《Reinerpope》。这是一期偏技术但非常值得听的“大模型基础设施课”。节目从用户最直观的“为什么更快响应要更贵”讲起,一路推到 batch size、内存带宽、KV cache、MoE 通信、流水线并行,再延伸到 API 定价与训练规模反推。最大亮点是:很多看似黑箱的前沿模型服务策略,其实可以用几条简单的系统模型和公开价格信息推出来。

## 主持人

本期主持人以追问“现象背后的第一性原理”为主线,不停把抽象的训练与推理问题落到用户可感知的延迟、吞吐和价格上。这种从产品体验一路追到硬件、并行策略和成本结构的提问方式,让整期内容既有技术深度,也更容易建立整体理解。

## 嘉宾

Reiner Pope 以近似“黑板推导”的方式讲解前沿大模型是如何训练和服务的。他的价值不在于罗列结论,而在于把芯片带宽、模型结构、并行策略、上下文长度和商业定价放进同一套分析框架里,帮助听众看清这些系统约束是如何共同决定模型能力与成本的。

## 原始页面

- 原始链接:[Reiner Pope – The math behind how LLMs are trained and served](podcasts.apple.com)

## 亮点

- 从 batch size 入手,解释为什么推理延迟有下界、为什么批处理会直接影响价格与吞吐。

- 用屋顶线分析拆开计算时间、权重读取和 KV 缓存读取,说明长上下文为什么会迅速把系统拖向内存瓶颈。

- 讲清 MoE 的真实收益与代价:稀疏性可以省算力,但扩展上限常常卡在机架内外的全对全通信。

- 对比专家并行与流水线并行,说明它们分别解决什么问题,以及流水线气泡、微批处理和 KV 缓存为何限制了实际收益。

- 从公开 API 定价反推底层成本结构,分析长上下文价格拐点、每 token 的 KV cache 开销,以及解码为何比预填充更贵。

- 进一步把推理吞吐、部署时长与缩放规律联系起来,讨论预训练、强化学习和最终推理三部分成本为何可能逐渐接近。

## 章节目录

- `00:00` 批大小如何决定推理延迟与成本

这一章从用户常见的“加钱换更快响应”现象切入,解释了大模型推理里延迟和价格背后的核心变量其实是批大小。Reiner 用屋顶线分析把推理时间拆成计算时间、权重读取时间和 KV 缓存读取时间,并说明不同瓶颈如何随批大小和上下文长度变化。重要之处在于,这套简单模型已经足以解释为什么延迟存在下界、为什么批处理极其关键,以及为什么上下文长度会显著影响系统效率。

- `12:07` 批大小、带宽与推理吞吐

这一章围绕推理中的批大小展开,解释了随着 batch 增大,权重读取等内存开销会被摊薄,系统最终从带宽瓶颈转向计算瓶颈。对话进一步给出一个实用估算:临界批大小大致与硬件常数和模型稀疏度相关,常见 GPU 上可近似看作“批大小大于约 300 倍稀疏度”,实践中往往还会再放大。后半段又把这个结果换算成排队延迟、HBM 读写时间和每秒 token 吞吐,帮助理解它在真实服务系统里的意义。

- `24:40` MoE稀疏性的收益与机架通信瓶颈

这一章先讨论提高 MoE 稀疏度对模型质量的实际影响:在一些早期实证结果里,固定激活参数规模时,增加专家数量仍能提升效果,但总参数增长与收益并不成比例。随后话题转向工程实现,解释了标准 MoE 层的路由方式、专家并行在 GPU 上的铺法,以及由此产生的全对全通信模式。最后重点说明,MoE 的规模上限往往不是算法本身,而是机架内外网络带宽、交换结构和布线密度等硬件约束。

- `37:23` 机架扩展、并行策略与流水线气泡

这一章先从机架的物理限制讲起,解释了线缆空间、重量、供电和散热如何共同限制大模型部署规模,也由此引出更大内存机架为何推动了超大参数模型落地。随后讨论了 MoE 的通信模式,以及为什么专家并行更适合同机架内,而跨机架更适合采用流水线并行。最后一部分分析了流水线并行的收益与代价:它主要缓解的是每个机架的内存容量瓶颈,但也会带来微批处理、流水线气泡和架构实现复杂度等问题。

- `50:14` 流水线训练与推理中的内存权衡

这一章先解释了训练里的流水线并行为什么需要在前向传播后“硬停顿”,再统一切到反向传播,以及批大小在收敛效率和系统总训练时间之间的权衡。随后讨论推理阶段的流水线并行:它对延迟基本中性,主要作用是降低每个机架需要承载的权重内存。进一步分析后指出,随着流水线阶段增加,权重内存会下降,但 KV 缓存不会因此按 GPU 继续缩小,最终会成为主导项,这也解释了为什么实际推理更偏向大量专家并行、少做流水线。

- `01:02:15` 推理扩展的瓶颈与训练推理成本平衡

这一章先讨论前沿实验室在推理时为何大多仍处于单一 scale-up 域内,并区分了流水线能解决模型容量问题、却不能解决上下文长度问题。对话进一步指出,真正限制更大规模推理的关键不是内存容量,而是跨机架带来的延迟和权重加载所需的内存带宽。后半段转向训练与推理的总成本权衡,用启发式方法估算预训练、强化学习和最终推理三部分的计算投入,认为三者在成本上可能会趋于接近。

- `01:15:16` 从推理成本反推训练规模与定价

这一章先讨论了 RL token 与预训练 token 的成本权衡,并尝试用推理吞吐、部署时长和 Chinchilla 缩放定律,粗略反推出模型可能的预训练数据规模与“过度训练”程度。随后话题转向 API 定价,结合 Gemini 1.5 在长上下文下的分档价格,分析上下文长度如何影响计算与内存成本。最后,他们进一步用价格拐点估算每个 token 的 KV cache 字节数,并讨论这种数量级在稠密注意力和稀疏注意力设计下为何是合理的。

- `01:27:56` 长上下文的内存瓶颈与缓存成本

这一章围绕预填充、解码和 KV 缓存的成本结构展开,讨论为什么解码比预填充贵得多,以及这背后反映出的内存带宽瓶颈。对话进一步比较了缓存命中、重计算和不同内存层级(HBM、DDR、Flash)的取回与持有成本,说明长上下文真正受限的不是纯算力,而是内存带宽和容量。这也解释了为什么上下文长度在近年停留在几十万 token 附近,难以继续大幅扩展。

- `01:40:31` 内存层级成本与可逆网络

这一章先讨论推理部署中的内存层级选择,围绕 HBM、DDR、闪存和机械硬盘,解释“持有时间”和“取回时间”如何共同决定成本,并尝试从 API 的时长与价格反推底层使用的是哪一层存储。随后话题转向密码学与神经网络的相似性与差异,尤其是两者都依赖信息混合,但优化目标几乎相反。最后重点介绍了从密码学借鉴来的费斯特尔结构和可逆网络,说明它如何在训练中用更多计算换取更低的激活内存占用。

- `01:54:12` 结束致谢

这一章只有简短的结束语,表达了感谢。内容虽短,但明确传达了对对方参与和回应的礼貌致意,标志着这段交流的收尾。

## 章节摘要

### 00:00 - 12:07 批大小如何决定推理延迟与成本

这一章从用户常见的“加钱换更快响应”现象切入,解释了大模型推理里延迟和价格背后的核心变量其实是批大小。Reiner 用屋顶线分析把推理时间拆成计算时间、权重读取时间和 KV 缓存读取时间,并说明不同瓶颈如何随批大小和上下文长度变化。重要之处在于,这套简单模型已经足以解释为什么延迟存在下界、为什么批处理极其关键,以及为什么上下文长度会显著影响系统效率。

- 推理性能分析主要看两类硬件约束:内存带宽和算力吞吐。

- 计算时间大致随批大小线性增长,而内存时间由固定的权重读取和随批大小增长的 KV 缓存读取组成。

- 对固定硬件配置而言,延迟存在下界,因为模型总参数必须先从内存读入芯片。

- 上下文长度变长会推高 KV 缓存读取开销,使系统从算力受限转向内存受限;稠密注意力通常近似线性增长,稀疏注意力扩展性更好。

### 12:07 - 24:40 批大小、带宽与推理吞吐

这一章围绕推理中的批大小展开,解释了随着 batch 增大,权重读取等内存开销会被摊薄,系统最终从带宽瓶颈转向计算瓶颈。对话进一步给出一个实用估算:临界批大小大致与硬件常数和模型稀疏度相关,常见 GPU 上可近似看作“批大小大于约 300 倍稀疏度”,实践中往往还会再放大。后半段又把这个结果换算成排队延迟、HBM 读写时间和每秒 token 吞吐,帮助理解它在真实服务系统里的意义。

- batch size 很小时,权重和 KV 的读取开销难以分摊,单位成本很高;batch 变大后,计算时间会逐渐成为主导。

- 为简化分析,讨论中先忽略 KV fetch,把权重读取时间与权重乘法时间设为相等,得到临界批大小与 FLOPS、内存带宽和稀疏度的关系。

- 在大多数 GPU 上,这个硬件比值大约是 300,因此可粗略估算批大小需要大于约 300 倍稀疏度;像 DeepSeek 这类稀疏模型会落到约 2000 到 3000 token 的量级。

- 系统可以按固定节拍发出新 batch,例如每 20 毫秒一班;这决定了最坏排队延迟,并可进一步换算出每秒 token 吞吐的大致规模。

### 24:40 - 37:23 MoE稀疏性的收益与机架通信瓶颈

这一章先讨论提高 MoE 稀疏度对模型质量的实际影响:在一些早期实证结果里,固定激活参数规模时,增加专家数量仍能提升效果,但总参数增长与收益并不成比例。随后话题转向工程实现,解释了标准 MoE 层的路由方式、专家并行在 GPU 上的铺法,以及由此产生的全对全通信模式。最后重点说明,MoE 的规模上限往往不是算法本身,而是机架内外网络带宽、交换结构和布线密度等硬件约束。

- 实证结果显示,在固定激活参数规模时,提高 expert count 仍可能提升模型质量,但需要用大幅增加的总参数换取有限收益。

- 提高稀疏度可以节省计算时间,但通常需要更大的 batch size 来摊薄内存读取开销,同时也会增加内存容量需求。

- 标准 MoE 层由路由器、多个专家 MLP、汇聚求和和残差连接组成,部署时通常采用专家并行,把不同专家放到不同 GPU 上。

- MoE 的通信模式是全对全,机架内高速互连较适合这种模式,但跨机架通信通常慢很多,因此会成为扩展 expert layer 的主要瓶颈。

### 37:23 - 50:14 机架扩展、并行策略与流水线气泡

这一章先从机架的物理限制讲起,解释了线缆空间、重量、供电和散热如何共同限制大模型部署规模,也由此引出更大内存机架为何推动了超大参数模型落地。随后讨论了 MoE 的通信模式,以及为什么专家并行更适合同机架内,而跨机架更适合采用流水线并行。最后一部分分析了流水线并行的收益与代价:它主要缓解的是每个机架的内存容量瓶颈,但也会带来微批处理、流水线气泡和架构实现复杂度等问题。

- 现代机架已经逼近物理极限,线缆空间、机架重量、供电和散热之间存在明显的相互制约。

- 总参数规模受纵向扩展能力限制,而激活参数规模更多受算力成本限制;更大的 scale-up 域让 5T 级模型加上 KV 缓存成为可能。

- MoE 的全对全通信强烈偏好同机架内的完整连接,因此跨机架时更适合结合数据并行或流水线并行。

- 流水线并行本身不直接提升推理运行时间,但能显著降低单个机架的内存压力;代价是需要微批处理,并会引入流水线气泡和实现上的复杂性。

### 50:14 - 01:02:15 流水线训练与推理中的内存权衡

这一章先解释了训练里的流水线并行为什么需要在前向传播后“硬停顿”,再统一切到反向传播,以及批大小在收敛效率和系统总训练时间之间的权衡。随后讨论推理阶段的流水线并行:它对延迟基本中性,主要作用是降低每个机架需要承载的权重内存。进一步分析后指出,随着流水线阶段增加,权重内存会下降,但 KV 缓存不会因此按 GPU 继续缩小,最终会成为主导项,这也解释了为什么实际推理更偏向大量专家并行、少做流水线。

- 训练中的流水线并行需要先积累完整批次,再统一进入反向传播,否则会出现流水线空泡。

- 批大小越小越有利于收敛,但从系统总训练时间看又更差,最优点来自两者之间的折中。

- 在推理里,流水线并行不会改善延迟,只是把模型权重分摊到更多机架上,从而降低单机架内存需求。

- 增加流水线阶段会持续降低权重占用,但 KV 缓存无法在批大小或流水线阶段上有效摊薄,因此很快成为主要内存瓶颈。

### 01:02:15 - 01:15:15 推理扩展的瓶颈与训练推理成本平衡

这一章先讨论前沿实验室在推理时为何大多仍处于单一 scale-up 域内,并区分了流水线能解决模型容量问题、却不能解决上下文长度问题。对话进一步指出,真正限制更大规模推理的关键不是内存容量,而是跨机架带来的延迟和权重加载所需的内存带宽。后半段转向训练与推理的总成本权衡,用启发式方法估算预训练、强化学习和最终推理三部分的计算投入,认为三者在成本上可能会趋于接近。

- 流水线并不能提升上下文长度,但可以帮助容纳更大的模型参数,因此机架容量未必是模型规模的主要限制。

- 跨机架推理的主要问题是延迟,尤其在解码阶段是串行执行时,这些延迟无法被并行隐藏。

- 更大的 scale-up 域之所以重要,核心不在总内存容量,而在于可以并行利用更多 GPU 的内存带宽来加载权重。

- 按对预训练、强化学习和推理成本的启发式估算,这三类 token 数量最终可能处在相近量级。

### 01:15:16 - 01:27:56 从推理成本反推训练规模与定价

这一章先讨论了 RL token 与预训练 token 的成本权衡,并尝试用推理吞吐、部署时长和 Chinchilla 缩放定律,粗略反推出模型可能的预训练数据规模与“过度训练”程度。随后话题转向 API 定价,结合 Gemini 1.5 在长上下文下的分档价格,分析上下文长度如何影响计算与内存成本。最后,他们进一步用价格拐点估算每个 token 的 KV cache 字节数,并讨论这种数量级在稠密注意力和稀疏注意力设计下为何是合理的。

- 如果按总机器时间拉平,RL 的效率低于预训练,因此 RL token 数通常应少于预训练 token 数。

- 他们用每秒 token 吞吐和两个月部署期做估算,得到单个模型可能服务约两百万亿个 token,并拿它与 Chinchilla 最优 token 数比较。

- Gemini 1.5 在超过 20 万上下文 token 后价格上涨 50%,被解读为成本曲线在该处接近计算时间与内存时间的交叉点。

- 基于 20 万 token 的拐点和激活参数假设,他们估出每个 token 大约对应接近 2KB 的存储开销,并认为这可由共享全局上下文的稠密注意力或稀疏注意力实现。

### 01:27:56 - 01:40:31 长上下文的内存瓶颈与缓存成本

这一章围绕预填充、解码和 KV 缓存的成本结构展开,讨论为什么解码比预填充贵得多,以及这背后反映出的内存带宽瓶颈。对话进一步比较了缓存命中、重计算和不同内存层级(HBM、DDR、Flash)的取回与持有成本,说明长上下文真正受限的不是纯算力,而是内存带宽和容量。这也解释了为什么上下文长度在近年停留在几十万 token 附近,难以继续大幅扩展。

- 按每个 token 来看,预填充更便宜而解码更贵,说明系统在解码阶段更容易受到内存带宽限制。

- 缓存命中之所以便宜,是因为 KV 缓存已经保存在内存中;缓存未命中则需要从 token 重新计算整个 KV。

- KV 缓存可以存放在 HBM、DDR 或 Flash 中,不同层级在存储成本和取回成本之间存在权衡。

- 超长上下文的主要限制来自内存带宽和内存容量,而不是计算成本;稀疏注意力虽有帮助,但不能无限提升而不损失质量。

### 01:40:31 - 01:54:12 内存层级成本与可逆网络

这一章先讨论推理部署中的内存层级选择,围绕 HBM、DDR、闪存和机械硬盘,解释“持有时间”和“取回时间”如何共同决定成本,并尝试从 API 的时长与价格反推底层使用的是哪一层存储。随后话题转向密码学与神经网络的相似性与差异,尤其是两者都依赖信息混合,但优化目标几乎相反。最后重点介绍了从密码学借鉴来的费斯特尔结构和可逆网络,说明它如何在训练中用更多计算换取更低的激活内存占用。

- 选择哪一层内存,本质上是在平衡“把内容存住”的成本和“把内容取回到 HBM”的成本。

- 对 API 中五分钟和一小时这类时长的讨论,可能对应不同存储层级,并可用容量除以带宽得到的“排空时间”来判断。

- 密码协议和神经网络都需要把输入信息充分混合,但前者是把结构变得像随机,后者是从看似随机的数据中提取结构。

- 费斯特尔结构可以把不可逆函数包装成可逆构造,而 RevNets 利用这种可逆性在反向传播时重算激活,从而节省训练内存。

### 01:54:12 - 01:54:15 结束致谢