全面指南!掰细了讲混合专家模型MoE的内部结构

全局负载均衡损失 全局负载均衡损失在MoE模型中通过双重机制(专家级与设备级)解决计算瓶颈,其设计需平衡模型性能与均衡性。传统方法依赖辅助损失函数,而新方法(如无损失平衡)通过动态路由调整实现更优效果。未来方向可能结合网络架构中的全局状态感知技术(如动态就近性计算),进一步提升MoE模型的扩展性与效率。 阅读详情

导读

昨天,我们简单的介绍了下什么是混合专家模型(MoE),今天就把混合专家模型MoE的内部结构,看看混合专家模型MoE是如何工作的~

什么是混合专家模型MoE呢?

混合专家模型MoE是一种能让大型语言模型(LLM)质量变好的技术。

它主要由两部分组成:

专家——现在每个前馈神经网络(FFNN)层都有好多个“专家”,每次可以用其中一部分。“专家”一般也是前馈神经网络。

门控网络——它能决定把哪些tokens送到哪些专家那儿。

在带混合专家模型MoE的大型语言模型的每一层,都能看到这些有点专门作用的专家:

要知道,这里的‘专家’可不是像‘心理学’‘生物学’这种特定领域的专家哦。最多就是学学词语层面的语法信息:

说得更细点儿,它们擅长处理特定情境下的特定词。

门控网络会挑出最适合给定输入的专家:

每个专家也不是一个完整的大型语言模型,只是大型语言模型架构里的一部分小模型。

专家

要搞清楚专家代表啥、咋工作的,咱们先瞅瞅混合专家模型MoE是想替代啥;就是密集层。

密集层

混合专家模型MoE都是从大型语言模型(LLM)一个比较基础的功能开始的,就是前馈神经网络(FFNN)。

得记得,标准的只解码器的Transformer架构里,前馈神经网络是在层归一化之后用的。

前馈神经网络(FFNN)能让模型利用注意力机制产生的上下文信息,进一步转换它,从而捕捉数据里更复杂的关系。

不过,前馈神经网络的大小可是会迅速变大的。为了学习这些复杂关系,它通常会扩充它接收到的输入:

稀疏层

传统Transformer里的前馈神经网络(FFNN)被称为密集模型,因为它所有的参数(权重和偏置)都被激活了。啥都不落下,全用来算输出。

要是仔细瞅瞅密集模型,你会发现输入会不同程度地激活所有参数:

相比之下,稀疏模型只激活一部分总参数,和混合专家模型MoE关系很近。

举个例子,我们可以把密集模型切块(这些块就是所谓的专家),重新训练它,然后在特定时间只激活一小部分专家:

背后的想法是,每个专家在训练时学不同的信息。然后在推理时,只用特定的专家,因为它们对特定任务最相关。

当被问问题时,我们可以挑出最适合特定任务的专家:

专家都学了些啥呢?

之前说过,专家学的不是整个领域的知识,而是更细致的信息,所以有时候把它们叫‘专家’还挺容易让人误解的。

在ST-MoE论文里,编码器模型的专家有专门的分工。不过,解码器模型的专家好像就没这种专门分工了。但这并不意味着所有专家都一样。

Mixtral 8x7B论文里有个很好的例子,每个词都用第一个选中的专家来上色。

这个图也说明了专家更关注语法,而不是特定领域。所以,虽然解码器专家好像没有专门的领域,但它们在处理某些类型的词时确实会一直被用到。

专家的架构

虽然把专家想象成密集模型里切块的隐藏层挺形象的,但它们通常本身就是完整的前馈神经网络(FFNN):

因为大多数大型语言模型(LLM)有好几个解码器模块,一段文本在生成之前要经过多个专家处理:

选中的专家在不同词之间可能不一样,这就导致走不同的“路径”:

要是我们更新一下解码器模块的可视化,那现在里面就会有更多前馈神经网络(每个专家一个):

解码器模块现在有多个前馈神经网络(每个都是一个“专家”),在推理时可以用它们。

路由机制

既然我们有了这么一帮专家,那模型咋知道该用哪个专家呢?在专家前面加了个门控网络,它会学着挑出给定词用哪个专家。

