SLAB:华为开源,通过线性注意力和PRepBN提升Transformer效率 | ICML 2024 - 晓飞的算法工程笔记
内容提要
本论文提出了一种高效的Transformer架构,通过渐进重参数化批归一化和简化线性注意力的方法,在推理阶段提高效率。该方法在多个基准测试中展示了强大的性能,特别适用于图像分类和物体检测任务。
延伸解读
归一化层替换的渐进策略
论文提出用渐进方式将LayerNorm替换为RepBN,通过超参数γ控制两者比例,训练初期γ=1(LN主导),后期γ=0(纯BN)。这种线性衰减策略避免了直接使用BN导致的训练崩溃,同时推理时BN可与线性层合并,减少延迟。实验表明,该策略在图像分类和检测任务中实现了无损准确率,且推理效率更高。
简化线性注意力的设计取舍
SLA模块采用ReLU作为相似性函数,并引入深度可分离卷积增强局部特征。与Flatten Transformer相比,SLA将聚焦函数替换为ReLU,计算更简单,同时通过先计算K^T V降低复杂度。这种设计在保持性能可比的同时提升了效率,但可能牺牲了部分全局建模能力,适合对延迟敏感的场景。
实际性能与效率的平衡
SLAB-Swin-S在ImageNet-1K上达到83.6% Top-1准确率,推理延迟16.2ms,比Flatten-Swin-S准确率高0.1%且延迟低2.4ms。这表明SLAB在视觉任务中能同时提升准确率和效率。此外,在语言建模任务上,SLAB也取得了可比性能和更低延迟,展示了跨模态的通用性。
Q&A
SLAB Transformer的主要创新点是什么?
SLAB Transformer结合了渐进重参数化批归一化和简化线性注意力,以提高计算效率和保持准确率。
SLAB Transformer在图像分类任务中的表现如何?
SLAB Transformer在图像分类任务中达到了83.6%的Top-1准确率,推理延迟为16.2毫秒。
渐进重参数化批归一化的作用是什么?
渐进重参数化批归一化通过逐步替换LayerNorm,降低了推理延迟并增强了训练稳定性。
简化线性注意力是如何提高效率的?
简化线性注意力通过使用ReLU和深度可分卷积,降低了计算复杂度,同时保持了性能。
SLAB Transformer在语言建模任务上的表现如何?
SLAB Transformer在语言建模任务上获得了可比较的性能和更低的推理延迟。
SLAB Transformer与传统Transformer相比有什么优势?
SLAB Transformer在计算效率上显著提高,同时保持了与传统Transformer相似的准确性。