AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


MoE 详解:如何通过专家协作提升 AI 能力?
发布日期:2024-08-16 05:34:35 浏览次数: 1682


在上一篇文章中,提到了不少有关于 AI 领域的概念,比如 MoE、提示语注入、Transformer 架构等。我将会在本文以及后续文章中逐步解释这些概念。

本文正文字数约 3300 字,阅读时间 10 分钟。

通常来说,训练 LLM 需要大量的计算资源,对于很多的组织或者研究人员来说,这是一个非常大的挑战。

混合专家模型(Mixture of Experts) 可以让模型能够以更少的计算资源进行预训练,也就是说,在相同的计算预算下,可以显著扩大模型或数据集的规模。

那么,什么是 MoE 呢?

MoE 简介

作为一种机器学习技术,MoE 将 AI 模型划分为多个独立的子网络,也就是名称里所说的「专家」,每个子网络专门处理输入数据的一个子集,从而共同完成一个任务。

有了 MoE 架构,即使是包含数十亿参数的大型模型,也能在预训练阶段大幅降低计算成本,并在推理时实现更快的性能。

简而言之,MoE 的高效性来自于选择性地激活执行特定任务所需的专家,而不是为每个任务都激活整个神经网络。

虽然 MoE 是在过去大约十年间发展起来的,但是其背后的核心理念来源于 1991 年的论文《自适应局部混合专家模型》。

这篇论文提出了训练一个由多个独立网络组成的 AI 系统,每个网络专门处理不同的训练案例子集的概念。

这个概念包括训练专家网络本身以及每个子任务应使用哪个专家的门控网络

与传统模型相比,作者发现他们的实验模型训练速度明显更快,具体表现为:达到目标精度阈值所需的训练周期仅为传统模型的一半。

近年来,随着用于生成式 AI 的深度学习模型规模越来越大,计算需求也越来越高,MoE 这样的解决方案可以平衡更大模型的更高容量和更小模型的更高效率。

一些领先的 LLM,比如 Mistral 的 Mixtral 8x7B,以及根据某些报道有说 OpenAI 的 GPT-4 都采用了 MoE 架构。

以下是一张关于 MoE 的图解。

可以将这张图拆解为以下部分:

  • • 输入(Input):即希望 AI 处理的问题或者数据。

  • • 专家(Experts):这些是较小的 AI 模型,每个模型都专注于解决整体问题的特定部分,可以将它们看作是团队中的不同专业人士。

  • • 门控网络(Gating Network):门控网络就像是一个管理者,负责决定哪个专家最适合处理问题的哪个部分。它会分析输入并确定谁应该负责什么工作。

  • • 输出(Output):在各个专家都完成工作之后,AI 最终产生的最终答案或者解决方案。

下面将针对专家网络门控网络进行更细化的讲解。

MoE 的工作机制

专家网络

如上文中所提到的,MoE 中的专家网络其实就可以理解为一个专业团队。与其让一个 AI 模型处理所有的任务,不如让每个专家专注于特定类型的任务或数据。

在 MoE 中,这些专家就像独立的神经网络,每个专家都在不同的数据集或任务上进行了训练。

这些专家的设计是稀疏 (sparse) 的,也就是说,在任何给定时间内,只有少数几个专家是被激活的。这种设计防止了系统过载,并确保最相关的专家在处理问题。

那么,模型如何知道应该选择哪些专家呢?这就是门控网络发挥作用的地方。

门控网络

再来说说门控网络。

门控网络是另一种神经网络,它能够学习如何分析输入数据,并确定哪些专家最适合处理这些数据。

基于输入特征,门控网络会为每个专家分配一个权重或重要性分数,然后决定哪些专家应被选择处理数据。其中,权重最高的专家将被选中处理数据。

门控网络有多种选择合适专家的方法,这些方法被称为路由算法。以下是一些常见的算法:

  • • Top-k 路由:这是最简单的方法。门控网络选择前 k 个得分最高的专家,并将输入数据发送给他们。

  • • 专家选择路由:在这种方法中,不是数据选择专家,而是专家决定自己最擅长处理哪些数据。这种策略旨在实现最佳的负载平衡,并允许以多样化的方式将数据映射到专家。

  • • 稀疏路由:这种方法只激活少数几个专家来处理每条数据,从而形成稀疏网络。相比于所有专家都活跃处理每条数据的密集路由,稀疏路由使用的计算资源更少。

在预测过程中,模型会将专家的输出结合起来,遵循与分配任务给专家时相同的过程。根据问题的复杂性和多样性,一个任务可能需要多个专家共同处理。

训练 MoE 模型涉及优化专家模型和门控机制:

每个专家在整体训练数据的不同子集上进行训练,使这些模型能够开发出专门的知识库和解决问题的能力。

同时,门控网络则学习如何有效地评估输入,以便能够将任务分配给最合适的专家。