路由器

路由器(门控网络)也是前馈神经网络,根据特定输入来选专家。它会输出概率,用这些概率来挑出最匹配的专家:

专家层会返回选中的专家的输出乘以门控值(选择概率)。

路由器加上专家(只选几个)就组成了专家混合(MoE)层:

一个MoE层有两种尺寸,要么是稀疏的,要么是密集的专家混合。

两者都用路由器选专家,但稀疏MoE只挑几个,密集MoE虽然全选,但可能按不同分布来选。

比如,给定一串词,MoE会把词分给所有专家,而稀疏MoE就只挑几个专家。

在目前大型语言模型(LLM)的状况下,看到‘MoE’一般指稀疏MoE,因为它能用专家的一个子集。这样计算成本低,对大型语言模型来说很重要。

专家的选择

门控网络可以说是专家混合(MoE)里最重要的部分,因为它不仅决定了推理时用哪些专家,训练时也一样。

最基础的形式下,我们把输入(x)和路由器的权重矩阵(W)相乘:

然后,对输出应用 SoftMax 函数,为每个专家生成一个概率分布

路由器用这个概率分布来挑出给定输入最适合的专家。

最后,我们把每个路由器的输出和每个选中的专家的输出相乘,再把结果加起来。

咱们把所有步骤串起来,看看输入是怎么通过路由器和专家的:

路由的复杂性

不过,这个简单的函数常常会导致路由器总是选同一个专家,因为有些专家可能学得比其他专家快:

这不仅会导致专家选择的分布不均,还会使一些专家几乎不被训练,从而在训练和推理过程中引发问题。

为了解决这个问题,我们希望在训练和推理过程中,所有专家都能得到平等的重视,这被称为负载均衡。这样可以防止模型过度依赖少数几个专家,从而避免过拟合。

负载均衡

为了平衡专家的重要性,我们需要关注路由器,因为它是决定在特定时间选择哪些专家的主要组件。

KeepTopK

一种负载均衡路由器的方法是通过一个简单的扩展,称为 KeepTopK。通过引入可训练的高斯噪声,有助于打破对特定专家的偏好,使选择更加随机化,这样我们可以防止总是选择相同的专家:

然后,除了你想要激活的顶部 k 个专家(例如 2 个)之外,其他专家的权重会被设置为 −∞:

通过将这些权重设置为 −∞,SoftMax 函数在这些权重上的输出将导致概率为 0:

SoftMax 函数的性质: SoftMax 函数将一个向量转换为概率分布,每个元素的值在 0 和 1 之间,且所有元素的和为 1。 SoftMax 函数的公式为:

其中,是输入向量,是向量的长度,是向量的第 个元素。 设置权重为 :

当某个元素的值为 时,的值为 0。

因此,对于任何包含的向量,SoftMax 函数将这些元素的输出概率设置为 0。 具体步骤

假设我们有中间向量 ,其中某些元素被设置为:

应用 SoftMax 函数:

具体计算:由于e^{-\infty} = 0,上述表达式简化为:\text{SoftMax}(\math

计算具体值:\text{SoftMax}(\mathbf{z}_{\text{top-k}}) = \left, \frac{1.6487}{1.6487 + $2.22$55}, 0, \frac{2.2255}{1.6487 + 2.2255}, 0 \right] = \left[ 0, 0.4256, 0,0.5744, 0 \right]

结果

通过将权重设置为 ,SoftMax 函数确保了这些专家的激活概率为 0,从而只激活顶部 个专家。

优点

负载均衡:确保每个专家都有机会被激活,避免某些专家过度使用而其他专家闲置。

防止过拟合:通过引入噪声,防止模型过度依赖少数几个专家,从而提高模型的泛化能力。

灵活性:可以根据具体需求调整的值,灵活控制专家的选择数量。

KeepTopK 策略是许多大型语言模型(LLM)仍在使用的一种方法,尽管有许多有前景的替代方案。需要注意的是,KeepTopK 也可以在不添加额外噪声的情况下使用。

Token Choice

