Flash Attention

「让 Attention 变快的算法」

亦作、亦称:FlashAttention · 闪存注意力

通过分块计算与 IO 感知优化,在 GPU 显存层次结构上高效实现 Self-Attention,降低长序列训练与推理的显存占用与时延。 Flash Attention 是长上下文 LLM 的底层加速器:不改变数学结果,却显著降低显存峰值与访存瓶颈。

工作原理

标准 Attention 需物化 N×N 注意力矩阵,显存与 HBM 带宽成为瓶颈。Flash Attention 将 Q/K/V 分块载入 SRAM,在块内完成 softmax 与加权求和,通过在线 softmax 技巧合并块结果,避免存储完整矩阵。FlashAttention-2/3 进一步优化并行与硬件利用率。

应用场景

大模型预训练与微调、长文档推理、多轮对话 KV Cache 场景。与 PyTorch SDPA、vLLM、TensorRT-LLM 等推理框架深度集成,是「能跑更长上下文」的前提之一。

局限与误区

「用了 Flash Attention 就能无限上下文」——序列长度仍受算力与延迟约束。需与 RoPE 外推、稀疏注意力等配合;不同 GPU 架构上加速比不同,应实测而非假设。

发展脉络

2022 年 Tri Dao 等提出 IO-aware exact attention;随后快速成为 HuggingFace、PyTorch 默认路径;2024 起 FlashAttention-3 面向 Hopper 架构,持续缩小与理论 Attention 的差距。

人们怎么说

日常交流里常听到的说法——未必准确,但有助于理解误解从哪来。

  • 「让 Attention 变快的算法」
  • 「长上下文必备优化」
  • 「省显存的那个 Attention」

参见

延伸阅读

从知识库精选 3 篇文章,帮助深入理解该术语。

  1. 1

    LLM 推理优化:量化、剪枝、蒸馏与推理加速实战

    系统讲解大语言模型推理优化的四大核心技术——量化(Quantization)、剪枝(Pruning)、知识蒸馏(Knowledge Distillation)和推理引擎加速,覆盖从原理到实战的完整链路

  2. 2

    LLM 上下文窗口扩展:RoPE、ALiBi 与长文本建模技术

    大语言模型的上下文窗口大小决定了它能处理多长的输入和生成多长的输出。本文系统讲解上下文窗口扩展的核心技术——旋转位置编码 RoPE、注意力线性偏置 ALiBi、NTK 插值、YaRN 外推等方案,从原理到实战,帮助读者深入理解如何让模型突破训练时的长度限制,实现长文本的可靠建模。

  3. 3

    注意力机制与 Transformer 架构

    详解 Self-Attention、Multi-Head Attention 和 Transformer 的编码器-解码器结构