混合专家模式MoE

引入

传统的Transformer模型是密集激活的,这意味着在每次前向传播过程中都会使用到模型的所有参数。因此,参数数量的增加会导致训练和推理过程中计算复杂度和内存消耗的增加。
在给定的Transformer层中,参数数量N由模型的隐藏层大小 h 决定的,因此,计算复杂度随着隐藏层大小的增加而呈二次方增加,并且在给定固定序列长度的情况下,随着参数量的增加而非线性增加。

这种关系提出了机器学习中一个仍然重要的研究问题:我们如何在不增加复杂度和成本的情况下,以努力解决这个问题呢?

混合专家模式 Mixture of Experts (MoE)

在机器学习中,Mixture of Experts (MoE) 的概念比Transformer架构早了几十年。
尽管MoE模式的实现各不相同,但基本思想是一致的:不是使用单一的参数来计算每个输入的输出,而是将每个输入路由到模型参数的一个特定子集中。然后,每个可能的参数子集可以被视作一个专家,负责处理特定类型的输入。

路由

任何 MoE 实现的一个重要细节是路由算法,它决定对于给定的输入使用哪个专家(或一组专家)。

软选择

一些早期的工作将软选择路由算法(也称为连续混合专家)应用于深度学习模型。
在这种方法中,每个专家都用于每个输入,但是每个专家的贡献由一个门控函数加权,这是一个学习到的函数,它为每个专家计算一个权重或重要性,使得所有专家的权重之和为1.

由于每个专家都用于每个人,这种方法仍然导致一个密集激活的模型,因此没有解决增加计算复杂度的问题。然而,这项工作作为更先进的 MoE 实现提供了重要的垫脚石。

硬选择

后来的工作通过应用硬选择路由算法扩展了 MoE 模式,其中只有一部分专家用于任何给定的输入,标志着从密集激活到稀疏模型的转变。Shazeer, Noam等人引入了稀疏门控混合专家层,并在大规模自然语言处理中应用硬选择,使用的门控函数与上述连续混合专家类似。
门控函数由一个线性层组成,它计算每个专家的权重,并添加随机噪声以帮助负载均衡


混合专家模式MoE
http://lisz.site/2025/02/11/混合专家模式MoE/
作者
Banner
发布于
2025年2月11日
许可协议