从多头注意力(MHA)到多查询注意力(MQA)、分组查询注意力(GQA),直至最新的多头潜在注意力(MLA)的发展历程

1,562 阅读3分钟

在这篇博客中,我们深入探讨了从多头注意力(MHA)到多查询注意力(MQA)、分组查询注意力(GQA),直至最新的多头潜在注意力(MLA)的发展历程,特别聚焦于DeepSeek-V2所采用的MLA技术及其背后的动机和创新点。这一系列演变不仅体现了深度学习领域对模型效率的不断追求,也展现了研究者们在面对大规模语言模型(LLMs)推理挑战时的智慧与创意。

MHA:多头注意力的基础

多头注意力(MHA)作为注意力机制的里程碑,通过并行处理多个注意力分布,显著增强了模型捕捉复杂上下文的能力,奠定了现代语言模型的基石。尽管强大,但它在处理长序列时对内存资源的消耗成为了限制其应用范围的瓶颈。

MQA:内存效率的初步探索

多查询注意力(MQA)通过所有注意力头共享同一组键(K)和值(V)矩阵,极大地减少了内存需求,但这种激进的压缩方式引发了对模型性能可能下降的担忧。

GQA:平衡效率与性能

为兼顾效率与效果,分组查询注意力(GQA)提出了一种折中方案,将注意力头分组,每组共享K和V,这样既保留了一定程度的多样化,又控制了内存占用的增长。GQA在诸如LLAMA2-70B等大型模型中得到了广泛应用,展示了其在实际应用中的有效性。

MLA:MLA的创新突破

多头潜在注意力(MLA)是DeepSeek-V2的核心创新,它不仅仅停留在低秩投影的概念上,而是通过更精细的变换设计,实现了在保持推理时KV Cache与GQA相当的同时,增强模型的表达能力。MLA的关键在于其推理阶段的恒等变换技巧,允许模型在不增加KV Cache大小的情况下,利用不同的投影矩阵增强每个头的能力。此外,针对RoPE(旋转位置编码)兼容性的挑战,MLA采用了混合策略,通过在部分维度上添加RoPE,既保留了位置信息,又维持了内存效率。

总结

MLA的出现,不仅是对注意力机制的一次深刻反思与创新,也是对大规模语言模型推理效率提升的一次重要尝试。通过上述演变,我们可以看到,研究者们正不断探索如何在保持或提升模型性能的同时,优化资源消耗,以适应日益增长的数据规模和复杂应用场景的需求。随着技术的不断推进,未来的语言模型有望在效率与性能之间找到更优的平衡点,推动人工智能技术的进一步飞跃。