计算机科学 > 硬件架构
[提交于 2025年7月15日
(v1)
,最后修订 2025年7月16日 (此版本, v2)]
标题: SystolicAttention:在单个脉冲阵列中融合FlashAttention
标题: SystolicAttention: Fusing FlashAttention within a Single Systolic Array
摘要: Transformer模型高度依赖缩放点积注意力(SDPA),通常使用FlashAttention算法实现。 然而,当前基于行波阵列的加速器在执行FlashAttention时面临重大挑战。 行波阵列只能在连续且大规模的矩阵乘法中实现高利用率。 相比之下,FlashAttention需要频繁交错的矩阵乘法和softmax操作。 行波阵列与外部向量单元之间的频繁数据交换导致行波阵列利用率低下。 此外,softmax涉及大量非矩阵操作,这使得其不太适合行波阵列,进一步加剧了这一问题。 而且,在行波阵列上同时执行矩阵乘法和在向量单元上执行softmax会导致寄存器文件和SRAM端口冲突,进一步降低性能。 为了克服这些限制,我们提出了FSA,一种增强的行波阵列架构,使整个FlashAttention算法能够在单个行波阵列内运行,无需外部向量单元。 FSA的核心是SystolicAttention,这是一种新的调度算法,能够以细粒度、逐元素重叠的方式将FlashAttention操作映射到行波阵列上。 这显著提高了阵列利用率,同时保留了原始的浮点运算顺序,以保持数值稳定性。 我们在可综合的RTL中实现了FSA,并将其性能与最先进的商用加速器进行了对比。 我们的结果表明,与AWS NeuronCore-v2和Google TPUv5e相比,FSA的注意力FLOPs/s利用率分别提高了1.77倍和4.83倍,仅增加了约10%的面积开销。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.