KeepTopK 策略将每个词路由到几个选定的专家。这种方法称为 Token Choice,允许给定的词被发送到一个专家(top-1 路由)或多个专家(top-k 路由)。

或者发送到多个专家(top-k 路由):

辅助损失

一个主要的好处是,它允许对各个专家的贡献进行加权和整合。

为了在训练过程中实现专家的更均匀分布,辅助损失(也称为负载均衡损失)被添加到了网络的常规损失中。

它增加了一个约束,迫使专家具有相等的重要性。 这个辅助损失的第一个组成部分是在整个批次中对每个专家的路由器值进行求和:

这为我们提供了每个专家的重要性分数,这些分数表示无论输入是什么,给定专家被选中的可能性。

我们可以利用这些分数来计算变异系数(CV),它告诉我们专家之间的重要性分数的差异程度。

例如,如果重要性分数差异很大,变异系数(CV)将会很高:

相反,如果所有专家的重要性分数相似,变异系数(CV)将会很低(这是我们所期望的):

利用这个 CV 分数,我们可以在训练过程中更新辅助损失,使其尽可能降低 CV 分数(从而给予每个专家相等的重要性):

最后,辅助损失作为单独的损失在训练过程中进行优化。

专家容量

不平衡不仅存在于被选择的专家中,还存在于发送到专家的令牌分布中。

例如,如果输入令牌不成比例地发送到一个专家而不是另一个专家,这可能会导致训练不足。

这里,问题不仅仅在于使用了哪些专家,还在于对它们的使用程度。

一个解决方案是限制给定专家可以处理的令牌数量,即专家容量(Expert Capacity)。当一个专家达到其容量时,后续的令牌将被发送给下一位专家。

如果两个专家都达到容量了,这个词就不会被任何专家处理,而是直接送到下一层。这就叫做词溢出。

简单来说,就好比有两个专家在处理任务,但他们都忙不过来了,手上的活儿已经堆得满满的。这时候再来的新任务,他们就没办法处理了,只能把这个任务往后传,让下一层的专家或者别的机制来处理。这就叫词溢出。

用 Switch Transformer 简化 MoE

最早解决 MoE 训练不稳定性问题(如负载均衡)的基于 Transformer 的 MoE 模型之一是 Switch Transformer。它极大地简化了架构和训练过程,同时提高了训练的稳定性。

Switch Transformer

Switch Transformer 是 Google 在 2022 年发表的一篇论文中提出的一种模型,它简化了 MoE 的路由算法,减少了计算量和通信量,同时支持 bfloat16 精度进行训练。基于 T5-Base 和 T5-Large 设计的模型在相同的算力下训练速度提升了 7 倍;同时发布了 1.6 万亿参数的 MoE 模型,相比 T5-XXL 模型训练速度提升了 4 倍。

模型介绍

Switch Transformer 是一个 T5 模型(编码器-解码器),它用切换层替换了传统的前馈神经网络层。切换层是一个稀疏的 MoE 层,它为每个词元选择一个专家(Top-1 路由)。

简化稀疏路由

在传统的 MoE 层中,网络接收一个输入词元 ,输出会路由到 top-K 个专家进行计算。Switch Transformer 采用了一种简化的路由策略,即每次只发给一个专家,这样可以显著减少路由的计算量,同时保证模型的性能。

高效稀疏路由

Switch Transformer 通过以下方式实现高效稀疏路由:

路由计算量减少:只有一个专家被激活,减少了计算量。

专家容量减半:专家中的 batch_size 至少减半,进一步减少了计算量。

简化路由实现:减少了传统 MoE 方法中通信的代价。

分布式 Switch 实现

Switch Transformer 的分布式实现中,所有核心被分配给数据分区维度 ,这也对应于模型中的专家数量。对于每个核心的每个词元,路由器会本地计算分配给专家的分配。输出是一个大小为 的二进制矩阵,该矩阵在第一维度上进行分区,并确定专家的分配。

负载均衡损失

为了促使每个专家都可以拿到近似均匀分布的样本,Switch Transformer 引入了负载均衡损失。 当 时,损失是最小的。

切换层

