Sparse Transformer、Longformer?稀疏attention的优化?Sparse Transformer、Longformer?
全连接 attention 的复杂度是 O(L²)(L 为序列长),长序列时显存与算力都贵。稀疏 attention:只对 部分位置 或 局部+全局 做 attention,使复杂度降为 O(L√L) 或 O(L log L) 等,在长序列上可训、可推。
Sparse Transformer(OpenAI):通过 strided / fixed 等 稀疏 pattern,每个位置只 attend 到 局部窗口 + 若干 stride 的全局点,用 稀疏矩阵 或 分块计算 实现,减少计算与显存。Longformer:局部窗口 + 全局 token(如 [CLS] 或若干 global position);局部用滑动窗口、全局用少量 token 做全局 attention,实现 O(L) 的线性复杂度。二者都需 自定义 attention mask 或 kernel,与标准 dense attention 接口不同。
| 返回模块 | 返回总览 |