大模型:混合专家模型(MoE)概述,零基础入门到精通,看这篇就够了!赶紧收藏!

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

随着GPT-4、DeepSeekMoE等模型的发布中均涉及到了混合专家模型(MoE,Mixture of Experts)的话题,MoE 模型已经成为开放 AI 社区的热门话题。2023年6月,美国知名骇客George Hotz在接受采访时透露,GPT-4由8个220B的专家模型组成。假如把8个专家模型比喻为比GPT-3还大的脑袋,那GPT-4就是一个八个头的超级大怪兽。

GPT-4(MoE)比GPT-3(Transformer)和GPT-3.5(RLHF)强大一个数量级的关键,可能就是来源于MoE架构。之前的GPT大模型增大参数的方法是在一个GPT模型上堆层数,现在变成了堆模型数。将来大语言模型的研究新方向,可能就不是增大单一模型的向量维度和层数了,而是增大整体架构的模型数了。GPT-4引入MoE似乎是个必然,因为无论是算力、数据、稳定性,万亿级参数的单个大模型训练很困难,而且推理成本也会居高不下,跑万亿个参数的计算才能算出一个token的速度和成本比较不可观。所以,将若干个模型堆成一个MoE大模型似乎是个必然趋势。

那么,究竟什么是MoE大模型?MoE大模型具备哪些优势呢?

MoE,全称为Mixed Expert Models,混合专家模型,简单理解就是将多个专家模型混合起来形成一个新的模型。在理解MOE之前,有两个思想前提,可以帮助我们更容易地理解MOE架构。一是在现实生活中,如果有一个包括了多个领域知识的复杂问题,我们该使用什么样的方法来解决呢?最简单的办法就是先拆分任务到各领域,然后把各个领域的专家集合到一起来攻克这个任务,最后再汇总结论。这个思想可以追溯到集成学习,MoE和集成学习的思想异曲同工,都是集成了多个模型的方法,区别在于集成学习不需要将任务分解为子任务。集成学习是通过训练多个基学习器来解决同一问题,并且将它们的预测结果简单组合(例如投票或平均)。而MOE是把大问题先做拆分,再逐个解决小问题,再汇总结论。二是模型规模是提升模型性能的关键因素之一。在有限的计算资源下,用更少的训练步数训练一个更大的模型,往往比用更多的步数训练一个较小的模型效果更佳。

MoE正是基于上述的理念,它由多个专业化的子模型(即“专家”)组合而成,每一个“专家”都有其擅长的领域。而决定哪个“专家”参与解答特定问题的,是一个称为“门控网络”的机制。技术上常说的门控机制,可能会先想到LSTM的门控机制,但是这里的门控机制和LSTM里的门控不一样。LSTM的门是为了控制信息流动,这里的门就更像我们日常中提到的门,选择进门或是不进门,是一个控制是否使用某个专家模型的概率分布值。

MoE基于Transformer架构,主要由两部分组成:

稀疏 MoE 层:MoE层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”模型,每个专家本身是一个独立的神经网络。在实际应用中,这些专家通常是前馈网络 (FFN),但它们也可以是更复杂的网络结构。

门控网络或路由: 这个部分用于决定哪些 token 被发送到哪个专家。例如,在上图中,“More”这个 token 可能被发送到第二个专家,而“Parameters”这个 token 被发送到第一个专家。同时,一个 token 也可以被发送到多个专家。token 的路由方式是 MoE 使用中的一个关键点,因为路由器由学习的参数组成,并且与网络的其他部分一同进行预训练。

MoE 的一个显著优势是它们能够在远少于 Dense 模型所需的计算资源下进行有效的预训练。这意味着在相同的计算预算条件下,您可以显著扩大模型或数据集的规模。特别是在预训练阶段,与稠密模型相比,混合专家模型通常能够更快地达到相同的质量水平。例如Google的Switch Transformer,模型大小是T5-XXL的15倍,在相同计算资源下,Switch Transformer模型在达到固定困惑度 PPL 时,比T5-XXL模型快4倍。

国内的团队DeepSeek 开源了国内首个 MoE 大模型 DeepSeekMoE。

DeepSeekMoE 2B可接近2B Dense,仅用了17.5%计算量。

DeepSeekMoE 16B性能比肩 LLaMA2 7B 的同时,仅用了40%计算量。

DeepSeekMoE 145B 优于Google 的MoE大模型GShard,而且仅用 28.5%计算量即可匹配 67B Dense 模型的性能。

