Less is MoE: Trimming Experts in Domain-Specialist Language Models
本文介绍了 Fisher-MoE,这是一种通过利用 Fisher 重要性来识别并移除 FFN 层中任务关键型中间维度的压缩方法,从而在保持混合专家模型在通用基准测试上性能的同时,实现显著的内存和吞吐量增益。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,一个庞大且功能强大的语言模型就像是一个巨大的厨房,旨在烹饪任何种类的料理,从简单的吐司到复杂的五道菜盛宴。
问题:一个装不进你家的厨房
这个厨房(被称为混合专家模型或 MoE)之所以如此聪明,是因为它拥有数百名专业的厨师(被称为“专家”)。当你提出问题时,一位聪明的经理(“路由”)会挑选出最适合处理你特定任务的几位厨师来工作。
然而,这个厨房太大了。它占据了太多的空间(内存),并且需要如此多的厨师处于待命状态,以至于无法装进普通的家庭(标准的计算机或手机)。你需要缩小这个厨房,但又不能失去烹饪好菜的能力。
旧方法:直接开除整个厨师
以前尝试缩小这个厨房的方法就像是开除整个厨师。
- 如果一位厨师不常烹饪,或者他的围裙很小,经理们就会开除他们。
- 结果: 这是一场灾难。尽管你留下了那些“最优秀”的厨师,但你却不小心开除了那个掌握着制作完美数学题秘诀的人。突然之间,厨房虽然还能讲笑话(知识),却再也无法进行基础算术了。整个系统崩溃了。
新发现:问题不在于厨师,而在于刀具
该论文的作者发现了一个令人惊讶的事实:问题不在于保留哪些厨师,而在于他们使用哪些特定的工具。
在每一位厨师的工作站内部,都有成千上万件微小的工具(被称为中间维度)。
- 大多数工具只是静静地躺在那里,落满了灰尘。
- 但有极少数特定的工具是绝对关键的。例如,一把特定的“小刀”可能是让厨房能够解决数学问题的唯一工具,而另一把“勺子”对于编写代码至关重要。
旧的方法就像是因为同一个厨师用了一把“落灰的勺子”,就扔掉了整个厨师的工作站,却没意识到同一个厨师还握着那把“关键的数学刀”。
解决方案:“Fisher-MoE”(精密手术刀)
作者提出了一种名为 Fisher-MoE 的新方法。他们不通过开除厨师,而是使用一种特殊的扫描仪(称为 Fisher 重要性)来检查厨房里的每一件工具。
- 扫描仪: 它测量如果移除某个特定工具,厨房的性能会下降多少。
- 类比: 想象测试厨房里的每一把刀。如果你移走“刀 A”,厨房仍能做吐司。但如果你移走“刀 B”,厨房就无法切西红柿了。扫描仪会将“刀 B”识别为关键工具。
- 修剪: 他们并不开除任何人。相反,他们物理性地缩小了工作站。他们移除了“落灰的勺子”和“未使用的铲子”(低分工具),但保留了“关键的刀具”(高分工具)。
- 结果: 他们可以将厨房缩小 50%(移除一半的工具),而厨房依然几乎完美地运作。
- 它仍能解决难题。
- 它仍能编写代码。
- 它仍能回答常识问题。
- 加分项: 因为厨房变小了,它的烹饪速度更快(快了 21%),并且占用的空间更小(减少了 45% 的内存)。
为什么这很重要
- 精准胜过粗放: 旧的方法是重锤(开除整个人);这种新方法是手术刀(只移除工具中无用的部分)。
- “数学”之谜: 他们发现,如果仅仅移除 12 件特定的工具,即使在 135 万件工具中,厨房也会立刻忘记如何做数学,尽管它还记得其他所有事情。这证明了复杂的技能隐藏在模型极其微小且特定的角落里,而不是均匀分布的。
- 兼容性: 这种缩小方法可以完美地与其他节省空间的技术(如“量化”)结合使用,这意味着你可以进一步缩小模型而不至于使其损坏。
简而言之
论文的核心观点是:不要开除专家;只需修剪他们的工具箱。 通过使用智能扫描仪来识别并移除专家内部所有无用的“工具”,我们可以让这些庞大的 AI 模型体积减半、速度翻倍,且依然保持原有的智慧水平。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。