问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

LLM:Flash-Attention技术详解

创作时间:
作者:
@小白创作中心

LLM:Flash-Attention技术详解

引用
CSDN
1.
https://blog.csdn.net/qq_43814415/article/details/140875412

FlashAttention是一种优化Transformer模型注意力机制的技术,旨在提升计算效率和降低内存消耗,尤其在处理长序列任务时。本文将详细介绍FlashAttention的核心技术、版本更新及其实际应用。

核心技术

  1. 分块计算 (Tiling)
    FlashAttention通过将注意力计算的矩阵分块,将大矩阵拆分成适合存储在片上内存(SRAM)的较小块。这样减少了对全局内存(HBM)的依赖,降低了内存带宽的需求。这种方法有效地利用了现代GPU的多层次内存结构,优化了数据的访问速度。

  2. 重计算 (Recomputation)
    在传统注意力机制中,中间结果的存储往往占用大量内存。FlashAttention通过在需要时重新计算部分结果,而不是存储整个矩阵,从而减少了内存占用。这种策略特别在反向传播过程中显著减少了内存需求。

  3. IO感知 (IO-Awareness)
    FlashAttention优化了数据传输路径,减少了从全局内存到片上内存的数据移动。它通过有序地组织和处理数据,最大限度地利用了硬件资源,提高了整体计算效率。

版本更新

  1. FlashAttention-2
  • 并行性增强:除了传统的基于批大小和头数的并行处理外,FlashAttention-2还引入了序列长度上的并行性。这对于长序列、批量较小的情况非常有利,能够显著提高计算速度。
  • 支持更多头维度:从最多支持128个头维度扩展到256个,适配如GPT-J、CodeGen等大模型。这使得FlashAttention-2能够在更广泛的场景下应用,特别是需要高精度和长上下文的任务中。
  • 多查询注意力 (MQA) 和分组查询注意力 (GQA):这些变体在推理时减少了键值(KV)缓存的大小,从而提高了推理吞吐量。
  1. 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。

参考资料

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号