此外,MoE大模型的优点还有:

  • 训练速度更快,效果更好。

  • 相同参数,推理成本低。

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

  • 多任务学习能力,MoE在多任务学习中具备很好的性能。

MoE结合大模型属于老树发新芽,MOE大模型的崛起是因为大模型的发展已经到了一个瓶颈期,包括大模型的“幻觉”问题、逻辑理解能力、数学推理能力等,想要解决这些问题就不得不继续增加模型的复杂度。随着应用场景的复杂化和细分化,垂直领域应用更加碎片化,想要一个模型既能回答通识问题,又能解决专业领域问题,尤其在多模态大模型的发展浪潮之下,每个数据集可能完全不同,有来自文本的数据、图像的数据、语音的数据等,数据特征可能非常不同,MoE是一种性价比更高的选择。国内大模型已经开始朝着MoE方向大步前进,在2024年,估计会有越来越多大模型选择MoE架构。

后文将介绍MoE的主要原理,以此来理解MoE大模型优势产生的原因。

一、Adaptive mixtures of local experts

Adaptive mixtures of local experts,这是大多数MoE论文都引用的最早的一篇文章,发表于1991年。论文介绍了一种新的监督学习过程——由多个独立网络组成一个系统,每个网络单独处理训练集合的子集。因为对于多任务学习,如果是常见的多层网络学习,各层之间的网络通常会有强烈的干扰效应,这会导致学习过程变慢和泛化能力差。为了解决这个问题,论文提出了使用多个模型(即专家,expert)去学习,使用一个门控网络(gating network)来决定每个数据应该被哪个模型去训练的权重,这样就可以减轻不同类型样本之间的干扰。

对于一个样本 c,第 i 个 expert 的输出为,期望的输出向量为dc,那么损失函数为:

其中 是门控网络分配给第 i 个expert的权重。

但是,作者提到这个损失函数可能会导致专家网络之间的强烈耦合,因为是所有专家网络的权重加总来共同计算损失的,一个专家权重的变化会影响到其他专家网络的loss。这种耦合可能会导致多个专家网络被用于处理每条样本,而不是专注于它们各自擅长的子任务。为了解决这个问题,论文重新定义了损失函数,以鼓励专家网络之间的相互竞争。

就是先让不同的expert单独计算loss,然后再加权求和得到总体的loss。这意味着,每个expert在处理特定样本的目标是独立于其他expert的。如果门控网络和expert都使用这个新的loss进行梯度下降训练,系统会倾向于将某类特定样本分配给特定的expert。因为当一个expert在给定样本上的的loss小于所有expert的平均loss时,它对该样本的门控score会增加;当它的表现不如平均loss时,它的门控score会减少。这种机制鼓励expert之间的竞争,而不是合作,从而提高了学习效率和泛化能力。

二、Sparsely-Gated MoE

在 2010 至 2015 年间,两个独立的研究领域为混合专家模型 (MoE) 的后续发展做出了显著贡献:

组件专家:Eigen、Ranzato 和 Ilya 探索了将 MoE 作为更深层网络的一个组件。这种方法允许将 MoE 嵌入到多层网络中的某一层,使得模型既大又高效。

条件计算(Conditional Computation):传统的神经网络通过每一层处理所有输入数据。Yoshua Bengio 等研究人员开始探索基于输入 token 动态激活或停用网络组件的方法。

2017 年,Shazeer 等人将上述概念应用于 137B 的 LSTM 。通过引入稀疏性,这项工作在保持极高规模的同时实现了快速的推理速度。在牺牲极少的计算效率的情况下,把模型规模提升1000多倍。这项工作被发表在论文Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer中,和 1991 年Adaptive mixtures of local experts的工作对比,这里的 Sparsely-Gated MoE 主要有两个区别:

  • Sparsely-Gated:不是所有expert都会起作用,而是极少数的expert会被使用来进行推理。这种稀疏性,也使得我们可以使用海量的experts来把模型多倍扩大。

  • token-level:相比于sample-level,即不同的样本,使用不同的专家,采用token-level,即一个句子中不同的token使用不同的专家。

如上图所示,每个token都会接一层MoE Layer,每个MoE layer中包含了多个experts,还有一个Gating Network会根据当前 token,选择少数几个expert来进行计算。

2.1 门控网络(Gating Network)

门控网络(Gating Network)的设计和实现是Sparsely-Gated MoE 层的核心组成部分。门控网络负责为每个输入 token 选择一个稀疏的专家组合。一般门控网络最简单的就是概率分布形式,根据概率去做出相应的选择。那么在深度学习中,最简单的网络就是,设定门控网络为一个简单的前馈神经网络,最后接一层softmax,作为每个专家的使用权重。

