跳到内容

4 章 · 约 26 分钟

加速器架构

芯片的计算、存储和数据通路,怎样变成服务能力?

阅读中·实验未完成·考核未交

芯片

先看算子要什么,再看芯片给什么

Qwen3-8B 的 Q 投影是 Y = X W_Q,X 为 m×4096,W_Q 为 4096×4096。m 个 token 的运算量约 2 m d²,读取则至少包括整份权重。m=1 时这份投影极度带宽受限;m=4096 时强度升高,才配得上张量核心的峰值。

加速器因此不是“一个 FLOP/s 数字”,而是计算单元、片上存储、HBM、片间互联的一套比例。H100 用很高的矩阵峰值配 3.35 TB/s HBM;H20 把峰值降下来、把带宽和容量拉上去,更适合 decode。选卡就是在选这条比例能不能对上你的负载。

decode大 m prefill
左侧带宽墙,右侧算力墙。单请求 decode 落在最左边。
屋顶线脊点

I* = Π / β

算术强度 I = F/R。I < I* 时带宽决定时间,I > I* 时算力决定时间。H100:989.4e12 / 3.35e12 ≈ 295 FLOP/byte。单请求 decode 的 2N / N = 2 FLOP/byte,离脊点很远。

存储层次就是搬移问题的答案

寄存器和共享存储容量小、离计算近;HBM 容量大、供应整卡;主机内存和 SSD 更远、更慢。权重希望驻留在 HBM,KV 随并发膨胀,工作区在算子之间周转。同一逻辑读取,命中片上就不走 HBM。

能量也按层次记账。HBM 读一个字节的能量远高于一次乘加。Qwen3-8B 单请求 8K decode 一步,能量几乎花在搬权重上,而不是算矩阵。把数据留在更近的地方,既是速度问题,也是功耗和机柜密度问题。

同一条 Qwen3-8B 请求,阶段不同,瓶颈不同
阶段主要工作更敏感的指标
Decode 一步读 16.3 GB,算 20 GFLOPs带宽、容量
4K prefill约 62 TFLOPs 矩阵匹配精度的矩阵峰值
8 条 8K 并发权重 + 8 份 KV容量先于速度

实验

屋顶线

脊点 I* = 295 FLOP/byte。当前 I = 1.08 FLOP/byte。 m=1 是 decode,把 m 拉大就是 prefill。

4.52 ms

带宽墙

读取 R/β100%
计算 F/Π0%

下限取两者较大者。较短的一根无论再缩短,只要没超过另一根,总时间就不动。

考核

第 4 章考核

4 题

  1. 1.H100 的屋顶线脊点大约是?

  2. 2.为什么 H20 往往更适合大 batch decode,而不是长 prefill?

  3. 3.Qwen3-8B BF16 单请求约 19.7 GB。八条 8K 请求大约?

  4. 4.把权重放进更近的存储(片上或专用 ROM),首先改善的是?

全部作答后交卷。