LLM:Flash-Attention技术详解
创作时间:
作者:
@小白创作中心
LLM:Flash-Attention技术详解
引用
CSDN
1.
https://blog.csdn.net/qq_43814415/article/details/140875412
FlashAttention是一种优化Transformer模型注意力机制的技术,旨在提升计算效率和降低内存消耗,尤其在处理长序列任务时。本文将详细介绍FlashAttention的核心技术、版本更新及其实际应用。
核心技术
分块计算 (Tiling)
FlashAttention通过将注意力计算的矩阵分块,将大矩阵拆分成适合存储在片上内存(SRAM)的较小块。这样减少了对全局内存(HBM)的依赖,降低了内存带宽的需求。这种方法有效地利用了现代GPU的多层次内存结构,优化了数据的访问速度。重计算 (Recomputation)
在传统注意力机制中,中间结果的存储往往占用大量内存。FlashAttention通过在需要时重新计算部分结果,而不是存储整个矩阵,从而减少了内存占用。这种策略特别在反向传播过程中显著减少了内存需求。IO感知 (IO-Awareness)
FlashAttention优化了数据传输路径,减少了从全局内存到片上内存的数据移动。它通过有序地组织和处理数据,最大限度地利用了硬件资源,提高了整体计算效率。
版本更新
- FlashAttention-2
- 并行性增强:除了传统的基于批大小和头数的并行处理外,FlashAttention-2还引入了序列长度上的并行性。这对于长序列、批量较小的情况非常有利,能够显著提高计算速度。
- 支持更多头维度:从最多支持128个头维度扩展到256个,适配如GPT-J、CodeGen等大模型。这使得FlashAttention-2能够在更广泛的场景下应用,特别是需要高精度和长上下文的任务中。
- 多查询注意力 (MQA) 和分组查询注意力 (GQA):这些变体在推理时减少了键值(KV)缓存的大小,从而提高了推理吞吐量。
- FlashAttention-3
- 新硬件支持:利用最新的NVIDIA Hopper GPU架构,采用WGMMA(Warpgroup Matrix Multiply-Accumulate)和TMA(Tensor Memory Accelerator)等新特性。相比前一版本,FP16精度下性能提升至740 TFLOPS,而FP8精度下更是达到1.2 PFLOPS,且FP8的误差降低了2.6倍。
- 异步操作:通过异步执行GEMM和softmax操作,提高了整体吞吐量。例如,FP16的前向传递从570 TFLOPS提升到620 TFLOPS,进一步达到640-660 TFLOPS。
参考资料
热门推荐
10个大学新生里6个是女生,为什么大学里的女生越来越多了
镜子里的自己、他拍的自己、原相机的自己:谁才是最真实的你?
镜子里的自己、他拍的自己、原相机的自己:谁才是最真实的你?
钉钉如何发协作文件给别人
金银花煮水治湿疹吗
做空A股的风险和策略是什么?这种操作如何影响市场平衡?
做空的风险有哪些?这些风险如何进行有效的管理和控制?
餐后一小时血糖原来这么重要
管住嘴不如吃得对!控制血糖这么吃
C语言深入理解指针
提升睡眠质量的办法有哪些
中医建议最佳睡眠时间
全球赏樱指南:最佳观赏时间与地点全攻略
澳门十大小吃,你尝过几味?中西合璧的美味之旅
二月二龙抬头:传统习俗与文化内涵
成都护照办理指南:时间、条件、材料全攻略
美国市场营销(MKT)专业申请解析
正宗泥鳅炖豆腐的家常做法
检察院怎么表达认罪的态度
欧冠 阿森纳VS埃因霍温 波澜不惊的对决 是绝地反击还是沉沦 比分
在生产设备管理上,如何应用大数据进行管理
开通在即!一文读懂广州地铁十一号线怎么坐
上海地铁换乘导航怎么查询?
春季抗过敏食品
再添铁证!侵华日军日记记录南京大屠杀惨状
鼻窦炎如何检查
起诉公司法人没有对方身份信息怎么办
16个产品管理KPI及其跟踪方法
三明医改对基层医务人员的影响有多大?
迪斯尼门票怎么买划算