Flash Attention等算子优化深度解析:从显存墙到计算效率的跨越一、序言:注意力机制的计算困境Transformer架构统治了现代深度学习,而注意力机制(Attention)是其核心组件。标准缩放点积注意力(Scaled Dot-Product Attention)的计算公式为:Attention(Q,K,V)=softmax(QKTdk)VAttention(Q,K,V)=softmax(dk​​QKT​)V其中Q,K,V∈RN×dQ,K,V∈RN×d,NN为序列长度,dd为头维度。直接计算QKTQKT得到N×NN×N的注意力矩阵,其空间复杂度为O(N2)O(N2),时间复杂度也为O(N2d)O(N2d)。当序列长度NN达到数万乃至数十万(如长文档、高分辨率图像、视频)时,显存占用和计算时间将变得不可接受。在GPU上,标准实现的瓶颈并非纯粹的计算量,而是显存带宽。计算QKTQKT时,需要反复从HBM(高带宽内存,如GPU显存)读取QQ和KK的完整矩阵,写入中间注意力矩阵SS,再读取SS进行softmax,最后读取VV并写入输出OO。这些中间矩阵(S,PS,P)尺寸为N×NN×N,使得I/O开销成为主要瓶颈。Flash Attention正是针对这一瓶颈提出的革命性算法。二、Flash Attention核心算法原理