版本 v1 · 2026-10-06

原文信息

项内容
原文SemiAnalysis 长文,作者为架构师 Tanj Bennett
中文译文微信公众号”6点关机”,《SemiAnalysis 重磅长文:前沿 MoE 大模型推理、数据搬运与硬件架构终极拆解》,2026-10-02
链接https://mp.weixin.qq.com/s/kQ3Nw2_C8zGOpLaJ13Rr8Q
篇幅约 4.3 万字,23 节,29 张图(另有 1 张封面插画)
性质前半篇是概念框架(四阶段、层组、逻辑节点、并行边界);后半篇用 SemiAnalysis 自有推理模拟器,把 Kimi K3 映射到 B200、B300 和 GB200 NVL72 上做推演。模拟结果不是实测数据。

阅读提醒:

  • 中文译文措辞很夸张,例如”毁天灭地""轰杀成渣”。本文只提取技术判断和数字,不沿用这些修辞。
  • 文中的”约""读图”表示数值是从图上读出来的。

一、一句话结论

文章把推理服务看成一座 “Token 工厂”,核心观点可以归为三句话:

  • 按阶段拆: 推理应拆成 Prefill、Midfill、Decode Attention、Decode Experts 四个阶段,各自配硬件、并行方式和批策略。
  • 按数据流放网络边界: 高频、对时延敏感的专家 all-to-all 和 TP 规约必须锁在 scale-up 域内。层间激活值很小,KV blob 虽然大但只在阶段切换时搬一次,这两类都交给 scale-out 网络和共享存储。
  • 单卡显存不必很大: 带宽、网络边界放置和调度比单卡显存容量更重要。模拟里,帕累托前沿上大多数配置的单卡峰值 HBM 驻留都低于 80 GB。

二、核心论点

1. 四个阶段与”Token 工厂”(§0–3、§6)

典型流转: 请求进入队列 → Pre/Midfill Worker 扩展上下文 → KV 以不可变 blob 写入并行文件系统 → Decode Worker 读取并生成 → 工具、Agent 返回结果后,再回到 Midfill。编排层(Dynamo、Mooncake 等)调度全程。

阶段输入特征瓶颈批处理收益
Prefill大块新 token,几乎没有缓存;冷启动很少超过 10 万 token算力高:按专家排序后,每个专家只加载一次
Midfill(本文提出的独立阶段)长缓存前缀(10k–100k+,可到 50 万)+ 短后缀(50–5,000 token)带宽和算力都吃:既要读数十 GB 的 KV,又能做专家成批计算中高:算术强度比 Decode 高上百倍
Decode Attention每次 1 个或几个 token(MTP)HBM 带宽(扫描私有 KV)很低:每个请求的 KV 都是私有的
Decode Experts每个 token 从几百个专家里选 8–16 个HBM 带宽(加载专家权重)低:小 batch 时专家很少被多个请求共享

Midfill 为什么要单独设池:

  • 它的最优 PP、TP、EP 配置和 Decode 不同。
  • 它是突发负载,会拖慢同一流水线上的 Decode。
  • 硬件可以和 Decode 池完全相同,只是加载的模型切片、并行度和批策略不同。

Agent 负载特征(AgentX 第 34 版,“CC Traces Weka”数据集,393 段对话):

  • 上下文增长很快,在接近上限时会被压缩(compaction),曲线呈台阶状下降,还有短暂的骤降。
  • 原文给出的实用上下文上限:Opus 4.8 约 250k,Fable 约 1M。
  • 图 4 中的两段长对话:
模型轮次最大上下文持续时间
claude-fable-52,977989,824216 小时
claude-opus-4-81,647324,544152 小时

2. KV 作为不可变 blob(§2)

  • 只追加: 系统提示、项目上下文、历史轮次、工具结果和生成 token 各自封装成 blob,只追加不覆写。对话分支时回溯后另开新分支。
  • 分层存放:
    • HBM 只放正在计算的数据,算完立即迁出;
    • CPU DRAM 是输出暂存层;
    • 输入走 GPUDirect RDMA,直接写入显存;
    • 再往下是并行文件系统(DDR 或 SSD 设备);
    • 系统提示这类热门对象适合放在机架级缓存。
  • 可以用重算换空间: 原始文本比展开后的 KV 小几个数量级,必要时可以从文本重算 KV。
  • 读多写少: 读取远多于写入,带宽配比应该反映这种非对称。
  • 跨节点搬运: 数 GB 的 KV 可以条带化或用类似 BT 的并发方式传输,耗时小于 1 秒,远低于一次长 Decode 的时长。
  • 参考文献: 原文推荐 LMSYS 的《Unified Radix Cache》。