MoE 的优势

与单一模型相比,MoE 模型具有以下几个优势:

性能

调用特定的专家的能力是 MoE 模型的有效性和效率的关键。

由于在给定任务中只激活相关的专家,模型的每个组件通常不会同时运行。所以,计算处理和内存使用就会更加高效。

适应性

专家的广泛能力使得 MoE 模型具有高度的灵活性。通过调用具有专门能力的专家,MoE 模型可以在更广泛的任务中取得成功。

模块化和容错性

微服务架构可以提高软件的灵活性和可用性,而 MoE 结构在机器学习中可以发挥类似的作用。

如果一个专家出现故障,系统仍然可以通过结合其他专家的输出返回有用的响应。同样,模型开发者可以根据需要添加、删除或更新专家,以应对不断变化的数据和用户需求。

可扩展性

将复杂问题分解为更小、更易管理的任务,有助于 MoE 模型处理越来越困难或复杂的输入。

由于其模块化,MoE 模型还可以通过添加新专家或重新训练现有专家来扩展,以处理额外类型的问题。

当然,MoE 也存在如下一些缺点。

复杂性

MoE 模型在训练和推理时都需要大量的基础设施资源,因为管理多个专家以及门控机制的计算成本很高。

MoE 模型的复杂性也让它在训练和维护时更具挑战性,开发者必须集成和更新多个较小的模型,并确保它们在一个整体中良好协作。

过拟合

虽然专家的专门化是 MoE 系统实用性的关键,但过度专门化可能会带来负面影响。如果训练数据集不够多样化,或者专家仅在整体数据的一个狭窄子集上进行训练,专家可能会对其特定领域产生过拟合,从而降低在未见过的数据上的准确性,进而降低系统的整体性能。

过拟合是指模型在训练数据上表现很好,但在新数据上表现不佳的情况。原因是模型过度复杂,学到了训练数据中的噪声和细节,而不是数据的整体规律。过拟合会导致模型缺乏对新数据的泛化能力。

可解释性

AI 的不透明性已经是一个显著问题。

AI 的不透明性指的是用户或开发者难以理解或解释 AI 模型的内部决策过程。由于许多 AI 模型,尤其是深度学习模型,结构复杂且包含大量参数,它们如何得出某个结论或预测常常不清楚。这种不透明性可能导致难以信任或验证 AI 系统的决策,尤其是在涉及高风险或敏感领域时。

MoE 架构可能会加剧这个问题,因为它增加了复杂性,而不是仅仅跟踪一个单一模型的决策过程,那些试图理解 MoE 模型决策的人还必须解读各个专家与门控机制之间的复杂互动。

数据需求

为了训练专家和优化门控网络,MoE 模型需要大量的、多样化的、结构良好的训练数据。

而获取、存储和准备这些数据可能是一个挑战,尤其对于资源较少的实体,比如较小的组织和学术研究者。

MoE 的应用

MoE 通过指定多个专家,并训练一个门控网络来激活最适合处理特定输入的专家,从而处理数据。

所以,其主要优势就在于,通过强制稀疏性,而不是为每个输入标记激活整个神经网络,模型容量可以增加,同时基本上保持计算成本不变。

这项技术可以应用在各个领域。

自然语言处理(NLP)

MoE 为训练大型模型提供了一种独特的方法,能够提高效率、加快预训练速度。

在传统的稠密模型中,所有参数都会用于处理所有输入。而稀疏性使得模型可以根据输入只运行系统的特定部分,从而显著减少计算需求。

例如,微软的翻译 API Z-code 就使用了 MoE 架构,该架构在保持计算量不变的情况下,支持大规模的模型参数。

计算机视觉

Google 的 V-MoEs,就是一种基于视觉转换器(ViT)的稀疏架构,展示了 MoE 在计算机视觉任务中的有效性。

Google V-MoEs 链接:https://research.google/blog/scaling-vision-with-sparse-mixture-of-experts/

通过将图像划分为较小的图块并将它们传递给门控/路由层,V-MoEs 可以动态选择每个图块最合适的专家,从而优化精度和效率。

推荐系统

MoE 可以应用于推荐系统。

Google 提出了一种基于 MMoE(多门控专家混合模型)的 YouTube 视频推荐系统。

首先将任务目标分为两个类别:用户参与度和满意度。在检索步骤获得候选视频列表后,他们的排序系统使用候选视频、用户和上下文特征来学习预测与用户行为两类对应的概率。

总结

本文详细介绍了 MoE 这项技术的概念、组成以及其工作机制、优势等,希望对你有所帮助。

虽然 MoE 模型具有显著的优势,如提高计算效率和灵活性,但其复杂性和资源需求也是挑战。

在未来几年,MoE 可能会集中在提高效率和可解释性、优化专家之间的协作方式以及开发更好的任务分配方法上,这样才能进一步提升 MoE 的应用潜力。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询