设 G(x) 和 Ei(x) 分别是门控网络和第 i 个 expert 的输出,那么对于在当前的输入x,输出就是所有 experts 的加权和:

那么一个典型的门控网络就是一个带有 softmax 函数的简单的网络。这个网络将学习将输入发送给哪个expert:

在这种设置下,所有expert都会对输入进行运算,再通过门控网络的输出进行加权求和,如果experts的数量太大,就会导致计算量非常大。但是,如果有一种方法能使某些专家模型的门控网络的输出为0,就没有必要对这个专家进行相应的计算,就可以节省计算资源。其中效果比较好的包括带噪声的 TopK 门控 (Noisy Top-K Gating)。这种门控方法引入了一些可调整的噪声,然后保留前 k 个值。具体来说:

1. 添加一些噪声

2. 选择保留前 k 个值

3. 应用 Softmax 函数

对于非TopK的部分,由于值是负无穷,这样在经过Softmax之后就会变成 0,不会被选中。噪声可以使得不同expert的负载更加均衡。在具体实验中,作者使用的 K=2~4。

在MoE模型中加入噪声的原因主要有以下几点:

  • 提高模型的鲁棒性和泛化能力。当模型在训练或推理阶段遇到不确定或嘈杂的数据时,鲁棒性较强的模型更能保持稳定的性能。

  • 减少过拟合的风险。

  • 负载均衡:在MoE模型中,通过加入噪声可以实现不同专家之间的负载均衡。

2.2 辅助损失——均衡专家利用负载率(Balancing Expert Utilization)

要理解专家负载均衡,可以从batch size的角度出发。通常来讲,较大的 batch size 推理性能更好,但是由于样本在MoE层激活专家时需要并行,MoE层中每个专家的实际batch size会减少。举个例子,假设当前 batch 有10个token,其中5个token被路由到了某个专家网络,而其他5个token被路由到了其它5个不同的专家网络,这就会导致各专家网络获得的 batch size 不均匀,一个是另外的5倍,就会导致算力利用率不足的问题。

并且,如果我们把所有的token都发送给少数几个头部专家,训练效率将会变得低下。因为在训练中,门控网络会收敛至仅选择少数几个头部专家。这种情况会不断自我强化,因为受青睐的专家训练得更快,它的效果一直在被优化,因此选择它们的频率也会更高。那么此时,这几个少数专家就会过载,每次需要计算大量token,其他的专家模型就得不到训练而被闲置,就会导致模型失衡,性能下降。因此,MoE模型中需要控制专家均衡。上文加入噪声机制,可能就会导致门控在做出选择时跳过几个最优专家模型,去选择其余的专家模型,从而更好地协同工作。

此外,为了缓解这种情况,可以添加辅助损失,鼓励给予所有专家同等的重视。论文提出了一种软约束方法。作者定义了专家相对于一批训练样本的重要性 Importance(X) ,即该专家在这批样本中门控值的总和。然后定义了一个额外的损失函数 LImportance(X) ,这个损失函数被添加到模型的整体损失函数中。这个损失函数等于重要性值集合的CV(coefficient of variation)平方(变异系数,可以度量一组数据的离散程度),乘以一个手动调整的缩放因子 wImportance 。这个额外的损失鼓励所有专家具有相等的重要性,具体计算公式如下所示:

这种损失确保所有专家能收到数量大致相等的训练样本。

三、GShard

GShard是谷歌2021年在论文GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding中提出的使用GShard实现MoE跨设备分片的方法,是第一个将MoE的思想拓展到Transformer上的工作。它具体的做法是,把Transformer的encoder和decoder中,每隔一个的FFN层,替换成使用Top-2门控的MoE层。

上图展示了编码器部分的结构。这种架构对于大规模计算非常有效:当扩展到多个设备时,MoE 层在不同设备间共享,而其他所有层则在每个设备上复制。GShard MoE层中的专家网络(experts)被分布在不同的设备上。每个专家网络负责处理一部分输入数据,并且每个token根据门控机制的输出被分配到一个或两个专家网络中。这样,整个 MoE 层的计算被分散到了多个设备上,每个设备负责处理一部分计算任务。