3. 并行边界:沿数据流最窄处切(§7–13)

三种并行各切什么:

  • PP 切层: 层间激活值很小,可以跨弱链路。代价是流水线里同时有多个批次,每个 stage 都要持有各批次的 KV。
  • TP 切不可分的宽操作: 主要是长上下文注意力和大的稠密线性层。不要把 TP 用到小的专家张量上,否则集合通信时间会超过计算时间。
  • EP 切专家: 专家没有上下文,可以铺得很宽,交换机端口数和本地显存可以分开规划。

切分单位: PP 尽量按层组切。层组通常是 1 个全注意力层加若干线性或局部注意力层,最底下 1–3 层可能是稠密层。

逻辑节点: 约 16 颗加速器组成一个对等组,物理拓扑不限(交换、全互联、torus 等)。scale-up 覆盖整个机架时(如 NVL72),机架内的中间网络层就不存在了。

时延敏感度:

  • 一次专家计算只要几微秒,所以每一跳多 100 ns 都会明显影响帧率。
  • 跨层组的流水线搬运多几微秒则无关紧要。

每层时间预算:

  • 单层 50 µs–1 ms,60 层模型对应每秒 15–300 token;
  • 子步骤要在微秒到亚微秒内完成;
  • 0.2 µs 的专家 GEMM,如果前后各有 3 µs 的分发开销,就没有意义了。

4. KV 交叉点公式(§14)

单 stage 显存需求:

  • 权重随 PP 深度 P 线性下降。
  • KV 加工作集基本不随 P 变化:层数变少,但同时在飞的批次变多,两者抵消。
  • 当 W/P 降到与 KV 同一量级时,再加深流水线几乎省不了显存,只会增加时延(图 19)。

每 token KV 大小基线:

注意力类型每 token KV
全注意力数百 KB
MLA 等成熟压缩注意力约 70 kB
新型混合层组约 25 kB

算例:

  • 70 kB × 200 万活跃 token = 140 GB;双缓冲后为 280 GB;
  • 加上权重、激活、通信缓冲、路由表、碎片和裕量,每个 stage 约需 400–500 GB 高速内存;
  • 原文把这作为 2027 年前沿系统的基准配置,可以由多颗芯片通过 scale-up 拼起来。

5. 批处理:Prefill/Midfill 排序,Decode 用小批(§15–16)

专家算术强度:

  • n 是这个专家本次分到的 token 数;n 增大会摊薄权重加载,直到激活值搬运占主导。
  • 例子: 128 个 token × 每个 8 条路由 = 1,024 次指派,分到 256 个专家上。按专家排序后,每个专家只加载一次(图 20)。
  • Decode 的批: 最佳 batch 往往只有 1–5。长上下文下 batch=1 就能把 HBM 带宽用满;扩大 batch 换来的吞吐不多,却会显著拉长时延并占满 KV 显存。
  • 商业判断: 高交互 token 的价值是离线 token 的数倍甚至数十倍。

6. NVL72 和 SRAM 专家(§3 段落)

NVL72 为什么值得:

  • 72 卡同频同步,一层 256 个专家可以分成每卡 3–4 个,读完本卡专家的时间很短。
  • 代价是 72 卡之间有大量 all-to-all。
  • 每卡驻留的专家越少,交互速率上限越高。

SRAM 专家 / DAF(注意力与 FFN 分离):

  • SRAM 每字节读取能耗约为 HBM 的 1/100,单个 token 不用等批就能高效执行。
  • 但连接数百个节点的交换网络会被 all-to-all 淹没,网络的成本和功耗可能超过专家算力本身。

7. 调度与控制(§17–18、§22)

反面例子: 用 Decode 完成退役作为 Prefill 准入的信号。长尾请求会导致准入收紧 → Decode 断粮 → 报复性放开准入 → 再次拥堵,形成振荡(图 22)。

原文给出的对策:

  • 阶段之间设就绪缓冲区;
  • 用平滑后的积压量和预测服务速率做准入;
  • 快控制环和慢的容量重分配分开;
  • 拓扑重配置设迟滞阈值;
  • 为交互流量预留容量;
  • batch 调整频率不要快于反馈的时间常数。

七个时间尺度(图 25):

