@classiclarryd: 向LLM研究社区提问:是否有人知道完全可重复的实验结果表明MLA能……

X AI KOLs Following 新闻

摘要

一位研究者质疑在相同KV缓存下MLA优于GQA的可重复性,分享了早期小规模消融实验结果,并计划进行规模扩展实验以决定下一次大规模运行的架构。

向LLM研究社区提问:是否有人知道完全可重复的实验结果表明,在相同KV缓存下MLA优于GQA?我问这个问题有两个原因:(1)令我惊讶的是,中国实验室使用MLA,而西方实验室使用GQA+滑动窗口,尽管许多实验室肯定已经运行了大量消融实验。(2)在Marin,我们正在考虑为下一次大规模运行采用MLA,但在早期(!)较小规模的消融实验中,即使控制了KV缓存,它的表现似乎也差于经过充分调整的、功能丰富的GQA。我想做更好的实验。下面我先谈对一般可重复性的看法,然后具体谈MLA。 机器学习中的每个实证结果都只是上下文相关的。根据数据分布、优化器设置、模型宽度、模型深度、更精细的架构细节、硬件、内核工程、初始化、词元数量、分词器、上下文长度和评估协议的不同,人们可能得出不同的结论。 上下文相关的结果仍然有用。通常,如果我发现一个有前景的方法,我会首先尝试完整的“上下文跳转”,即将其应用到我的上下文中,希望结果能迁移。有时确实可以。如果不行,我可以尝试两件事:修改方法的实现,或者修改上下文。理想情况下,我可以访问原始结果的完整上下文。然后我可以进行“上下文桥接”,一次只消融上下文的一个方面,精确隔离出方法表现不同的原因。这让我能够做出明智的决定:要么更新我的上下文以使该方法发挥作用,要么坚持我的上下文并放弃该方法。 在较小规模下评估MLA很棘手。MLA的一个核心方面是将hidden_dim压缩到latent_dim。然后对于每个头,latent_dim到head_dim。通常head_dim固定为128,部分出于硬件原因,部分出于学习动力学(head_dim为8可能不足以提供表示能力)。要获得MLA的动力学特性,需要hidden_dim >> latent_dim,且latent_dim > head_dim。这个窗口在较小规模下会关闭。 调整程度可能会不公平地改变规模。在GQA中,我们使用部分RoPE、QK归一化、门控注意力、注意力锐化、滑动窗口和其他技术,带来了30%以上的训练提升。但它们似乎对MLA没有同样大的提升。一方面,你希望以苹果对苹果的方式比较经过相同调整的技术。另一方面,未来进行的调整量是有限的,因此先前的调整会影响哪种方法最实用。 在MLA和GQA之间创建控制测试很棘手。有几个因素:KV缓存、二次注意力FLOPs、注意力投影FLOPs。KV缓存可以通过缩小KV头数量以匹配MLA,或放大KV潜变量以匹配KV头数量来控制。二次注意力FLOPs可以通过放大GQA的查询头数量以匹配MLA的头数量,或缩小MLA的头数量来控制。此外,还可以放大GQA的head_dim 128→192,或缩小MLA的head_dim 192→128。一般来说,同时匹配选项A和选项B的上下文是很有信息量的。滑动窗口是另一个混淆因素。 如果不考虑RoPE,MLA在理论上是优雅的。它用“混合”操作(下图)替代了GQA中KV头的“复制”操作。由于如果需要,“混合”可以学习“复制”,因此MLA纯粹更具表达能力,而且“混合”的成本可以通过推理时的吸收技巧隐藏。然而在实践中,我发现小规模下这种“混合”操作并没有增加多少价值,而且与优化器动态的交互很差。对RoPE的改动也带来了负面影响。 我目前的计划是首先围绕MLA调整和消融我们的模型特性,然后运行三个扩展阶梯:MLA、具有2个KV头的GQA、以及具有更多KV头的GQA。对于每个阶梯,拟合损失与计算量的投影。如果在我们的目标计算量下MLA的表现比两个GQA选项都差,则放弃它。如果MLA优于2个KV头的GQA但不如更多KV头的GQA,那么这就变成了KV缓存的权衡。早期结果表明MLA将比两个功能丰富的GQA阶梯都差,但我们会继续观察。任何正面且可重复的MLA外部结果将有助于确保我给予它最好的机会。
查看原文
查看缓存全文

缓存时间: 2026/07/20 21:36