实现 MoE 跨设备分片的关键技术是模型并行化(model parallelism)和数据并行化(data parallelism)的结合。在模型并行化中,模型的不同部分(这里指MoE层的专家网络)被分配到不同的设备上。在数据并行化中,输入数据被分割成多个部分,每个部分被分配给不同的设备进行处理。由于专家被分配到不同设备,可以并行计算,大大提升了模型的计算效率,这也解释了为什么 MoE 可以实现更大模型参数、更低训练成本。

为了保持负载平衡和训练效率,GShard 的作者除了引入上节 Sparsely-Gated MoE 中的辅助 loss 外,还引入了一些关键变化:

  • 随机路由:在 Top-2 设置中,GShard 始终选择排名最高的专家,但第二个专家是根据其权重比例随机选择的。

  • 专家容量:设定一个阈值,定义一个专家最多能处理多少 token。如果专家容量达到上限,token 就会溢出,并通过残差连接传递到下一层,或被完全丢弃。专家容量是 MoE 中最重要的概念之一。为什么需要专家容量呢?因为我们无法提前知道多少 token 会分配给每个专家,因此需要一个固定的容量因子,来防止专家过载。其计算公式为:

专家容量希望将 batch 中的总 token 数平均分配给所有专家。然后,为了应对 token 特征分布不均的情况,会通过一个容量因子来扩展每个专家的容量。容量因子是一个大于 1.0 的数,它的作用是为每个专家提供额外的缓冲空间,以容纳可能超出平均分配的 token。这样,在数据分布不均的情况下,即使某些专家接收到的 token 数量超过了平均值,也能够处理这些额外的 token,而不会因为容量不足而导致计算跳过。但是,如果容量因子设置得过高,会导致计算资源和内存的浪费,因为模型可能永远不会用到这额外的资源。经过研究,容量因子 在1至1.25下表现出色。

注意:在推理过程中,有些计算过程是共享的,例如自注意力 (self-attention) 机制,它适用于所有 token。这就解释了为什么Mixtrial 8×7B不是56B,而是47B。同理,如果采用 Top-2 门控,模型会使用 14B 的参数。但是,由于自注意力操作 (专家间共享) 的存在,实际上模型运行时使用的参数数量是 12B。

四、Switch Transformers

2022年,Google提出Switch Transformers,对MoE大模型的复杂性、通信成本以及训练微调过程的不稳定性进行了优化。Switch Transformers是一个1.6万亿参数的MoE,拥有2048个专家,可以使用transformers库运行。

Switch Transformers 简化了 MoE 路由算法,设计了直观的改进模型,降低了通信和计算成本。Switch Transformers 的训练方法减轻了不稳定性,并且首次展示了用较低精度(bfloat16)格式训练大型稀疏模型的可能性。

上图模型参数随着专家数量的增加而增加,训练时,保持了相同的计算成本,loss逐渐降低。这表明模型在保持计算效率的同时,能够利用更多的参数来提高性能。

上图比较了使用相同计算资源下,Switch Transformer 和 T5-Base 的 PPL。可以看到 Switch Transformer 模型在保持相同计算资源的情况下,相对于 T5-Base 有显著的提升,而且专家数越多(模型参数越多、模型更稀疏),效果越好。

4.1 Switch Transformer主要优化

Swith Transformer 在论文中提到其设计指导原则是——尽可能地把 Transformer 模型的参数量做大!(即加专家数量!堆叠专家模型!)

和其他 MoE 模型的一个显著不同就是,Switch Transformer 的门控网络每次只路由到 1 个 expert,也就是每次只选取 Top1 的专家,而其他的模型都是至少 2 个。这样从 MoE layer 的计算效率上讲是最高的,同时也降低了 MoE 中的通信成本

4.2 改进预训练和Fine-Tuning技术

1. 改进预训练——精度选择

作者尝试了混合精度改进预训练,较低的精度可以减少处理器间的通信成本、计算成本以及存储 tensor 的内存。然而,在最初的实验中,当专家和门控网络都使用 bfloat16 精度训练时,出现了不稳定的训练现象。这种不稳定性主要是由门控计算引起的,因为门控涉及指数函数等操作,这些操作对精度要求较高。因此,为了保持计算的稳定性和精确性,保持更高的精度是重要的。为了减轻不稳定性,门控过程使用了全精度。

下表显示了混合精度训练的效果,将路由器输入转换为 float32,同时保持其他部分的精度为 bfloat16。这种策略允许模型在几乎与 bfloat16 精度相同的训练速度下,实现与 float32 训练相当的稳定性。

2. 改进预训练——更小的参数初始化

在深度学习中,适当的权重初始化对于模型的成功训练至关重要。作者观察到,在 Switch Transformer 模型中,这一点尤其明显。