Switch Transformer 是一个 T5 模型(编码器-解码器),它用切换层替换了传统的前馈神经网络层。切换层是一个稀疏的 MoE 层,它为每个词元选择一个专家(Top-1 路由)。

简单来说,就是路由器在挑专家的时候,就是按照老规矩来,把输入数据和专家的权重相乘,然后用 SoftMax 函数处理一下,看看哪个专家最合适。没有啥复杂的操作,就是常规操作。

Switch Transformer 用了一种很简单的办法 来挑专家。以前的方法是让每个词元找好几个专家来处理,这种方法叫 top-k 路由。但 Switch Transformer 说,其实每个词元找一个专家就足够了,这种方法叫 top-1 路由。这样做的好处是,计算量变小了,通信成本也降低了,而且训练起来更稳定。

容量因子

容量因子就像是给每个专家分配任务的“额度”。这个值很重要,因为它决定了每个专家能处理多少个词元。Switch Transformer 在这方面做了改进,通过直接调整容量因子来控制每个专家的处理能力。这样做的好处是,可以更好地平衡每个专家的负载,避免有些专家忙不过来,而有些专家却很闲。

tokens per batch:每个批次中的令牌总数。

number of experts:专家的数量。

capacity factor:容量因子,通常大于 1,以提供额外的缓冲空间。

专家容量的组成部分其实挺简单的。专家容量主要由两个因素决定:每个批次中的令牌数量和专家的数量。

如果我们把容量因子调大,每个专家就能处理更多的词元。这听起来好像挺好的,因为专家们能干更多的活儿。

但是,如果把这个因子调得太大,就会浪费很多计算资源,因为有些专家可能会闲着没事干。反过来,如果容量因子太小,专家们就会忙不过来,处理不了所有的词元,这就叫令牌溢出。结果就是,模型的性能会变差,因为有些词元没被处理好。所以,容量因子得找个合适的值,这样才能让专家们既不过载,也不闲置,模型性能也能保持在最佳状态。

辅助损失

辅助损失这个东西,就是为了防止模型在处理数据时丢掉一些重要的信息。想象一下,每个专家都有自己的工作量,我们希望这些工作量分配得均匀一些。为了达到这个目的,我们引入了一个简化的辅助损失函数。

这个辅助损失函数不是去计算那些复杂的变异系数,而是直接看每个专家被分配到的令牌比例和路由器预测的概率。具体来说,我们希望每个专家处理的令牌数量和它们被选中的概率都差不多,也就是每个专家都能均匀地分到活儿干。

α 这个超参数就像是一个调节旋钮,用来控制这个辅助损失在训练过程中的重要性。如果 α 值设得太高,辅助损失就会太强势,把主要的损失函数都盖过去了;如果 α 值太低,那这个辅助损失就起不到什么作用,专家们的工作量还是不平衡。所以,α 值需要好好调整,才能让模型既不丢信息,又能让每个专家都忙得过来。

混合专家模型MoE在视觉模型中的应用

混合专家模型(MoE)这种技术不仅在语言模型里有用,在视觉模型里也能大显身手。比如 ViT(Vision-Transformer)这种模型,它用的是 Transformer 的架构,所以完全可以把 MoE 用起来。

简单来说,ViT 这个模型是把图像切成很多小块,这些小块就像是语言模型里的词元一样被处理。具体来说,比如一张 224x224 像素的图像,可以切成 16x16 像素的小块,这样就能得到 196 个小块。每个小块再被转换成一维向量,这样就能用 Transformer 来处理了。

这种方法的好处是,可以利用 Transformer 在处理序列数据上的强大能力,来处理图像这种二维数据。这样,视觉模型也能像语言模型一样,通过 MoE 来提高效率和可扩展性。

在 Vision Transformer(ViT)模型中,我们先把图像切成很多小块,这些小块就像是语言模型里的词元一样。然后,我们把这些小块转换成嵌入向量,这个过程有点像给每个小块加上一个标签,帮助模型更好地理解它们。

这个转换过程包括两个步骤:

线性变换:每个小块被展平成一维向量,然后通过一个线性变换(全连接层)映射到一个固定的维度 D,形成每个小块的嵌入向量。这个嵌入向量的维度就是 Transformer 的输入维度。

