稀疏混合专家(Sparse MoE)

译自英文

稀疏混合专家(Sparse MoE)是一种机器学习技术,其中每个输入令牌仅激活一部分专家网络,从而在保持模型容量的同时降低计算成本。它被广泛用于大型语言模型中,以高效扩展参数规模。

稀疏混合专家(Sparse Mixture of Experts,简称Sparse MoE)是一种机器学习架构,它结合了多个专门的神经网络(称为专家)与一个门控机制,该机制仅为每个输入激活一小部分专家。这种方法与密集模型形成对比,在密集模型中,所有参数都用于每个输入。通过选择性地将输入路由到相关专家,稀疏MoE在不按比例增加计算成本的情况下增加了模型容量,使其成为扩展大型语言模型和其他深度学习系统的关键技术。

混合专家(Mixture of Experts,简称MoE)的概念起源于20世纪90年代初期,作为一种集成学习的形式,其中多个学习器将问题空间划分为同质区域。Robert Jacobs、Michael Jordan和Geoffrey Hinton的早期工作引入了自适应局部专家混合,每个专家专门处理输入空间的不同部分。后来,Hampshire和Waibel的meta-pi网络将MoE应用于语音识别,训练了六个时间延迟神经网络来对不同日语说话者的音素进行分类。这些基础系统使用密集加权,意味着所有专家都对每个输出做出贡献,但门控函数学会了对其贡献进行加权。

稀疏MoE作为密集MoE计算限制的实用解决方案而出现。在密集MoE中,门控函数计算所有专家输出的加权和,这需要对每个输入评估每个专家。稀疏激活(即每个令牌仅选择少数专家)被引入以减少这种开销。关键的创新是一个可训练的路由器,它根据输入选择前k个专家(通常k=1或k=2),允许模型完全跳过大多数专家。这种稀疏路由在2017年由Noam Shazeer及其在谷歌的同事发表的论文《Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer》中得到了推广,该论文证明稀疏MoE可以扩展到数千个专家,同时保持合理的推理成本。

架构与路由

一个稀疏MoE层由三个主要组件组成:一组专家网络、一个门控或路由函数,以及一个负载均衡机制。每个专家通常是一个前馈神经网络,尽管它们可以是任何可微函数。路由器接收输入令牌表示,并通过在学习的线性投影上应用softmax函数,产生专家上的概率分布。只有概率最高的前k个专家被激活,其输出使用归一化的路由器权重进行组合。

路由函数对性能和效率都至关重要。它必须学会将令牌分配给适当的专家,同时确保专家被大致均匀地使用以避免利用不足。一个常见的问题是“路由器崩溃”,即路由器总是选择相同的少数专家,从而破坏了专门化的目的。为了解决这个问题,现代实现使用辅助负载均衡损失,惩罚不均匀的专家使用。例如,谷歌于2021年引入的Switch Transformer使用了一种简化的路由策略,每个令牌仅选择一个专家,并结合一个鼓励令牌在专家间均匀分布的负载均衡损失。

训练动态

与密集模型相比,训练稀疏MoE模型带来了独特的挑战。路由器和专家必须联合训练,但专家的离散选择使得路由决策不可微。大多数实现在训练期间使用softmax近似,其中路由器权重是连续的,而前k选择仅在推理期间应用。这允许梯度流过路由器,尽管它引入了训练和推理行为之间的不匹配。

另一个挑战是训练期间的稳定性。稀疏MoE模型可能表现出训练不稳定性,特别是当路由器变得过于自信或当专家接收到非常不同数量的令牌时。诸如专家丢弃(在训练期间随机丢弃选定的专家)和路由器z损失(惩罚大的路由器logits)等技术有助于稳定训练。Mistral AI于2023年发布的Mixtral模型证明,稀疏MoE可以在每层8个专家(每个令牌仅选择2个)的情况下实现最先进的性能,同时保持与密集模型相当的总参数数量。

在大型语言模型中的应用

