FlashAttention 学习理解巩固
概念简单区分review:
-
FlashAttention:优化的是注意力计算本身,通过分块计算避免存储完整的注意力矩阵,降低显存占用并加速计算。核心解决的是
O(N²)显存和 HBM 带宽瓶颈。 -
PagedAttention:优化的是推理时的 KV cache 内存管理,灵感来自操作系统的虚拟内存分页。它将 KV cache 分割成固定大小的“页”,按需分配、动态管理,减少显存碎片,提高 batch 吞吐。核心解决的是长序列推理时 KV cache 导致的内存浪费和低利用率问题。
两者可以结合使用:FlashAttention 加速单次注意力计算,PagedAttention 提升多请求并发时的内存效率。许多推理框架(如 vLLM)会同时集成它们。
先复习下 kvcache 计算过程中矩阵计算的详细情况 这个图某乎大佬的图
https://www.zhihu.com/search?q=kv%20cache%E5%8E%9F%E7%90%86&search_source=Suggestion&utm_content=search_suggestion&type=content

不实用kvcache 计算的过程

用了kvcache 后的计算过程后就变成下面的图了

都不需要写了
刚刚看到一个 大佬写的
https://www.zhihu.com/search?q=flash%20attention%E5%8E%9F%E7%90%86%E8%AF%A6%E8%A7%A3&search_source=Suggestion&utm_content=search_suggestion&type=content
很详细
浙公网安备 33010602011771号