FlashAttention简介
前置知识
在GPU进行矩阵运算的时候,内部的运算单元具有和CPU类似的存储金字塔。
如果采用经典的Attention的计算方式,需要保存中间变量S和注意力矩阵O,这样子会产生很大的现存占用,并且这些数据的传输也会占用很多带宽和内存。
FlashAttention采用分块的方式来进行计算,这样子就可以减少中间变量的存储,同时也可以减少数据的传输。
具体的思想是改变Attention的运算顺序,标准是先计算
FlashAttention的计算顺序是先计算
具体算法如下(ForWard):
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了