FlashAttention算法原理
总结:flashAttention是一种高效计算的attention,优化了计算速度,不损失计算精度。
核心优化点:降低存储访问开销(Memory Access Cost,MAC)
核心优化算子:softmax
优化思路:算子融合技术,避免将中间变量从 SRAM 写入 HBM。类似merge-bn,减少SRAM与HBM之间的读写操作。
参考:
不会 CUDA 也能轻松看懂的 FlashAttention 教程(算法原理篇) - 周弈帆的文章 - 知乎
https://zhuanlan.zhihu.com/p/1940732079726912160
FlashAttention 的速度优化原理是怎样的? - Civ的回答 - 知乎
https://www.zhihu.com/question/611236756/answer/3132304304