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。
参考资料
热门推荐
软件开发中如何考虑操作系统
治疗冠心病心绞痛,中西医结合有妙招
读书 | 从独特的视角重新审视民国历史——评《江河行地,海浪无声:我的祖父王赓》
德阳周边古镇一日游攻略:精选路线、景点介绍与游玩建议
什么时候该掏耳朵,你掏耳朵的方式正确吗?
女生降低体脂率的方法(怎样减少体脂率)
“哪吒”再闹海、侠者再出发:2025春节档票房逆袭的背后,谁在助力电影狂飙?
坚苦今如此,前程岂渺茫。22句励志诗词,人生低谷必读,顿解千愁
国内商标注册费用究竟需要多少?
什么是域名价值在线评估工具?
全马成绩=半马用时乘以2?对照这张表评估你的全马能跑到多少
期货触发止盈的条件和策略是什么?止盈策略如何适应市场变化?
左边后背疼痛要警惕的四种病
用AI漫画生成动画软件,开启创意无限可能
漫威宇宙新动态:《雷霆特攻队》曝剧照,《夜魔侠重生》定档
《天文学》杂志2024年日食指南
怎样选购合适的热交换器
银行定期存款利率与市场利率波动的关系解析
人工智能如何改变企业运营:实际应用案例分析
键盘灯不亮按键没反应怎么回事 5个排查步骤轻松解决
宠物每日热量需求计算指南:从RER到MER的详细解析
武则天发明的是哪一个字
阿胶红糖姜茶的功效与作用 阿胶红糖姜茶营养价值有哪些
开发机器人一般用到的编程语言有哪些
点痣要多久才能恢复
房颤和饮食那点事儿!Eur Heart J文章
陪嫁财产是否属于夫妻共同财产?一文详解归属判定标准
金星合月:浪漫与神秘的天文奇观
【实时更新】欧联36强抽签进行中,曼联、热刺、罗马强强遭遇?
蚊子灭绝会有什么后果?探讨蚊子消失对生态的影响