【论文阅读】MOE,《OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER》

本文探讨了混合专家模型(MoE)在神经网络中的应用,特别是稀疏门控版本,旨在在不增加计算负担的前提下大幅增加模型容量。作者介绍了MoE的工作原理,如何通过门控网络选择专家,以及如何通过软约束平衡专家利用率和负载。
摘要由CSDN通过智能技术生成

几个月前看过MoE这篇文章,最近再看,发现只记得一个大致的概念,细节又都忘了。记忆不可靠,还是记录吧。最近,在看有关大脑的一些书籍,逐渐知道人的记忆有多不可靠,随着周围所遇所感,大脑在不断重塑着记忆,而大脑本身的运作机制,可能并不是为了记忆过去,而是为了预测未来以决策当下。

MoE,就是专家混合模型,这种模型可以认为是具有不同的子模型(或专家),每个子模型适用于不同的输入,每一层由门控网络控制,网络根据输入数据激活专家。

MoE是一种条件计算(Conditional Computation)的方法,主要解决的事情就是,模型参数容量太大的情况下可以显著降低计算量,或者反过来说,模型的容量可以在不增加计算量的情况下显著增加,具体就是针对不同的输入通过门控机制激活网络的不同部分来实现的。

MoE这种方法很容易想象,因为人的大脑有类似的机制。人的大脑针对不同的任务,只有部分的神经元集群激发进行工作,大脑的不同区域有不同的分工。最近读《人工智能未来简史――基于脑机接口的超人制造愿景》一书中,有这样一段描述,“向大脑输入信息后,将引发某些神经元集群的放电,并随即引发相应的意识和行为。但是,神经元集群放电也不能为所欲为,它必须遵守所谓的‘保存原则’,即神经元集群的放电,不仅有最大值的限制,而且整体集群的放电率也趋向于一个固定值。这种放电率之所以会在平均值周围徘徊,是因为各种补偿机制创建了一种比较稳定的平衡状态,实际上,大脑在某个时刻只会产生有限数量的动作电压来表征特定类型的信息。若某个或某些皮层神经元瞬间增大了它们的放电率,则集群中其他神经元将很快产生一个相等的镜像减量,于是大脑整体的能量消耗便能长期保持恒定。”这样看起来,MoE的方法对比人类的大脑,还是简单太多。
在这里插入图片描述
文章标题为《OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER》,由Noam Shazeer等人撰写,发表在2017年的ICLR会议上。

摘要:

神经网络的信息吸收能力受到其参数数量的限制。理论上,条件计算(其中网络的各个部分根据每个示例进行激活)作为一种在不增加计算量的情况下显著提高模型容量的方法被提出。然而,在实践中,还存在显著的算法和性能挑战。在这项工作中,我们解决了这些挑战,最终实现了条件计算的承诺,在现代 GPU 集群上仅在计算效率方面略有损失,就实现了模型容量的超过 1000 倍的提高。我们引入了一种稀疏门控混合专家层(MoE),由多达数千个前馈子网络组成。一个可训练的门控网络确定用于每个示例的这些专家的稀疏组合。我们将 MoE 应用于语言建模和机器翻译任务,其中模型容量对于吸收训练语料库中大量知识至关重要。我们在堆叠的 LSTM 层之间应用卷积的 MoE,其中 MoE 具有多达 1370 亿个参数。在大型语言建模和机器翻译基准测试中,这些模型在较低计算成本下取得了比最先进技术明显更好的结果。

主要方法
文章的主要方法见图1,通过稀疏门控函数选择专家子模型(图示中是两个专家)来执行计算,输出由门控网络的输出控制。
在这里插入图片描述
输出用下面的公式表示:
在这里插入图片描述
门控网络,一个比较简单方式可以使用Softmax门控,将输入乘以可训练的权重矩阵Wg,然后应用Softmax 函数。
在这里插入图片描述
但是这样还是有大量专家模型被激活,所以在Softmax门控网络添加了两个组件:稀疏性和噪声。在使用softmax函数之前,添加可调高斯噪声,然后只保留前k个值,将其余值设置为-∞(这会导致相应的门值等于0)。稀疏性用于节省计算,按照文章描述,虽然这种形式的稀疏性在选通函数的输出中产生了一些理论上可怕的不连续性,但尚未在实践中观察到这是一个问题。噪声项是用于负载平衡,每个组件的噪声量由第二个可训练权重矩阵Wnoise控制。
在这里插入图片描述
在训练门控网络时,使用简单的反向传播训练门控网络和模型的其余部分。如果选择 k> 1,则前k 个专家的门值相对于门控网络的权重具有非零导数。梯度也通过门控网络进行反向传播一直到其输入。

平衡专家的利用率
但是这个门控网络还需要改进。文章指出,门控网络倾向于收敛到一种状态,即它总是为同几个专家产生较大的权重。这种不平衡是自我强化的,因为受到青睐的专家被更快速地训练,因此被门控网络更多地选择。Eigen等人(2013)描述了同样的现象,并在训练开始时使用硬约束来避免这种局部最小值。Bengio等人(2015)在批量门控的平均值上包含了一个软约束。

文章采取软约束的方法,定义对于一个批次训练样本的专家重要度(the importance of an expert),即该专家在一个批次训练样本的门控输出值的和。定义了新的损失函数 Limportance,添加到模型的总体损失函数中。这个损失等于专家重要度集合的变异系数的平方,乘以一个手动调整的缩放因子 wimportance。这个额外的损失鼓励所有专家具有相等的重要性。
在这里插入图片描述
公式中的CV,通过kimi来了解一下:
在这里插入图片描述
虽然这个损失函数可以确保重要性的平等,但专家模型可能仍然接收到非常不同数量的输入。可能导致分布式硬件上的内存和性能问题。为了解决这个问题,文章还引入了第二个损失函数 Lload,确保了负载的平衡。

(欢迎关注微信公众号:老无谈藏书票)

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
专家混合模型(Mixture-of-Experts, MoE)是一种机器学习模型,用于解决复杂问题。它由多个“专家”子模型组成,每个子模型负责解决输入空间的特定子领域。这些子模型可以是不同类型的模型,如决策树、神经网络等。 MoE模型的主要思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,以确保每个子模型都能有效地处理特定类型的数据。 MoE模型的关键是学习如何分配数据给各个子模型,并且如何将各个子模型的输出进行合并。通常,这个过程是通过训练模型来实现的,使用最大化似然估计或其他类似的最优化方法。 MoE模型的优势在于它能够有效地利用不同子模型的优势,提升整体模型的性能。每个子模型专注于解决特定的问题,因此可以更好地适应不同的数据分布和特征。此外,MoE模型还可以通过动态分配和合并数据,自适应地学习不同数据分布的变化。 尽管MoE模型具有很多优点,但也存在一些挑战。例如,确定合适的子模型数量和结构可能需要一些领域知识和经验。另外,MoE模型的训练过程相对复杂,可能需要更多的计算资源和时间。 总的来说,专家混合模型是一种强大的机器学习模型,它通过将多个专家子模型组合起来,以提高整体模型的性能。它在实际应用中具有很大潜力,可以用于解决各种复杂问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值