一句话定位

FlashAttention 用 tiling + IO 感知把精确注意力的 HBM 读写降到次二次,既快又省显存,成为现代 LLM 训练/推理的标准注意力 kernel。

摘要(3-6 句)

Transformer 在长序列上慢且耗显存,因为自注意力时间和显存随长度二次增长。此前近似注意力多以质量换算力,却常无法真正壁钟加速。FlashAttention 指出关键缺失原则是 IO 感知——考虑 GPU 不同层级显存(HBM vs SRAM)间的读写。它用 tiling 把 Q/K/V 分块放进片上 SRAM 计算、用 online softmax 避免实例化完整 N×N 注意力矩阵,从而减少 HBM 读写、实现精确(非近似)注意力。FlashAttention 显著加速训练(如 BERT、GPT-2)并支持更长上下文。

关键技术细节

  • IO 感知:分析并最小化 HBM↔SRAM 读写次数,是真正的壁钟加速来源。
  • tiling + online softmax:分块计算注意力,流式更新 softmax 归一化,不存完整 N×N 矩阵,显存从 O(N²) 降到 O(N)。
  • recomputation:反向传播时重算注意力而非存中间结果,省显存。
  • 精确:结果与标准注意力数值等价(非近似)。
  • 加速:GPT-2 训练约 3× 加速;使长上下文(如 16K、64K)训练可行。
  • 作者:Tri Dao 等;后续 FlashAttention-2/3 持续优化 GPU 利用率。

原始链接

一手源存档(sources/)

  • flashattention.pdf (PDF 不入 git,走 HF bucket)