论文

ELSA:精确线性扫描注意力,实现快速记忆光视觉 Transformer

ELSA: Exact Linear-Scan Attention for Fast and Memory-Light Vision Transformers

模型推理推理加速

摘要

现有的注意力加速器通常会牺牲精确的 softmax 语义,依赖于融合的 Tensor Core 内核,或者会产生限制长序列上 FP32 吞吐量的序列深度。我们提出了 \textbf{ELSA},一种在线 softmax 注意力的算法重构,它 (i)~在实际算术中保留了精确的 softmax 语义,并具有 \emph{可证明} $\mathcal{O}(u\log n)$ FP32 相对误差界限; (ii)~将在线 softmax 更新转换为关联幺半群 $(m,S,W)$ 上的前缀扫描,产生 $O(n)$ 额外内存和 $O(\log n)$ 并行深度; (iii)~独立于 Tensor-Core,在 Triton 和 CUDA C++ 中实现,并且可作为 \emph{直接替代品} 部署,无需重新训练或权重修改。与依赖 HMMA/GMMA Tensor Core 指令且不提供兼容 FP32 路径的 FlashAttention-2/3 不同,ELSA 在 A100 和资源受限的边缘设备(如 Jetson TX2)上的运行方式相同,使其成为唯一与硬件无关的精确注意力内核,可在全精度下将并行深度降低到 $O(\log n)$。在 A100 FP32 基准测试(1K--16K 词元)上,ELSA 比内存效率高的 SDPA 提供 $1.3$--$3.5\times$ 加速,在 BERT 上提供 $1.97$--$2.27\times$ 加速;在 Jetson TX2 上,ELSA 比数学(64--900 个词元)实现了 $1.5$--$1.6\times$,在 LLaMA-13B 卸载条件下以 $\ge$32K 实现了 $17.8$--$20.2\%$ 吞吐量增益。在 FP16 中,ELSA 在长序列上接近硬件融合基线,同时保留完整的 FP32 功能,为跨平台的高精度推理提供统一的内核。我们的代码和实现可在 https://github.com/ming053l/ELSA 获取。