为了提高模型的稳定性,作者建议减少默认的 Transformer 初始化规模。在 Transformer 模型中,权重矩阵通常是从一个正态分布开始。作者建议将这个初始化正态分布标准差的超参数 s 从默认值1.0 减少 10 倍到 s = 0.1,模型效果和稳定性得到了提升。

3. 改进微调——Fine-Tuning 过程正则化

为了解决 Fine-Tuning 过程中的过拟合问题,作者提出了增加 dropout的策略,特别是在专家层(expert layers)中,称之为“expert dropout”,即在 Fine-Tuning 时只在专家层增加 dropout 率。

通过这种 expert dropout 策略,有效地减少了过拟合的风险,同时保持了模型在下游任务上的性能。这种正则化方法对于处理具有大量参数的稀疏模型特别有用,因为它可以帮助模型更好地泛化到未见过的数据。

五、ST-MOE——用 Router z-loss 稳定模型训练

在论文 ST-MOE: Designing Stable and Transferable Sparse Expert Models 中,作者提出了一种新的辅助损失函数,称为 Router z-loss,用于提高稀疏模型的训练稳定性,同时保持或稍微提高模型质量。这个损失函数是针对稀疏专家模型中的路由器(router)部分设计的,路由器负责将输入的 token 路由到最合适的专家(expert)层。这个损失函数的目标是鼓励路由器产生较小的logits 值,因为较大的 logits 值在 softmax 激活函数中会导致较大的梯度,这可能会引起训练不稳定。

Router z-loss 的定义如下:

其中, B 是 batch 中的 token 数量, N 是专家的数量, x是门控的 logits值。这个损失函数通过惩罚较大的 logits 值来工作,因为这些值在 softmax 函数中会导致较大的梯度。通过这种方式,Router z-loss 有助于减少训练过程中的不稳定性。

  • 稳定梯度更新:在训练深度神经网络时,梯度的更新可能会因为logits值过大而导致不稳定,造成梯度消失或是爆炸(激活函数的使用问题,涉及指数计算导致梯度消失)。适当减小logits的幅度可以使梯度更新更加平稳,从而提高训练的稳定性。

  • 提高泛化能力:过大的logits值可能会导致模型对训练集中的某些特征过度敏感,通过对logits进行适当的惩罚,可以使模型更加谨慎地做出预测,避免对训练数据过拟合。

此外,ST-MOE 的作者还提到了两个MoE模型的现象:

  • 专家如何学习?

encoder层的专家倾向于专注于特定类型的 token 或浅层概念。例如,某些专家可能专门处理标点符号,而其他专家则专注于专有名词等。decoder 中的专家通常具有较低的专业化程度。此外,研究者们还对这一模型进行了多语言训练,发现模型并不会按照人们期望的结构进行训练,尽管人们可能会预期每个专家处理一种特定语言,但实际上并非如此。由于 token 路由和负载均衡的机制,没有任何专家被特定配置以专门处理某一特定语言。

  • 专家的数量对模型有何影响?

增加更多专家可以提升效率,但这些优势随着专家数量的增加而递减 (尤其是当专家数量达到 256 或 512 之后更为明显),比较符合常见的边际效用递减现象。并且,这种特性在小规模模型下也同样适用,即便是每层仅包含 2、4 或 8 个专家,也会存在这种情况。所以在设计MoEt模型时要考虑这个算力和模型质量的均衡,专家数量不是越多越好。

六、微调MoE模型

稠密模型和稀疏模型在过拟合的动态表现上存在显著差异。稀疏模型更易于出现过拟合现象,因此在处理这些模型时,尝试更强的内部正则化措施是有益的,比如使用更高比例的 dropout。例如,我们可以为稠密层设定一个较低的 dropout 率,而为稀疏层设置一个更高的 dropout 率,以此来优化模型性能。

另一种可行的 Fine-Tuning 策略是尝试冻结所有非专家层的权重。然而实验发现这会导致性能大幅下降,我们可以尝试相反的方法:仅冻结 MoE 层的参数。实验结果显示,这种方法几乎与更新所有参数的效果相当,同时可以加速 Fine-Tuning 过程,并降低显存需求。

在Fine-Tuning时还需要考虑的一个问题是,它们有需要特殊设置的超参数,例如,稀疏模型往往更适合使用较小的batch size和较高的学习率,这样可以获得更好的训练效果。