尺度内容控制方
0.1–10 µs片上运算与链路自治
50 µs–1 ms单层执行自治
1–50 ms单个 token 生成编排器
0.1–10 s缓冲与准入编排器
秒–分钟Worker 重配置编排器
分钟–天KV blob 生命周期编排器
小时–天容量规划编排器

8. 聚合与解耦(§19)

聚合(单轮内 Prefill、Midfill、Decode 都在一台机器上完成)的好处:

  • 没有调度间隙;
  • 整套专家只需一份;
  • KV 不过网络;
  • 编排只需做一次决策。

代价: 机器必须同时有顶级算力、顶级显存带宽和顶级网络,任何一项有短板,都会在对应阶段变成”平庸”产品。

解耦: 允许 Prefill 机堆算力、Decode 机堆带宽。

作者的立场: 轮次之间的 KV 必须离开 HBM(卸载耗时小于 1 秒);单轮内部是否聚合,取决于能不能造出”全能芯片”。

9. 显存容量与带宽(§20)

  • 收益曲线(图 23): 单机营收随高速内存容量先陡升,过了”足够”的点后,碰到带宽决定的营收天花板,基本不再增长。
  • 多余容量的副作用: 会诱导运营方为了摊销成本而用大 batch 跑低价离线 token,反而降低利润。
  • 建议: 冷数据卸载到 LPDDR、DDR 或 SSD。
  • 堆叠代价: 盲目增加 HBM 堆叠层数,会带来功耗、信号完整性和良率问题,以及降频。

三、Blackwell × Kimi K3 模拟结论(§23,图 26–29)

模拟配置:

  • 硬件:A = GB200 NVL72,B = B200 SXM,C = B300 SXM;
  • 负载:8k/32k 冷启动 Prefill,31k+1k 与 127k+1k Midfill,8k/32k/128k Decode,输出长度 1,000 token;
  • 每张图上的连线是帕累托前沿。
维度结论
交互速率与吞吐(图 26)Decode: 要最低时延,用 PP+TP;要单卡最高吞吐,用 TP=1、PP=1,EP 拉到硬件极限,GB200 在大部分区间领先。Midfill: GB200 不用 PP,用 TP 4 或 2,TTFT 最低;B200/B300 用 PP=4,EP 限制在 stage 内。Prefill: 三种芯片收敛到 PP=4 + TP 4 或 2,曲线几乎重合,由算力决定
单次查询能耗(图 27)Decode 能耗最高(1,000 token 要完整前向 1,000 次);Midfill 最低,一次前向就完成;Prefill 随输入长度阶梯上升
单卡峰值 HBM(图 28)前沿点大多低于 80 GB(不含双缓冲,双缓冲每卡还需额外数 GB)。Prefill/Midfill 靠 PP 降低显存,Decode 靠 TP/DP
单卡峰值网络(图 29)Prefill/Midfill 的 EP 流量最大:读图约数百到数千 GB/s。B200/B300 必须把一个 stage 关在一个 NVLink 节点内;NVL72 整机架都是 scale-up 域。Decode 的平均峰值较低,但单个包仍按链路线速突发,规划网络时要按瞬时峰值,不能按统计平均

读图补充:图 7(未来内存的加速预测,50 万 token 缓存)

工况方案读图值
Midfill(511k 缓存 + 4k 新 token),TTFTVera Rubin 72最高,约 4–5×10⁷ tok/s/MW
Jalapeño;Jalapeño + HB super 3D RAM约 2–3×10⁷
Jalapeño + HB DRAM约 6–8×10⁶
Decode(515k 缓存),TPOTVera Rubin 72约 6–8×10⁴ tok/s/MW
VR72 + LPU AFD约 1×10⁵,可延伸到约 2 ms/token(500 tok/s)
Jalapeño约 1–3×10⁵
Jalapeño + 混合键合 super 3D RAM约 4–6×10⁵,最高,且在 2 ms TPOT 附近仍有工作点

说明:

  • 这张图是 SemiAnalysis 的情景预测。“Jalapeño + 3D RAM”并不是已发布的产品。
  • 图中意思:Midfill 是 Rubin 的强项;Decode 则是高带宽内存决定胜负。

四、图片缩影(29 张)

图片来源:SemiAnalysis 原文配图(经中文译文转载),这里只作为学习笔记的缩略引用。

A. 服务全景与 Agent 负载

