整体说明
- 稀疏化注意力机制(Sparse Attention)旨在解决传统注意力机制(如 Transformer 中的 Full Attention)在长序列处理时计算复杂度高(\(O(N^2)\))的问题
- 本文是稀疏化注意力机制从 SWA(Sparse Wave Analysis)到 NSA(Native Sparse Attention)再到 MoBA(Mixture of Block Attention)的改进过程
- 稀疏注意力机制的设计核心:
- 通过稀疏表示、动态分层策略和块注意力混合,逐步降低了长序列处理的计算复杂度
- 针对硬件进行优化,NSA 和 MoBA 均针对现代硬件进行了优化,显著提升了计算速度
- 关注性能与效率的平衡,在保持模型性能的同时,减少计算资源和内存占用
SWA(Sparse Wave Analysis)
- SWA 是一种基于稀疏波数分析的方法,最初应用于信号处理领域,用于恢复多模态和色散特性。其核心思想是通过稀疏表示(Sparse Representation)来减少计算量,同时保持对关键信息的捕捉。SWA通过压缩感知技术,利用信号的稀疏性,从有限的数据中恢复出完整的频率-波数表示,从而减少计算复杂度
- SWA 的核心特点 :
- 利用信号的稀疏性,减少计算量
- 适用于多模态和频率分散的场景
- 通过优化策略(如基底追踪去噪)实现高效恢复
- SWA 主要针对信号处理领域,未直接应用于大语言模型
- SWA 缺乏对长上下文建模的针对性优化
NSA(Native Sparse Attention)
- NSA 由 DeepSeek 提出,是一种针对大语言模型的稀疏注意力机制。NSA通过动态分层稀疏策略,结合粗粒度的 Token 压缩和细粒度的 Token 选择,显著降低了长序列处理的计算复杂度,同时保持了模型性能
- NSA 的核心改进包括:
- 动态分层稀疏策略 :通过粗粒度压缩和细粒度选择,兼顾全局上下文和局部信息的精确性
- 硬件优化 :算法设计与现代硬件对齐,显著提升计算速度
- 端到端可训练 :支持从预训练到推理的全流程优化,减少计算量
- 在长文本任务和指令推理中,NSA 的性能优于 Full Attention,且计算速度大幅提升
- NSA 虽然能效率提升显著,但在某些复杂任务中,稀疏策略可能导致信息丢失
MoBA(Mixture of Block Attention)
- MoBA 由月之暗面提出,是一种混合块注意力机制,灵感来源于 MoE(Mixture of Experts)结构
- MoBA 通过将注意力计算限制在最相关的上下文块中,进一步优化了计算效率
- MoBA 支持全注意力和稀疏注意力的自由切换
- MoBA 的核心改进:
- 块注意力混合 :将长序列划分为多个块,仅对最相关的块进行计算,减少冗余计算
- 灵活切换 :支持全注意力和稀疏注意力的动态切换,适应不同任务需求
- 高效训练 :MoBA v2在短文本和长文本任务中均表现出色,且训练过程稳定
- 在长上下文建模中,MoBA 显著降低了计算开销,同时保持了模型性能
- MoBA 还表现出良好的扩展性和稳定性
- 缺点是块划分策略需要精细设计,否则可能影响模型对全局上下文的理解