论文 MoEs Meets Instruction Tuning(2023 年 7 月)还做了以下几个实验:

  • 非MoE模型微调

  • MoE模型微调

  • 非MoE模型指令微调

  • MoE模型指令微调

结论:MoE模型指令微调 > 非MoE模型指令微调 > 非MoE模型微调 > MoE模型微调,并且子任务类型越多,MoE模型指令微调的效果越好

七、MoE 模型后续研究方向

MoE模型现在的几个值得探索的方向:

1、将 MoE蒸馏成稠密模型。Switch Transformers 的作者做了一些初步的蒸馏实验。通过将 MoE 蒸馏成一个稠密模型,能够保留 30-40% 的稀疏性增益。

2、探索专家聚合技术。该技术对专家的权重进行了合并,从而减少了参数量。

3、对MoE执行极致量化。QMoE(2023年10月)通过将MoE量化至每参数不足 1 比特,从而将1.6T的Switch Transformer模型的内存使用量从3.2TB压缩至仅需160GB。

八、开源 MoE 模型

  • 国内的MoE大模型:DeepSeek团队开源的DeepSeekMoE,模型、代码、论文均已同步发布。
  1. 模型下载:https://huggingface.co/deepseek-ai

  2. 微调代码:https://github.com/deepseek-ai/DeepSeek-MoE

  3. 技术报告:https://github.com/deepseek-ai/DeepSeek-MoE/blob/main/DeepSeekMoE.pdf

  • 此外还有一些国外的开源 MoE 模型,开源了训练代码。
  1. Megablocks:https://github.com/stanford-futuredata/megablocks

  2. Fairseq:https://github.com/facebookresearch/fairseq/tree/main/examples/moe_lm(dita)

  3. OpenMoE:https://github.com/XueFuzhao/OpenMoE

  • 下面是开源了模型,但是没有开源代码:
  1. Switch Transformers:基于T5的MoE,专家数量共2048,最大模型有1.6万亿个参数。

  2. NLLB MoE (Meta):NLLB 翻译模型的一个 MoE 变体。

  3. OpenMoE:社区对基于 Llama 的模型的 MoE 尝试。

  4. Mixtral 8x7B:一个性能超越了 Llama 2 70B 的高质量 MoE,并且具有更快的推理速度。此外,还发布了一个指令微调的版本。

零基础入门AI大模型

今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

有需要的小伙伴,可以点击下方链接免费领取【保证100%免费】

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

5.免费获取

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

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

在这里插入图片描述

混合专家模型(MoE)的概念介绍和应用案例 混合专家模型(MoE)是什么,大模型为什么青睐这一模式,稀疏激活的思想能带来什么? 阅读详情

相关推荐

AI学习者的认知地图:社区驱动的实践路径与轻量化落地指南

在AI技术快速迭代的今天,‘学什么’和‘怎么用’比‘学多少’更关键。大模型、RAG、本地知识库等概念已成基础能力,但真实落地常卡在环境适配、量化权衡、中文分词偏差、GPU显存碎片等工程暗礁上。本文聚焦AI学习者普遍面临的‘方向感缺失’问题,以社区共建的Newsletter #24为切口,解析如何从非学术向知识整合中提炼可复现的实践路径——涵盖Ubuntu 22.04环境选型依据、Qwen2-1.5B量化决策逻辑、FAISS轻量RAG构建、FastAPI服务封装等核心环节,强调‘失败快照’‘环境指纹’‘最小可

368

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

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

2401_85373691的博客 5105

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

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

AI天才研究院 7070

混合专家系统(MoE)

混合专家系统(Mixture of Experts)原理:混合专家系统(MoE)是一种神经网络,也属于一种combine的模型。适用于数据集中的数据产生方式不同。不同于一般的神经网络的是它根据数据进行分离训练多个模型,各个模型被称为专家,而门控模块用于选择使用哪个专家,模型的实际输出为各个模型的输出与门控模型的权重组合。各个专家模型可采用不同的函数(各种线性或非线性函数)。混合专家系统就是将多个模型

Zoe_Su的博客 2万+

PDF与OFD电子发票解析技术实战:从格式转换到精准识别

本文深入探讨了PDF与OFD电子发票解析技术的实战应用,从格式转换到精准识别,提供了全面的解决方案。通过OFD转PDF技术、动态定位算法和多重校验机制,显著提升电子发票识别效率与准确率,助力企业财务数字化转型。

weixin_42565652的博客 154

字节跳动高频111道核心前端面试题解析,web开发增强

但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。自定义指令(v-check、v-focus)的方法有哪些?v-model是什么?