图内容要点
1解耦推理服务全景:请求队列 → Pre/Midfill 池 → 并行文件系统(KV blob 分片)→ Decode 池;编排器贯穿全程四个资源池通过共享状态连接
2393 段对话的上下文增长曲线(横轴为主 agent 轮次,纵轴为上下文长度,均为对数刻度)很快涨到 100k–1M,随后压缩回落
3每轮的缓存上下文、未缓存输入、输出长度(区分主 agent 和子 agent)缓存约 10k–100k;新增输入约 100–10k;输出约 10–10k
4两段长对话:fable-5 共 2,977 轮,最大 989,824 token;opus-4-8 共 1,647 轮接近上限时出现压缩台阶和骤降

B. KV 流动与阶段边界

图内容要点
5KV blob 在 文件系统 / NIC-RDMA / CPU DDR / HBM 之间流动(每颗 CPU 配 4–8 颗 GPU)输入直写 HBM;输出先进 DDR 暂存
6Pre/Midfill 与 Decode 在 KV cache 处分界;Decode 内注意力与专家逐层配合阶段边界就在 KV cache
7未来内存(混合键合 DRAM、3D RAM)的加速预测:Jalapeño 变体对比 Vera Rubin 72 和 LPU AFD见上文第三部分的读图表
8MoE Pre/Midfill 层:注意力 → 共享变换 → 路由 → 按专家排序后成批 → 追加 KV blob按专家排序是关键
9MoE Decode 层:注意力 → 共享变换 → 路由 → 选中专家 → 合并 → 进入下一层每层每个 token 循环一次
10Midfill Worker:长前缀读取 + 新后缀 → 专家排序成批 → 更新 KV blob → 交给 Decode 池Midfill 的 PP/TP/EP 最优配置不同于 Decode

C. 模型结构到硬件的映射

图内容要点
11层组重复堆叠,执行从下往上走一层就是一张”可丽饼”
12层组展开:注意力 / KV 扫描 → 共享变换 → 路由 → 专家 → 合并各子层顺序执行
13TP 集合通信在层内;节点内多颗加速器之间是 EP 路由内存加算力成对出现在每个 socket
1416 颗加速器的对等组位于 scale-up 网络上;CPU、NIC 负责协调;scale-out 承载 KV blob、流水线激活和任务分派逻辑节点只是一个抽象
15机架由重复节点堆成;scale-up 覆盖整个机架时,中间网络层消失对应 NVL72 形态
16一个层组分时复用对等组:注意力 → 经 NIC 路由 → 专家 → 经 NIC 合并同一硬件按时间分时使用
17动态演示第 1 帧:从上一层加载 query embedding,按 memory / tensor / vector / scale-up / scale-out 分道显示(共 12 帧)微秒级流水线
184 个流水线 stage,每个含 2 个层组按层组均匀切分
19流水线越深,每 stage 权重越少,但 KV 与工作集不变KV 交叉点

D. 批处理、控制与方法论

图内容要点
20Prefill:12 个 token × 8 条路由,排序后每个专家都有活干每个专家只加载一次
21Decode:4 个 token,多数专家只处理 1 个 token专家很少被共享
22左:用退役信号控制准入导致振荡;右:缓冲加平滑积压控制,流量接近理想控制工程方法
23单机营收与高速内存容量的关系:越过”合理容量”后被带宽天花板封顶容量够用即可
2410 步方法论:分阶段 → 拆层组 → 盘点活跃状态 → 选 PP/TP/EP → 放注意力 → 放专家 → 标吞吐边界 → 测 KV 交叉点 → 定批策略 → 加存储与调度先映射数据流,再选机器
25七个时间尺度:0.1 µs 到天不同控制环不要共用同一个信号

E. Blackwell × Kimi K3 模拟(SemiAnalysis 推理模拟器界面)

图纵轴要点
26单卡 tok/s,对比 TPOT/TTFT不同阶段的前沿分成几簇,GB200 领先
27单次查询能耗(J)Decode 最耗能,Midfill 最省
28单卡峰值 HBM 驻留(GB)大多数低于 80 GB
29单卡峰值网络(GB/s)Prefill/Midfill 的 EP 流量最大,要关在 scale-up 域内


五、与我已有洞察的对照

