本文发布于 2025-02-19MoBA通过将专家混合系统(Mixture of Experts, MoE)的思想与稀疏注意力(sparse attention)相结合,为大语言模型中的长文本处理方式带来革命性变化。

从全注意力(Full Attention)到混合块注意力(MoBA)
MoBA是一种受专家混合(MoE)和块稀疏注意力(Block Sparse Attention)启发的注意力架构。在传统注意力中,每个 query 都会和完整的上下文(KV)进行计算,MoBA 使每个 query 能够有选择地专注于一部分(KV),保持性能的同时降低了计算成本。
- 块划分和动态路由:上下文被划分为块,MoE 式的门控网络动态地为每个 query 选择最相关的块。
- 保持因果性:MoBA 确保 query 不能关注未来的块,保持了语言模型的自回归特性。当前块应用了 causal 掩码以防止信息泄露。
- 细粒度块划分:类似于MoE中细粒度专家划分,上下文的细粒度划分增强了性能,允许更细致的注意力模式。
- MoBA与全注意力的混合:MoBA可以无缝地在全注意力和稀疏注意力之间切换。这种灵活性使模型能够利用现有的预训练全注意力模型。
- 高性能实现:我们通过整合FlashAttention和MoE的优化技术,提供了MoBA的高性能实现。
将 MoBA 扩展到1000万上下文
- Scaling Law 实验:MoBA在 LM loss 方面实现了与全注意力相当的性能,即使对于序列末尾的 LM loss 差异也很小。
- 混合策略:尝试了训练混合和分层混合两种策略。训练混合是在训练期间将MoBA与全注意力交替使用(例如,用MoBA训练大多数语料,仅用少量语料激活全注意力),这样可以实现了与全注意力几乎相同的性能,同时提高了训练效率。分层混合策略,是在层间交替使用 MoBA 和全注意力,这在 SFT 期间进一步保证了效果。
- 现实世界任务评估:MoBA在各种长上下文基准测试中表现出色,包括大海捞针和RULER,取得和全注意力相同效果。
- 效率和可扩展性:MoBA显著减少了注意力计算时间,与全注意力相比,100万上下文长度实现了6.5倍的速度提升,在扩展到 1000 万上下文时实现了16倍的速度提升。