向LLM研究社区提问:是否有任何人掌握完全可复现的实验结果,证明在相同KV缓存下MLA优于GQA?我提出这个问题有两个原因:(1) 令我惊讶的是,中国实验室使用MLA而西方实验室使用GQA+滑动窗口的做法仍然存在分歧,这显然已被多方进行了大量消融实验。(2) 在Marin,我们正在考虑为下一次大规模运行采用MLA,但在早期小规模消融实验中,即使控制了KV缓存,MLA的表现似乎也不如经过精心调优、特征丰富的GQA。我希望在此进行更完善的实验。以下我先谈谈对可复现性的一般看法,再具体讨论MLA。

机器学习中的每个实证结果都只在特定上下文中成立。取决于数据分布、优化器设置、模型宽度、模型深度、更精细的架构细节、硬件、内核工程、初始化、token数量、分词器、上下文长度和评估协议,人们可能得出不同的结论。

上下文相关的结果仍然有价值。通常,如果我发现一个很有前景的方法,我会先尝试进行完整的“上下文跳跃”,即将其应用到自己的上下文中,希望结果能迁移。有时能成功,有时不能。如果不成功,我可以尝试两件事:修改方法的实现,或修改上下文。理想情况下,我能访问原始结果的完整上下文。然后我就可以进行“上下文桥接”,每次消融上下文的一个方面,精确定位方法表现差异的原因。这让我能够做出明智的决定:要么更新我的上下文以让该方法表现出色,要么保留我的上下文并放弃该方法。

在小规模下评估MLA很棘手。MLA的一个核心方面是将hidden_dim压缩到latent_dim。然后对每个头,latent_dim压缩到head_dim。通常head_dim固定为128,部分原因是为了硬件优化,部分原因是学习动态(head_dim为8时表示能力不足)。要获得MLA的动态特性,你需要hidden_dim >> latent_dim,且latent_dim > head_dim。这个条件在小规模下很难满足。

调优程度可能不公平地改变天平。在GQA中,我们有部分RoPE、QK归一化、门控注意力、注意力锐化、滑动窗口以及其他技术,这些技术能带来30%以上的训练提升。但它们似乎对MLA没有同样的提升效果。一方面,你希望对两者进行“苹果对苹果”的同等调优比较。另一方面,未来你能进行的调优是有限的,因此先前的调优会决定哪种方法更实用。

在MLA和GQA之间创建受控测试很棘手。涉及几个因素:KV缓存、二次注意力的计算量、注意力投影的计算量。KV缓存的控制方式:将KV头数缩放至与MLA匹配,或将KV latent维度缩放至与KV头数匹配。二次注意力计算量的控制方式:增加GQA的查询头数以匹配MLA的头数,或减少MLA的头数。此外,还可以将GQA的head_dim从128增加到192,或将MLA的head_dim从192减少到128。一般来说,同时匹配选项A的首选上下文和选项B的首选上下文是有信息量的。滑动窗口是另一个混淆因素。

如果不考虑RoPE,MLA在理论上很优雅。它用“混合”操作(下图)替代了GQA中KV头的“复制”操作。由于“混合”操作可以学习到“复制”行为(如果它想),MLA纯粹更具表达能力,而且“混合”操作的成本在推理时可以通过吸收技巧隐藏。然而在实践中,我发现小规模下这种“混合”操作并没有增加多少价值,而且与优化器动态的交互效果不好。同时,对RoPE的改变也带来了负面影响。

我目前的计划是,首先围绕MLA调优和消融我们的模型特征,然后运行三个规模阶梯:MLA、2 KV头的GQA、以及更高KV头的GQA。对每个阶梯,拟合损失与计算量的投影曲线。如果在我们目标计算量下MLA的表现比两个GQA选项都差,就放弃它。如果MLA优于2 KV头但劣于更高的KV头,那么就是一个KV缓存的权衡。早期结果表明MLA的表现会比两个特征丰富的GQA阶梯都差,但我们会继续观察。任何外部正面的、可复现的MLA结果都将有助于我确保给它最好的机会。

相似文章

GQLA: 面向硬件自适应大语言模型解码的分组查询潜在注意力

arXiv cs.LG

GQLA 提出了对多头潜在注意力(MLA)的极小修改,在相同训练权重上同时暴露 MQA 吸收路径和 GQA 路径,从而无需重新训练即可实现硬件自适应解码。该方法压缩 KV 缓存并支持张量并行性,通过将 LLaMA-3-8B 从 GQA 转换为 GQLA 得到验证。

超越KV重建:投机解码中MLA草稿模型的功能重构

arXiv cs.LG

本文提出功能重构方法,将MHA/GQA检查点转换为投机解码的MLA草稿模型,直接优化注意力模块以保留令牌接受率。报告在涉及Llama/Qwen模型和多种转换方法的192种配置中持续改进。