话题本文观点我已有的判断一致性
阶段拆分四阶段,单独提出 Midfill,以解耦为主流量调度报告按 PD 分离和多 Agent 分析,KV 命中率 ≥95%一致,并且更细。Midfill 可以作为 Agent 场景的主流工况,后续报告应补上这一阶段
OpenAI Jalapeño图 7 把 Jalapeño 列为 Decode 能效高于 Vera Rubin 的方案,但 Midfill 不及 RubinJalapeño 分析:带宽 / W 是 GB300 的 3.9 倍,FLOP/Byte 约 870,不做 PD 分离互相印证:Jalapeño 押的是 Decode。它选择聚合,正好符合本文所说”聚合要求每一维都顶级”的难度,在 Midfill 上算力偏弱是它的代价
scale-up 边界EP 和 TP 必须锁在 scale-up 域内,每跳 100 ns 都重要Jalapeño 本地 128 颗一跳、全局 rail 两跳;OpenAI 在 ECOC 上把时延和可靠性放在互连选型首位一致。光学 scale-up 的时延预算(FEC、DSP、重定时)是硬约束
单卡显存大多数前沿配置低于 80 GB,带宽比容量重要Jalapeño 216 GB,GB300 288 GB;SemiAnalysis 自己的算例也说每 stage 要 400–500 GB不矛盾:每 stage 400–500 GB 可以由多颗芯片拼成,单卡容量不必大。但”低于 80 GB”依赖 KV 能在 1 秒内被卸载,前提是后端存储网络足够强
KV 搬运网络数 GB 的 KV 走 scale-out,条带化,小于 1 秒流量调度报告中的 KV 体积:Llama3-70B 约 320 KB/token,DeepSeek MLA 约 70 KB/token一致。前端和存储网络的带宽需求会随 Agent 负载上升(推算:100k 上下文 × 70 kB = 7 GB 每次迁移)
SRAM 专家 / DAF能效好 100 倍,但网络会成为瓶颈NVIDIA Groq 3 LPX(256 LPU/机架,RealScale)图 7 的 “VR72 + LPU AFD” 就是这条路线:Decode 能效提升有限,但能把交互速率推到 2 ms/token

六、对光互连的含义

  1. scale-up 域的大小由 Prefill/Midfill 的 EP 峰值决定。
    • 模拟中单卡峰值网络流量达到数百到数千 GB/s,而且是线速突发。
    • 光学 scale-up 必须同时满足带宽和低于 100 ns 级的单跳增量时延,LPO、CPO 这类无 DSP 方案更有优势。
  2. scale-out 的角色变成”KV 物流网络”。
    • KV blob 需要条带化、类 BT 并发、GPUDirect RDMA,单次数 GB,要求小于 1 秒完成。
    • 前端和存储网络的带宽应按”并发 Agent 数 × 平均每轮 KV 迁移量”来规划,而不是按传统南北向流量。
    • 推算示例:1 万个活跃会话,每轮 7 GB,每 10 秒迁移一次,约 7 TB/s,即约 56 Tb/s 的集群级存储流量。
  3. 按峰值规划,不按平均。
    • Decode 的平均流量低,但包是突发的。光模块和交换缓存的利用率指标要看瞬时峰值。
  4. 新型内存会改变带宽和互连的比例。
    • 混合键合 DRAM、3D RAM 会大幅提高 Decode 能效(图 7 约 2–4 倍)。
    • 单卡带宽上去后,EP all-to-all 对 scale-up 带宽的需求会同比上升。

七、批判性评估

  • 证据性质: 第三部分全部是 SemiAnalysis 模拟器的结果,图 7 是情景预测。模型 Kimi K3 的结构参数和模拟假设没有完整公开,只能当方向性判断。
  • 立场: SemiAnalysis 同时经营 AgentX、InferenceX 和模拟器等商业产品,文中的数据集和工具都来自它自己。
  • 偏向解耦: 全文以解耦为主线,对聚合的讨论偏理论。OpenAI Jalapeño 这类走聚合路线的系统在实测中的表现,仍需对照第三方数据。
  • “低于 80 GB”的边界条件: 依赖高带宽存储网络、双缓冲和快速卸载,并且不含双缓冲占用。在长上下文、高并发的 Agent 场景下要谨慎外推。
  • 译文质量: 中文译文有大量渲染性修辞,个别术语译法不统一(如 Midfill、对等组)。核对数字时建议回到英文原文。

八、后续跟踪

  • 找到英文原文,核对 Kimi K3 参数和图 7、图 29 的确切数值;
  • 在流量调度报告中补上 Midfill 阶段,以及 KV 物流网络的带宽估算;
  • 关注 Jalapeño 是否会有采用 3D RAM 或混合键合 DRAM 的后续版本,以及 OpenAI 的 Midfill 策略;
  • 关注 LPU AFD(注意力与 FFN 分离)的实际部署和网络开销。