FlashAttention 动效 01

显存墙与带宽墙

注意力慢,不是算力不够,而是数据在 HBM 和片上 SRAM 之间来回搬。拖动序列长度 N,看标准实现要物化多大的中间矩阵、以及 FlashAttention 把它省到什么量级。

HBM(显存)

40–80 GB · 1.5–2.0 TB/s

大而慢:N×N 的中间矩阵住在这里

↔ 搬运

SRAM(片上)

192 KB / SM × 108 · ~19 TB/s

小而快:一次只放得下一个块

中间矩阵显存 · 每个注意力头 · fp16

标准实现:物化 S 与 P(N×N)
FlashAttention:只留 O 与统计量(O(N))

HBM 访问量随 N 的增长(论文 Theorem 2 的量级)

纵轴为 HBM 访问的元素数量级(对数)。标准注意力 Θ(Nd + N²),FlashAttention Θ(N²d²/M),M 取 A100 的片上一级缓存 192 KB。忽略常数因子,只用于看两条曲线怎么分岔。