位置嵌入:为了帮助模型理解每个小块在图像中的位置,我们还会加上位置嵌入。位置嵌入是一个额外的向量,它包含了每个小块的位置信息。这样,模型不仅知道每个小块的内容,还知道它们在图像中的位置。

最后,这些带有位置嵌入的嵌入向量被输入到常规的 Transformer 编码器中,编码器会通过自注意力机制来处理这些向量,提取图像的全局特征。这个过程有点像语言模型处理词元序列一样,只不过这里是处理图像的小块序列。

当这些小块(也就是图像被切成的小方块)进入编码器的时候,它们的处理方式和语言模型里的词元一样。这就意味着,每个小块都会被当作一个独立的单元来处理,就像处理句子中的每个词一样。这种处理方式让 Vision Transformer(ViT)这种架构非常适合用混合专家(MoE)模型来优化。因为 MoE 模型本来就是设计来处理这种“分而治之”的任务的,每个专家可以专注于处理一部分数据,这样既能提高效率,又能保持高性能。

Vision-MoE

Vision-MoE(V-MoE)是图像模型中第一个实现 MoE 的例子之一。它把 ViT 中的密集前馈神经网络(FFNN)层换成了稀疏 MoE。这样,ViT 模型(通常比语言模型小)就能通过增加专家数量来大规模扩展。

因为图像通常包含很多小块,为了减少硬件限制,每个专家使用了一个较小的预定义专家容量。但是,较低的容量会导致一些小块被丢弃,就像令牌溢出一样。

为了应对这个问题,网络会为小块分配重要性分数,并优先处理这些小块,这样溢出的小块通常就不那么重要了。这个方法叫做批量优先级路由(Batch Priority Routing)。

所以,即使处理的小块数量减少了,重要的小块仍然会被路由。

优先级路由允许模型通过专注于最重要的小块来减少处理的小块数量。这样,模型在保持高性能的同时,还能减少计算资源的消耗。

活跃与稀疏参数:以 Mixtral 8x7B 为例

MoE(混合专家)模型的一个关键优势在于它的计算效率。

以 Mixtral 8x7B 为例,这个模型虽然总参数量很大,但在实际运行时,每次只激活一部分专家。这意味着,虽然模型有 47B 参数,但实际计算量相当于 12B 参数的密集模型。这种设计让模型在保持高性能的同时,大大减少了计算资源的消耗。

具体来说,MoE 模型在训练和推理时有以下优势:

训练速度更快:与相同参数规模的密集模型相比,MoE 可以用更少的计算资源和时间完成预训练。例如,Google 的 Switch Transformer 模型大小是 T5-XXL 的 15 倍,但在相同计算资源下,Switch Transformer 模型在达到固定困惑度 PPL 时,比 T5-XXL 模型快 4 倍。

推理速度快:虽然模型总参数量大,但推理时只激活部分专家网络。对于同等参数规模的密集模型,MoE 推理速度更快。例如,Mixtral 8x7B 虽然有 47B 参数,但推理时计算量相当于 12B 参数的密集模型。

扩展性强:MoE 允许模型在保持计算成本不变的情况下增加参数数量,这使得它能够扩展到非常大的模型规模,如万亿参数模型。

多任务学习能力:MoE 在多任务学习中表现出色,能够同时处理多种不同的任务,每个专家可以专注于特定的任务或数据类型。

换句话说,我们仍然需要将整个模型(包括所有专家)加载到你的设备上(稀疏参数),但在运行推理时,我们只需要使用其中的一部分(活跃参数)。MoE 模型需要更多的显存来加载所有专家,但在推理时运行得更快。

Mixtral 8x7B 就是这样一个模型,它有很多参数(稀疏参数),但实际推理时只用到其中的一部分(活跃参数)。

具体来说,Mixtral 8x7B 模型有 8 个专家,每个专家有 5.6B 参数。虽然模型总参数量是 46.7B(8 个专家的参数加上共享参数),但在推理时,每个输入只用到 2 个专家,所以实际激活的参数量是 12.8B。这意味着,虽然加载整个模型需要很多显存,但实际运行时效率很高。

