专家混合(MoE)是一种基于 "分而治之 "原则的机器学习(ML)技术。MoE 架构采用多个较小的、专业化的子模型(称为 "专家"),而不是使用单一的大型整体模型来处理所有类型的数据或任务。门控机制可确定哪些专家最适合处理给定的输入,并仅激活这些选定的专家。这种方法允许模型在参数数量方面大幅扩展,同时在推理过程中保持可控的计算成本,因为任何特定输入都只使用模型总参数的一小部分。
专家混合物的工作原理
一个环境优化模型通常由两个主要部分组成:
- 专家网络:这是多个神经网络 (NN),通常具有相同或相似的架构,每个神经网络都经过训练,能够在更大的问题空间内精通处理特定类型的数据或子任务。例如,在自然语言处理 (NLP) 中,不同的专家可能擅长语言或知识领域的不同方面。
- 门控网络(路由器):这是另一个神经网络,通常规模较小、速度较快,负责分析输入数据并决定由哪些专家来处理。它输出的权重表示每个专家对给定输入的相关性或贡献。在许多现代实现中,尤其是稀疏的 MoE 模型中,门控网络只选择少量(如前 k 名)专家来激活。
根据门控网络提供的权重,MoE 层的最终输出通常是被激活专家输出的加权组合。这种选择性激活(或称 "稀疏激活")是 MoE 提高效率的关键。
教育部的益处
MoE 体系结构具有若干显著优势,特别是对于超大型模型而言:
- 计算效率:通过对每个输入标记或数据点只激活专家子集,MoE 模型与每次计算都使用所有参数的类似规模的密集模型相比,可以大大减少计算负荷(FLOPs)。这就加快了训练速度,降低了推理延迟。
- 可扩展性:MoE 能够创建参数数量极多(在某些情况下达万亿)的模型,而每次推理的计算成本不会成比例地增加。这对于推动深度学习(DL)的发展至关重要。探索模型可扩展性概念。
- 性能:与单一密集模型相比,专业化可使专家们在各自领域内变得非常精通,从而有可能在复杂任务中提高整体模型的准确性和性能。有效的训练通常需要精心调整超参数。
MoE 与相关概念
必须将 MoE 与其他技术区分开来:
- 集合方法:虽然两者都使用多个模型,但集合方法通常会训练多个独立模型(通常是密集模型),并将它们的预测结果结合起来(例如,通过平均)。集合中的所有模型通常都会处理每个输入。相比之下,MoE 涉及单个较大模型中的专门部分,每个输入只激活一个子集。
- 密集模型:传统的神经网络,包括标准变压器和卷积神经网络 (CNN),如用于 Ultralytics YOLO模型中使用的卷积神经网络 (CNN),通常都是 "密集型 "的。这意味着在处理每个输入时都会涉及大部分或所有参数(模型权重)。MoE 引入了稀疏性,以减轻这种计算负担。