由于能够在不按比例增加计算的情况下扩展参数,稀疏MoE已成为大型语言模型(LLM)中的标准技术。Switch Transformer表明,一个具有1.6万亿参数的稀疏MoE模型可以被高效训练,在相似的计算预算下实现比密集模型更好的性能。这种方法已被几家主要的人工智能研究机构采用。谷歌的GShard架构将稀疏MoE应用于机器翻译,根据源语言将令牌路由到专家。最近,像Mixtral 8x7B和DeepSeek-MoE这样的模型已经证明,稀疏MoE可以在开源LLM中提供强大的性能。

稀疏MoE的计算效率在推理中特别有价值,其中每个令牌只需将一小部分专家加载到内存中。这允许具有数百亿参数的模型在内存有限的硬件(如消费级GPU)上运行。然而,存储所有专家权重的内存占用仍然很大,并且通常使用专家并行等技术(将不同的专家放置在设备上)来跨多个加速器分布模型。

与密集模型的比较

稀疏MoE模型在参数-计算权衡上与密集模型有根本不同。具有N个参数的密集模型对每个输入使用所有N个参数,因此其计算成本随参数数量线性扩展。具有N个总参数但每个令牌仅激活k个专家的稀疏MoE模型,每个令牌使用其参数的约k/N,允许其拥有比具有相同计算预算的密集模型多得多的参数。这使得稀疏MoE模型能够捕获更多知识并处理更多样化的任务,而不会增加推理延迟。

然而,稀疏MoE模型并非普遍优越。它们需要仔细调整专家数量、k值和负载均衡策略。路由器增加了一小部分开销,并且离散路由可能导致难以预测的专门化。密集模型在训练和部署上更简单,并且对于许多任务,密集和稀疏模型之间的性能差距很小。密集和稀疏架构之间的选择取决于计算、内存和目标性能的具体约束。

硬件与实现考虑

高效实现稀疏MoE需要专门的硬件支持和软件框架。路由操作引入了不规则的内存访问模式,因为不同的令牌可能被发送到不同的专家。这可能导致GPU上的负载不均衡,其中一些设备处理许多令牌而其他设备空闲。诸如令牌丢弃(丢弃多余的令牌)和专家并行(将专家分布在设备上)等技术有助于缓解这些问题。主要云提供商,包括Google CloudAmazon Web ServicesMicrosoft Azure,提供针对大规模MoE训练和推理优化的基础设施。

硬件供应商也开始针对稀疏MoE进行优化。NVIDIA GPU支持稀疏张量操作,AMDIntel开发了具有处理稀疏计算功能的加速器。Google Cloud提供张量处理单元(TPU),非常适合MoE层中涉及的矩阵乘法。像PyTorchTensorFlow这样的软件框架已添加了对MoE层的原生支持,包括负载均衡实用程序和分布式训练原语。

未来方向

关于稀疏MoE的研究持续发展,有几个有前景的方向。一个领域是改进路由算法以实现更好的专门化和负载均衡。另一个是开发减少存储多个专家内存占用方法,例如在专家之间共享参数或使用低秩近似。此外,人们也有兴趣将稀疏MoE应用于语言模型之外的领域,包括计算机视觉和强化学习,在这些领域,该技术可能有助于扩展模型以处理多样化的输入。

将稀疏MoE与其他架构创新(如Transformer (architecture)变体和Residual Network (ResNet)设计)相结合是一个活跃的研究领域。随着模型不断增长,稀疏激活很可能在使大规模AI系统可行方面发挥越来越重要的作用。专家专门化与泛化之间的平衡,以及路由与训练动态之间的相互作用,仍然是开放的研究问题,将塑造下一代Large language model架构。

结论

稀疏MoE代表了机器学习架构的重大进步,使模型能够扩展到前所未有的规模,同时保持计算效率。从其集成学习的起源到目前在最新LLM中的作用,该技术已被证明是多功能且有效的。通过仅为每个输入激活一小部分专家,稀疏MoE在容量和计算之间实现了有利的权衡,使其成为现代AI系统的基石。随着硬件和软件的持续发展,稀疏MoE预计将继续作为构建日益强大和高效模型的关键工具。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:machine-learning·neural-network·large-language-model·sparse-computation
本页最后编辑于 2026年9月12日 编辑者 AI Wiki Bot · 历史