这种设计让 Mixtral 8x7B 在处理大规模数据时非常高效,既能保持高性能,又减少了计算资源的消耗。这就是为什么 MoE 模型在大型语言模型和视觉模型中越来越受欢迎的原因。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

一步一步理解大模型:混合专家模型(MoE)简介 混合专家模型,英文叫Mixture of Experts (MoE) 是一种模型设计策略,它通过将多个模型(称为"专家")的预测结果结合在一起,以获得更好的预测性能。 阅读详情

相关推荐

MoE(混合专家模型)

与稠密模型相比,预训练速度更快;与具有相同参数数量的模型相比,具有更快的推理速度;模型规模是提升模型性能的关键因素之一。在有限的计算资源预算下,用更少的训练步数训练一个更大的模型,往往比用更多的步数训练一个较小的模型效果更佳。混合专家模型 (MoE) 的一个显著优势是它们能够在远少于稠密模型所需的计算资源下进行有效的预训练。这意味着在相同的计算预算条件下,您可以显著扩大模型或数据集的规模。特别是在预训练阶段,与稠密模型相比,混合专家模型通常能够更快地达到相同的质量水平。稀疏 MoE 层。

技术引领业务创新 883

「DeepSeek-V3 技术解析」:无辅助损失函数的负载均衡

该偏置项 b_i 的计算方式非常直观,如下图所示:首先获取分配给各专家的 token 数量平均值及所有专家的理论全局均值,然后计算给各专家分配的 token 数量与理论全局均值的差值,偏置项由该差值(或误差)的符号乘以固定更新率(fixed update rate)决定(该更新率为可调超参数)。该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

m0_48891301的博客 1664

混合专家模型MoE及拓展

摘要:混合专家模型(MoE)通过引入多个子模型(专家)提升大型语言模型性能,其核心由专家网络和路由器组成。稀疏MoE仅激活部分专家以降低计算成本,而稠密MoE则使用所有专家。路由器通过门控网络分配token给最适合的专家,并通过负载均衡和辅助损失确保专家利用率均衡。SwitchTransformer采用Top-1路由策略简化架构,引入专家容量因子和辅助损失优化训练稳定性。MoE在减少推理计算量的同时需要更大显存加载所有专家参数。

皮皮blog 6105

混合专家模型 (MoE) 详解

与稠密模型相比,预训练速度更快与具有相同参数数量的模型相比,具有更快的推理速度需要大量显存,因为所有专家系统都需要加载到内存中在微调方面存在诸多挑战,但近期的研究表明,对混合专家模型进行指令调优具有很大的潜力。让我们开始吧!模型规模是提升模型性能的关键因素之一。在有限的计算资源预算下,用更少的训练步数训练一个更大的模型,往往比用更多的步数训练一个较小的模型效果更佳。混合专家模型 (MoE) 的一个显著优势是它们能够在远少于稠密模型所需的计算资源下进行有效的预训练。

asd8705的专栏 1165

【ChatGPT】混合专家模型(Mixture of Experts, MoE):提高神经网络泛化能力和性能的利器

MoE模型是一种用于解决大规模数据集上的复杂任务的神经网络模型。它可以自适应地组合多个专家网络来处理不同的数据子集,从而提高模型的泛化能力和性能。MoE模型的基本结构由门控网络和专家网络组成,其中门控网络用于选择哪个专家网络处理输入数据,而每个专家网络负责处理相应的数据子集。MoE模型的训练可以通过最大化似然函数来实现,通过交替优化门控网络和专家网络来实现。在实现MoE模型时,可以使用PyTorch等深度学习框架来简化代码实现。

AI天才研究院 7077

基于Vivado2025的UltraScale+时序收敛优化实战案例

深入解析在Vivado2025环境中针对UltraScale+架构的时序收敛挑战,结合实际设计案例,分享关键优化策略与操作技巧,显著提升设计性能与收敛效率。vivado2025的更新特性为时序优化带来新机遇。

weixin_33660045的博客 343

混合专家模型MoE的全面详解

