【科普】大模型中常说的 MoE 是指什么?

在大语言模型(LLM)领域,模型规模的持续增长是提升性能的关键途径之一。然而,简单地增加模型参数会带来计算成本的急剧上升。为了在扩大模型容量的同时控制计算负担,一种名为“混合专家模型”(Mixture of Experts,MoE)的架构应运而生,并在近年来受到了广泛关注。

MOE,全称 Mixture of Experts(混合专家),是一种机器学习技术,首次在 2017 年提出,主要用于语言建模和机器翻译任务。它并非一种全新的模型,而是一种架构设计思想,可以将其理解为一种特殊的神经网络层。与传统神经网络层不同,MoE 层包含多个“专家”(Experts)和一个门控网络,每个专家都是一个独立的神经网络,可以专注于处理特定类型的数据或任务,门控网络动态选择适合当前输入的专家,从而实现条件计算和专门化。想象一个医疗团队:每个医生(专家)专注于不同领域(如语法或语义),而总医生(门控网络)根据患者症状决定转诊给谁。这样,每个患者只与最相关的专家互动,节省资源。

Mixtral 8x7B 是 MOE 在 LLM 中的一个典型案例,总参数为 47 亿,活跃参数约为 13 亿。它有 8 个专家,每个专家在推理时可能被激活 2 个。这种设计使其在推理时高效,适合处理大规模语言任务。研究显示,它在领域内任务上表现优异,但在领域外任务上效率稍低。

MoE 的原理

MoE 层的核心组件

  • Experts(专家): 多个独立的神经网络,例如前馈神经网络(FFN)。每个专家都具备处理特定类型数据的能力。

  • Gating Network(门控网络): 一个路由网络,用于决定将哪些输入数据发送给哪些专家。它根据输入数据的特征,为每个专家分配一个权重,表示该专家处理该输入的概率或重要性。

  • Combining Function(组合函数): 将被选中的专家的输出进行聚合,生成最终的 MoE 层输出。常用的组合方式包括加权平均。

MoE 的工作原理

  1. 输入: MoE 层接收来自上一层的输入数据。

  2. 门控网络: 门控网络分析输入数据,并为每个专家计算一个权重。权重越高,表示该专家越适合处理该输入。

  3. 专家选择: 根据门控网络的输出,选择一个或多个具有较高权重的专家。常见的选择方式包括 Top-K 选择,即选择权重最高的 K 个专家。

  4. 专家计算: 被选中的专家并行地处理输入数据,并生成各自的输出。

  5. 输出: 组合函数将这些输出进行聚合,生成 MoE 层的最终输出。

MoE 的优劣势

MoE 的优势

  • 更大的模型容量: MoE 允许模型拥有更多的参数,从而提高模型的表达能力和学习能力。

  • 稀疏激活: MoE 的一个关键优势是稀疏激活。对于每个输入,只有少数几个专家会被激活,这意味着计算量可以显著减少。

  • 更好的可扩展性: MoE 架构易于扩展,可以通过增加专家数量来提高模型容量,而无需重新训练整个模型。

  • 任务专用化: 不同的专家可以学习不同的任务或技能,从而使模型更具通用性和适应性。

  • 高效扩展: MoE 通过稀疏激活和专家特化实现高效扩展。例如,Switch Transformers 等模型在能耗仅为 GPT-3 的三分之一的情况下,实现了与 GPT-3 同等的质量。[2]

MoE 的挑战

  • 训练难度: MoE 模型的训练比传统模型更具挑战性,需要仔细调整训练策略和超参数。

  • 负载均衡: 如何确保每个专家都能得到充分的训练,避免某些专家过度使用而另一些专家利用不足,是一个需要解决的问题。常见的解决方案包括辅助损失和专家容量限制。

  • 通信开销: 在分布式训练中,专家之间的通信可能会产生额外的开销。

  • 内存需求: 所有专家都必须加载到 RAM 中,即使未使用(例如,Mixtral 8x7B 需要 VRAM 才能支持 47B 参数)。

  • Token 溢出: 当专家超出容量时,可能会删除 Token 或通过残差进行路由。

  • 过拟合风险: 稀疏模型比传统密集模型更容易过度拟合,稀疏 MoE 层和密集 FFN 层的存在使统一方法复杂化。

MoE 的应用

