FlashAttention 1-4 演进速查

每代优化了什么、目标硬件、关键瓶颈转移一览

总览对比

维度 FlashAttention-1 FlashAttention-2 FlashAttention-3 FlashAttention-4
年份 / 论文 2022 (arXiv:2205.14135) 2023 (arXiv:2307.08691) 2024 (arXiv:2407.08608) 2026 (arXiv:2603.05451)
目标 GPU Volta / Turing / Ampere Ampere (A100, A6000) Hopper (H100, H200) Blackwell (B200, GB200)
核心主题 IO-aware tiling + online softmax + recomputation 更好并行度与工作划分 异步执行 + 低精度 算法与 kernel pipeline 协同设计
主要瓶颈 HBM 读写量(S/P 矩阵 materialization) 非 matmul 开销、warp 空闲、循环顺序 Tensor Core 利用率低、softmax bubble、同步等待 非 matmul 单元(exp/SFU)跟不上 Tensor Core;共享内存带宽不对称
关键硬件特性 Shared memory, Tensor Core Shared memory, Tensor Core TMA, WGMMA, async MMA, FP8 TMEM, 2-CTA MMA, fully async MMA
峰值性能(代表性数字) —(基准) ~225 TFLOP/s (A100, 50–73%) 740–840 TFLOP/s (H100, 75–85%); FP8 ~1.2 PFLOP/s ~1,613 TFLOP/s (B200, 71%)
相对上一代加速 ~2× 1.5–2× 1.3× vs cuDNN 9.13; 2.7× vs Triton
精度 FP16 / BF16 FP16 / BF16 FP16/BF16 + FP8(block quant + incoherent processing) FP16 / BF16(论文聚焦 BF16)

每代关键优化

FlashAttention-1:奠基

工程影响:把 attention 从 memory-bound 变成 compute-bound,开启长上下文训练可能。

FlashAttention-2:并行与工作划分

工程影响:A100 上达到 50–73% 峰值算力;成为工业界默认 attention 实现。

FlashAttention-3:Hopper 异步化

工程影响:H100 上 Tensor Core 利用率从 FA-2 的 ~35% 提升到 75–85%;FP8 推理接近 1.2 PFLOP/s。

FlashAttention-4:Blackwell 重架构

工程影响:B200 上 71% 峰值算力,超越 cuDNN 9.13 和 Triton;把非对称硬件缩放作为核心设计约束。

FA-4 前向 roofline(M=N=d=128,每 SM 每时钟周期)

资源吞吐(ops/clock/SM)tile 周期数是否瓶颈
MMA(BF16)8192(Hopper 4096 的 2×)1024
exp 单元(MUFU)16(不变)1024前向瓶颈
共享内存读128 B(不变)768 / 3328(后向)后向瓶颈

FA-4 三招对应三个子瓶颈:① 软仿真 exp(FMA 多项式与 MUFU 并行)+ 条件 rescale 抬 exp 有效吞吐;② TMEM 累加器 + 2-CTA MMA 减 smem 流量;③ LPT 调度改善负载均衡。

瓶颈转移的直觉

FA-1 解决的是 "HBM 读写太多";
FA-2 解决的是 "并行度不够、非 matmul 开销";
FA-3 解决的是 "Tensor Core 利用率低、内存延迟暴露";
FA-4 解决的是 "Tensor Core 越来越快,但 exp/SFU/共享内存带宽没同步提升"。