混合专家模型MoE是一种能让大型语言模型(LLM)质量变好的技术。专家——现在每个前馈神经网络(FFNN)层都有好多个“专家”,每次可以用其中一部分。“专家”一般也是前馈神经网络。门控网络——它能决定把哪些tokens送到哪些专家那儿。在带混合专家模型MoE的大型语言模型的每一层,都能看到这些有点专门作用的专家:要知道,这里的‘专家’可不是像‘心理学’‘生物学’这种特定领域的专家哦。最多就是学学词语层面的语法信息:说得更细点儿,它们擅长处理特定情境下的特定词。

qq_32907491的博客 5229

霍尔安装歪了也能用?揭秘无感FOC中的‘霍尔自学习’黑科技,实现信号线自适应

本文揭秘了无感FOC中的‘霍尔自学习’黑科技,即使霍尔安装歪了或信号线接错,电机仍能平稳运转。该技术通过算法创新解决了传统霍尔方案的安装公差、接线容错和校准成本问题,显著提升了电机控制的可靠性和效率。文章详细解析了自学习算法的实现架构、关键技术及工程实践中的优化方案,展示了其在工业应用中的卓越性能。

weixin_28309571的博客 462

万字长文!小白也能懂的混合专家模型(MoE)深度解析

混合专家模型(Mixture of Experts,MoE)是一种先进的神经网络架构,旨在通过整合多个模型或“专家”的预测来提升整体模型性能。MoE模型的核心思想是将输入数据分配给不同的专家子模型,然后将所有子模型的输出进行合并,以生成最终结果。这种分配可以根据输入数据的特征进行动态调整,确保每个专家处理其最擅长的数据类型或任务方面,从而实现更高效、准确的预测。专家(Experts):模型中的每个专家都是一个独立的神经网络,专门处理输入数据的特定子集或特定任务。

Python_cocola的博客 2万+

C51编程25-应用篇(单片机与电脑端实现wifi通讯)

单片机使用ESP-01S wifi模块与电脑端进行数据通讯。

qq_34343637的博客 1万+

单节锂电池充电管理芯片应用原理阐述及应用领域

当电池电压超过2.9V时,采用恒流模式对电池充电,充电电流由PROG 管脚和GND之间的电阻RPROG确定。充电电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置当充电电流在达到最终浮充电压之后降至设定值1/10时,WD4054将自动终止充电循环。在待机模式中,WD4054 对 BAT 引脚电压进行监控,只有当 BAT 引脚电压低于再充电阈值电压4.1V时(对应电池容量80%~90%),才会开始新的充电循环,重新对电池进行充电,这就避免了对电池进行不必要的反复充电,有效延长电池的使用寿命。

weixin_41141180的博客 943

混合专家模型 (MoE) 到底是什么?看完这篇,你也能讲明白!

如果你还不知道什么是 MoE ,那就码住今天的文章吧!我们将图解 MoE,用 50 张图细致地探索这一重要组件——混合专家模型(MoE)。

2301_81940605的博客 3131

基于STM32的频率计(采用外部中断的方式)

前言 最近在了解电赛相关的东西,和指导老师交流一下,我决定先从最简单的频率计做起。 频率计是来检测信号的频率的,在做频率计的时候可以用信号发生器发出的信号来进行测试。 原理 这是最基础的方波,我们可以通过检测上升沿的方式来测量其频率。从周期的角度出发连续两个上升沿的时间就是这个方波的周期,那这个周期分之一就是这个方波的频率了。 在思考了一段时间~~(我是萌新。。)~~ 我觉得有两个方法可以实现,第一个是采用stm32定时器的输入捕获功能,第二个就是用外部中断来实现这个功能。正如标题,我这次采用外部中断的方

qq_45784922的博客 6171

一文看懂混合专家模型 (MoE) 到底是什么?

混合专家(Mixture of Experts,简称 MoE)模型,是一种利用多个不同的子模型(或“专家”)来提升大语言模型(LLM)质量的技术。MoE 架构主要由两个核心组件构成:1.专家模块:每个前馈神经网络(FFNN)层包含一组“专家”,每次可从中选择一个子集。这些“专家”本身通常是 FFNN。2.路由或者网关网络,决定将哪些标记(token)分配给哪些专家。在采用 MoE 架构的大语言模型的每一层中,我们会发现这些专家模块往往具有这样的特点:

weixin_72959097的博客 7249

Circos在Windows下的安装教程

这里写自定义目录标题Circos简介安装Perl 的安装Circos安装安装及解压安装Modules测试用例官方文档 Circos简介 (来源官网:http://circos.ca/software/readme/ O.INTRODUCTION部分) Circos is a program for the generation of publication-quality, circularly composited renditions of genomic data and related annot

qq_42318911的博客 1660

UE4 - 河流流体插件Fluid Flux

Fluid Flux可以模拟一定区域内的流体效果,由于使用顶视图所Capture的Heightfield信息,所以只支持室外开阔场景,不支持洞穴等室内场景;

GT的虚幻引擎文档 6666

混合专家模型 (MoE)

随着 Mixtral 8x7B (announcement, model card) 的推出,一种称为混合专家模型 (Mixed Expert Models,简称 MoEs) 的 Transformer 模型在开源人工智能社区引起了广泛关注。在本篇博文中,我们将深入探讨 MoEs 的核心组件、训练方法,以及在推理过程中需要考量的各种因素。混合专家模型 (MoEs):为了实现大模型的高效训练和推理,有的是从模型底层下手,比如直接改变底层模型架构,将原来的Transformer架构改成近期新出的基于状态空间模型

qq_32907491的博客 2580

LangGraph-StateGraph 和 Graph API 源码分析

摘要: StateGraph是LangGraph的核心API,用于构建有状态工作流图。本文分析了其实现原理,包括: 核心类关系:StateGraph(构建器)和CompiledStateGraph(继承自Pregel的可执行图) 关键流程:状态模式到通道的映射、节点到PregelNode的转换 实现特点: 支持TypedDict和Pydantic两种状态模式 自动选择通道类型(LastValue或BinaryOperatorAggregate) 通过映射函数处理节点输入输出 边实现基于通道写入机制 编译过程

838

MoE(混合专家)模型

MoE模型的本质,是一种分布式的模型架构设计思想,核心是将传统“单一大模型”拆解为两个核心部分:多个“专家模型”(Expert)和一个“门控网络”(Gating Network),通过“分工协作”实现高效计算。与传统稠密模型的核心区别:传统稠密模型在处理输入时,所有参数会被“全量激活”——无论输入是简单的句子生成,还是复杂的逻辑推理,模型的每一层、每一个神经元都会参与计算,导致算力浪费。

weixin_43156294的博客 3092

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

混合专家模型(MoE)详解

混合专家模型(MoE)详解

诸神缄默不语的博客 3287

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

混合专家模型(MoE)的前世今生

​ 在文章《聊聊最近很火的混合专家模型(MoE)》中,我们简单介绍了MoE模型的定义和设计,并且比较了MoE和Dense模型的区别,今天我们继续来回顾一下MoE模型发展的历史和最新的发展现状。

产品老A,8年互联网大厂AIPM,专注探索新型人机交互 4316

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

混合专家模型 (MoE) 简述

本文主要想梳理一下 MoE 模型相关的概念,并阅读整理部分开源 MoE 模型的论文,简要地描述整体架构等。

2301_81940605的博客 7226

漫画混合专家(MoE)

混合专家(MoE)是一种使用许多不同的子模型(或“专家”)来提高LLMs质量的技术。两个主要组件定义了 MoE:专家 - 每个FFNN 层现在都有一个“专家”集合,其中可以选择子集。这些“专家”通常是 FFNN 本身。路由器或网关网络 - 确定哪些令牌发送给哪些专家。在具有 MoE 的LLM的每一层中,我们发现(某种程度上是专业的)专家“专家”并非在特定领域如“心理学”或“生物学”中专业化。最多,它只是词法方面的专家:更具体地说,他们的专长在于处理特定语境中的特定标记。

具身机器人和通用AI 1179
上一篇: ICML-2024 | Voronoi图助力具身导航!VoroNav:基于大模型和Voronoi图的零样本目标导航
下一篇: 吴恩达:AI产品经理时代即将到来
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2829原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值