2401_84094620的博客 1195

【干货】大模型开发必备工具精选,从入门到精通,赶紧收藏!

文章介绍了5个实用的大模型开源工具:1)大模型控制生成流程图,通过自然语言创建和修改图形;2)LightX2V轻量级视频生成框架,支持多种视频生成任务;3)MiniMind小型语言模型及多模态版本,提供完整训练优化流程;4)Shimmy轻量级PC大模型启动器,快速且低资源占用;5)Ailice智能体,基于IACT架构实现复杂任务分解与执行。这些工具各具特色,适合不同需求的大模型应用开发。

libaiup的博客 717

4.7W防削顶单声道D类音频功率放大器HT6872介绍

HT6872是一款低EMI,防削顶失真,单声道免滤波D类音频功率放大器。在6.5V电源,10%THD+N,4Ω负载条件下,输出4.71W功率,在各类音频终端应用中维持高效率并提供AB类放大器的性能。

weichen_78的博客 4684

收藏级干货:AI大模型最新突破,MoE架构降本90%、多模态生成与端侧应用全解析!

本文介绍了AI领域最新技术突破:阿里发布800亿参数MoE模型,推理成本降低90%;蚂蚁与人大推出原生MoE扩散模型;字节与清华合作开发多模态视频生成框架;MiniMax推出4分钟长音乐生成模型;腾讯优图开源图检索增强技术;谷歌发布支持离线运行的端侧AI应用。这些技术突破推动AI向更高效、实用方向发展。

2401_84494441的博客 942

手把手教你用Python模拟侧信道攻击:从电磁辐射到数据窃取(附防御代码)

本文详细介绍了如何使用Python模拟侧信道攻击,从电磁辐射信号采集到数据窃取的全过程,并提供了实用的防御代码。通过实战案例,帮助安全研究员和开发者理解侧信道攻击原理,掌握信号处理与图像重建技术,同时学习有效的噪声干扰和电磁屏蔽防御措施。

weixin_28716443的博客 158

(王道计算机组成原理笔记)第一章计算机系统概述-第二节:计算机系统层次结构 1(计算机系统组成、计算机硬件)

文章目录一:冯诺依曼体系结构(1)存储程序计算机(2)层次结构二:计算机硬件概述(1)存储器A:存储元、存储单元、存储体、存储字和存储字长B:MAR 一:冯诺依曼体系结构 在冯诺依曼体系结构中,计算机的硬件主要有**存储器,运算器,控制器,输入和输出设备(也叫做I/O设备)**组成。 (1)存储程序计算机 冯诺依曼体系结构也叫做存储程序计算机,计算器和计算机的唯一区别就是计算器是不能编程的,只能做电路板中设定好的固定的运算。 这也就意味着计算器本质就是一个不能编程的计算机,其在硬件层面已经将逻辑写死,如果

快乐江湖的博客 1万+

不知道部署哪个版本?AI大模型部署指南:Qwen3本地部署配置要求,一篇文章全搞定,赶紧收藏!

Qwen3系列大模型本地部署指南:该系列包含8个不同规模的模型(6个密集模型+2个MoE模型),MoE模型通过稀疏激活策略提升性能。部署需考虑三大显存消耗源:模型权重(可通过量化降低)、KV缓存(随上下文长度线性增长)和系统开销。以Q4_K_M量化的32B模型为例,8K上下文需约35.3G显存。消费级显卡中,24G显存的3090/4090可适配Qwen3-30B-A3B模型。MoE模型虽显存占用与密集模型相当,但推理速度更快。实际部署时需根据硬件配置选择合适的模型尺寸和量化级别。

2401_84494441的博客 1756

[HBM] RAM Cell Self Repair | 内存单元自我修复

对抗错误的大都是冗余,内存颗粒在设计的时候也考虑增加冗余。具体的说:添加冗余或备用的存储单元行和列,及时将测试中的故障进行修复和替换,存储器修复包括行修复,列修复或两者的组合。

串起点滴 777

2025最新版!AI大模型工程师「内部学习路线图」曝光,我们整理成了这篇全网最全指南(赶紧收藏!)

学习大语言模型(Large Language Model, LLM)需要结合理论知识和实践操作。以下是系统化的学习路径和建议,适合不同基础的学习者

2401_85375151的博客 794

【路径规划】基于matlab蚁群算法机器人栅格地图最短路径规划【含Matlab源码 4590期】

基于matlab蚁群算法机器人栅格地图最短路径规划 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 1268