MoE 已经在多个领域取得了显著成果,包括:

  • 自然语言处理: 谷歌的 Switch Transformer、DeepSeek-V3,OpenAI 的 GPT-4 等大型语言模型都采用了 MoE 架构。Mistral AI 的 Mixl-7B 是一个开源 MoE 语言模型,拥有 467 亿个参数,在推理期间一次只激活其中的两个专家。尽管尺寸较小,但在各种基准测试中,Mixl-7B 的性能优于 GPT-3.5 和 LLaMA 2–70B 等更大的模型。

  • 图像识别: MoE 可以用于构建更大、更强大的图像识别模型。

  • 推荐系统: MoE 可以根据用户的兴趣和行为,选择不同的专家来生成个性化的推荐。

  • 多模态和视觉任务: MoE 正在计算机视觉中进行探索,以进行分层特征提取,尽管当前的研究侧重于 NLP。

Transformer vs MoE

图片

transformer vs moe

Transformer 模型使用一个大型的前馈网络来处理所有输入,而 MoE 模型则使用多个专家网络,并使用路由网络来决定哪个或哪些专家来处理特定的输入。这种结构允许 MoE 模型拥有更大的模型容量,同时保持计算效率,因为对于每个输入,只有一部分专家会被激活。两者都用于序列建模,比如自然语言处理任务,但 MoE 引入了一种新的架构来提高模型容量和效率。

Transformer 模型

  1. 输入(Inputs): 模型接收一系列输入 tokens,图中用带点的方块表示。

  2. 位置编码(Positional Embedding): 将 tokens 的位置信息添加到输入中,因为 Transformer 模型本身不具备感知顺序的能力。

  3. Decoder block: 这部分是 Transformer 的核心,图中展示了一个 Decoder block 的结构:

    • Layer norm (层归一化): 用于稳定训练过程,对每一层的输入进行归一化处理。

    • Masked self-attention (掩蔽自注意力): 允许模型关注输入序列的不同部分,但会屏蔽掉未来的信息,以防止在训练过程中作弊。

    • Layer norm: 再次进行层归一化。

    • Feed forward network (前馈神经网络): 一个全连接网络,用于进一步处理信息。

  4. Decoder block * N:  Decoder block 会重复 N 次,以便模型能够学习到更复杂的模式。

  5. 输出:  最终的输出序列。

混合专家模型 (Mixture of Experts)

  1. 输入(Inputs)和位置编码(Positional Embedding): 与 Transformer 模型相同。

  2. Decoder block:  MoE 的 Decoder block 在结构上与 Transformer 相似,但在前馈网络部分有所不同:

    • Layer norm (层归一化): 同样用于稳定训练。

    • Masked self-attention (掩蔽自注意力):  同样允许模型关注输入序列的不同部分,但会屏蔽掉未来的信息,以防止在训练过程中作弊。

    • Layer norm: 再次进行层归一化。

    • Router (路由): 路由网络决定将哪些输入发送给哪些专家。

    • Selected experts (被选择的专家):  MoE 包含多个“专家”,每个专家都是一个独立的神经网络。 路由网络会根据输入数据的特征,选择一个或多个专家来处理输入。

  3. Decoder block * N:  Decoder block 会重复 N 次。

  4. 输出:  最终的输出序列。

 大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

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产品经理资源合集***

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

 

大模型的内部架构通常是基于深度神经网络设计的,尤其是一些特定类型的神经网络结构非常适合处理大规模数据。以下是几种常见的用于构建AI大模型的主要架构元素和技术特点: 1. **Transformer 架构**: - Transformer 是当前许多先进大模型的基础框架之一,如BERT、GPT系列等。 - 它摒弃了传统的RNN/LSTM递归机制,转而采用自注意力(Self-Attention)机制来捕获序列中的长距离依赖关系。 - 编码器-解码器结构:编码器负责将输入转化为隐藏表示,解码器则根据这些表示生成输出。 2. **预训练 + 微调策略**: - 预训练阶段使用无监督学习方法对巨量文本或其他形式的数据进行初步学习,获取通用的语言理解能力或表征知识。 - 当应用于具体任务时,则只需在目标领域少量标注数据上进一步微调即可快速适配新场景。 3. **稀疏激活与专家混合 (MoE)**: - 为了解决超大型模型计算成本过高的问题,一些新型架构引入了“门控”单元选择性的激活部分神经元或模块工作,即所谓的"稀疏性"特性。 - MoE是一种特殊的并行计算方式,在不同时间步只启用一小部分子网络参与前向传播过程,大幅减少了实际所需的浮点运算次数。 4. **多模态融合**: - 对于同时涉及多种媒体类型的任务(例如图文混排),现代大模型会尝试整合来自各个感官通道的信息流,并通过共享潜在空间实现跨域协同建模。 综上所述,虽然具体的细节因应用场景和个人需求而异,但大多数高性能的大规模人工智能系统都会包含以上提到的核心组件和技术手段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值