From Observation to Intervention: A Causal Audit of Expert Importance in Mixture-of-Experts Models
本文通过对三个混合专家(Mixture-of-Experts)模型进行的标记级干预审计表明,常见的观测性路由指标无法预测因果专家重要性,从而揭示了现有的剪枝方法之所以成功,是由于早期层的冗余性而非准确识别了可弃置的专家。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你拥有一个规模宏大、高科技的厨房,里面有 64 位不同的厨师(即“专家”),他们协同工作来烹饪一道单一的菜肴(模型的输出)。然而,在任何给定时刻,实际上只有少数几位厨师在忙碌,其余的都在旁观待命。这就是 混合专家模型 (Mixture-of-Experts, MoE) 的工作方式。
为了让这些模型更快、更便宜,工程师们经常试图解雇那些“没用”的厨师。他们需要一种方法来决定保留谁以及辞退谁。
旧方法:通过观察进行猜测
目前,工程师们使用一种类似于在看台上观看体育比赛的方法。他们观察统计数据:
- “厨师 A 在今天被叫去烹饪了 50 次。”(利用率)
- “厨师 B 烹饪时非常有活力。”(激活范数)
- “主厨通常会挑选厨师 C。”(路由权重)
基于这些观察结果,他们假设:“如果厨师 A 很少被调用或表现微弱,那么他们一定在做不重要的工作。让我们解雇他们吧。”
论文指出,这是一个危险的飞跃。这就像是假设因为一名球员在比赛中很少触球,所以他们就不重要一样。也许他们只是在等待那个做出致胜一击的完美时刻。论文提出了疑问:当我们试图移除他们时,观察统计数据真的能告诉我们谁才是重要的吗?
实验:“开火并观察”测试
研究人员决定停止猜测,开始测试。他们建立了一个“因果审计”(科学实验),使用了三种不同的 AI 模型。
他们没有仅仅观察厨师,而是进行了一次受控干预:
- 他们选择了烹饪过程中的一个特定时刻(一个特定的“标记/token”或单词)。
- 他们识别出当前正在工作的厨师。
- 他们静默(消融)了那个根据旧统计数据看起来“最不重要”的厨师。
- 他们检查:菜的味道变差了吗?(模型的预测是否发生了变化?)
他们进行了数千次这样的实验,将“低统计量”的厨师与根据统计数据判定的“高统计量”的厨师进行对比。
结果:统计数据错了
结果令人惊讶且非常明确:统计数据失效了。
- 毫无关联: 在几乎所有情况下,解雇“低统计量”的厨师没有任何影响。模型并不在意。
- “无效”结果: 解雇一个“低统计量”厨师与解雇一个“高统计量”厨师之间的差异微乎其微,几乎为零。旧的方法并没有找到“没用”的厨师;他们只是在随机挑选要解雇的人。
- 为什么它仍然有效(冗余的秘密): 论文解释说,这些模型具有极大的冗余性。在模型的早期层中,有如此多的厨师在做类似的工作,以至于你可以解雇几乎任何人,厨房仍能正常运转。这些剪枝方法之所以奏效,并不是因为它们聪明地识别出了“正确”要解雇的人,而是因为厨房的配置过于过剩,以至于几乎任何解雇策略都能凑巧奏效。
唯一的例外:“实时”信号
只有一个微小的例外。在一种特定的模型(OLMoE)且仅在厨房的最后一层中,研究人员发现了一个信号。
- 陷阱: 这个信号只有在他们观察厨师工作的确切、实时时刻时才有效。
- 问题: 这个信号对于现实世界是没用的,因为你无法在开始烹饪之前知道该解雇谁。你需要先看到特定的食材(token)才知道哪位厨师重要。既然你无法预知未来,这种“完美”的指标就无法用于提前对模型进行剪枝。
大局观:观察 vs 干预
论文引用了哲学家朱迪亚·珀尔(Judea Pearl)的一个著名概念来解释这个错误:
- 第一层(观察): “我看到厨师 A 很少烹饪。”
- 第二层(干预): “如果我解雇厨师 A,这道菜会没问题。”
论文表明,在这种情况下,从第一层跳跃到第二层是无效的。仅仅因为你看到了一个模式,并不意味着你可以根据它来采取行动。
总结
- 主张: 使用“使用统计数据”来决定移除哪些 AI 专家的常用方法在科学上是未经证实的,且很可能是错误的。
- 现实: 这些模型在剪枝后之所以能运作,不是因为统计数据很好地找到了无用的部分,而是因为模型具有高度的冗余性,以至于你无法通过解雇随机的人来破坏它们。
- 教训: 我们不能假设我们所看到的模型发生的情况(统计数据)能告诉我们如果我们改变模型(干预)会发生什么。我们需要直接测试变化,而不仅仅是根据数字进行猜测。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。