ArcGIS JSAPI 高级教程 - 添加多个 box 立方体 - 通过顶点、索引、UV 自定义每个 box、每个面不同颜色

ArcGIS JSAPI 高级教程 - 添加多个 box 立方体 - 通过顶点、索引、UV 自定义每个 box、每个面不同颜色。

非科班Java出身GISer的博客 385

大模型面试核心考点解析:小白必看,收藏这份通关秘籍!

如果说程序员已经是高薪职业,那么干AI的程序员,就是高薪中的高薪。学AI大模型,就是冲刺高薪的最优解!零基础小白不知道从哪入门?有基础的程序员找不到系统学习路径?实战项目练手无门?面试不知道考什么?别慌!今天就给大家整理了一份【2026年最新版】AI大模型免费学习资源包,覆盖从入门到实战、从理论到面试、从基础到进阶的全流程,所有资料均已整理归档,无冗余、无套路,免费分享给每一位想抓住AI风口的程序员和小白!👇👇扫码免费领取全部内容👇👇1、大模型系统化学习路线。

大模型教程的博客 250

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

百度开源“文心4.5系列”大模型,一口气开源10款模型,卷哭友商?

百度兑现了之前2月份立下的flag,正式宣布:文心大模型4.5系列,开源了!并且一口气开源了10款模型!

阿杆的博客 590

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大模型月抛时代,开发者如何构建稳定工程体系?

大模型技术正以月为单位快速迭代,旗舰模型频繁发布,开发者面临“追新”与“稳定”的双重压力。模型生命周期缩短,但工程体系不应随之频繁变动。面对这一趋势,核心策略是将模型视为可替换组件,围绕本地部署、模型评测、推理精度、RAG与微调等环节建立可复用、可回滚的稳定框架。通过统一模型接入层、维护业务评测集、量化显存与推理成本,开发者能将版本更新转化为有节奏的工程升级,而非被动响应。本文从模型选型、部署工具、评测机制到成本核算,提供一套应对模型快速迭代的工程实践思路,帮助团队在版本洪流中保持系统稳定,真正发挥大模型的

weixin_34245749的博客 608

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

界面长的像算抄袭吗?

昨晚,在GitHub和X上,被一次疑似抄袭的问题刷了一会儿屏,主要是下面这个issue:相关的开源项目是小米的米效,英文名:Mone。一个以微服务为中心的一站式企业协同研发平台。支持公有云、私有云、混合云等多种部署形式,提供从创建->开发->部署->治理->观察的端到端研发全流程的服务系统。GitHub地址:https://github.com/XiaoMi/mone从IS...

程序猿DD 261

【智能体开发】《LangChain核心技术与LLM项目实践》_210.[第12章 项目实战] 未来展望:AGI演进路线与开发者的终身学习指南

技术生存法则:构建可持续的LLM开发者竞争力 本文探讨了在AGI快速发展背景下LLM开发者的生存策略。通过五个维度构建核心竞争力: 技术认知觉醒:建立"技术雷达"思维,聚焦底层原理而非表面API,将学习分为核心层(20%)、框架层(30%)和应用层(50%) 技能栈重构:从单纯API调用转向系统架构设计,构建包含输入验证、意图识别、路由决策、结果融合等环节的完整处理流程 思维范式跃迁:将Prompt工程提升为智能体设计,掌握工具调用、记忆管理等高级能力 知识体系构建:采用Zettelkasten笔记法和T型

128

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

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

2301_81940605的博客 3128

混合专家模型 (MoE) 简述

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

2301_81940605的博客 7217

混合专家模型 Mixture-of-Experts (MoE)

比如在MoE论文的一些实验中,作者采用了n=512,k=2的设定,也就是每次只会从512个专家网络中挑选两个来激活。每个专家模型都是相对独立的,可以根据任务的需求选择不同的模型架构。通过稀疏模型MoE扩大大语言模型的方法:以GLaM模型为例,它包含1.2T个参数,但实际上被激活的参数(activated parameters)只有97B,远少于GPT-3,也就是说,它是稀疏激活的MoE。第二个变动是加了noise,这个的目的是为了做均衡,这里引入了一个Wnoise的参数,后面还会在损失函数层面进行改动。

noobiee的博客 9838
上一篇: 2025版最新大模型微调全流程思考,零基础入门到精通,收藏这篇就够了
下一篇: 2025深入了解 大语言模型(LLM)微调方法(总结)零基础入门到精通,看这篇就够了!赶紧收藏!
福福很能吃
博客等级 码龄2年 3633粉丝 1122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值