存根 高效大型语言模型混合专家的兴起 - Unite.AI
关注我们.

人工智能

高效大型语言模型混合专家的兴起

mm
更新 on
专家组合 Grok Mistral

在自然语言处理 (NLP) 领域,对构建更大、能力更强的语言模型的追求一直是许多最新进展背后的驱动力。然而,随着这些模型规模的增大,训练和推理的计算要求变得越来越高,从而突破了可用硬件资源的限制。

专家混合 (MoE) 技术有望减轻这种计算负担,同时能够训练更大、更强大的语言模型。下面,我们将讨论 MoE,探索它的起源、内部工作原理以及它在基于 Transformer 的语言模型中的应用。

混合专家的起源

专家混合 (MoE) 的概念可以追溯到 1990 世纪 XNUMX 年代初,当时研究人员探索了条件计算的想法,即根据输入数据选择性地激活神经网​​络的各个部分。该领域的开创性工作之一是“本地专家的适应性组合”雅各布斯等人的论文。 1991 年,它提出了一个神经网络集成的监督学习框架,每个神经网络专门研究输入空间的不同区域。

MoE 背后的核心思想是拥有多个“专家”网络,每个网络负责处理输入数据的子集。门控机制(通常是神经网络本身)确定哪些专家应该处理给定的输入。这种方法允许模型通过仅激活每个输入的相关专家来更有效地分配其计算资源,而不是为每个输入使用完整的模型容量。

多年来,各种研究人员探索并扩展了条件计算的思想,导致了诸如分层 MoE、条件计算的低秩近似以及通过随机神经元和硬阈值激活函数估计梯度的技术等发展。

变形金刚专家组合

专家组合

专家组合

虽然这个想法 教育部 已经存在了几十年,它在基于转换器的语言模型中的应用相对较新。 Transformer 已成为最先进语言模型的事实上的标准,它由多个层组成,每个层都包含一个自注意力机制和一个前馈神经网络(FFN)。

将 MoE 应用于 Transformer 的关键创新是用稀疏 MoE 层替换密集的 FFN 层,每个 MoE 层由多个专家 FFN 和门控机制组成。门控机制确定哪些专家应该处理每个输入标记,使模型能够有选择地仅激活给定输入序列的专家子集。

Shazeer 等人发表的论文《Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer》是展示 MoE 在 Transformer 中潜力的早期作品之一。 2017 年。这项工作引入了稀疏门控 MoE 层的概念,它采用了一种门控机制,为专家选择过程增加了稀疏性和噪声,确保每个输入只激活一部分专家。

此后,其他几项工作进一步推进了 MoE 在变压器中的应用,解决了训练不稳定、负载平衡和高效推理等挑战。值得注意的例子包括 开关变压器 (Fedus 等人,2021), ST-教育部 (Zoph 等人,2022),以及 魅力 (杜等人,2022)。

语言模型专家混合的好处

在语言模型中使用 MoE 的主要好处是能够扩大模型大小,同时在推理过程中保持相对恒定的计算成本。通过有选择地为每个输入标记仅激活一部分专家,MoE 模型可以实现更大的密集模型的表达能力,同时需要的计算量显着减少。

例如,考虑一个具有 7 亿个参数的密集 FFN 层的语言模型。如果我们用由八位专家组成的 MoE 层替换这一层,每个专家有 7 亿个参数,参数总数将增加到 56 亿个。然而,在推理过程中,如果我们每个 token 只激活两名专家,则计算成本相当于 14 亿参数密集模型,因为它计算两个 7 亿参数矩阵乘法。

推理过程中的这种计算效率在资源有限的部署场景(例如移动设备或边缘计算环境)中特别有价值。此外,训练期间计算需求的减少可以节省大量能源并降低碳足迹,这与人们对可持续人工智能实践的日益重视相一致。

挑战和考虑

虽然 MoE 模型提供了引人注目的优势,但它们的采用和部署也面临着一些挑战和考虑因素:

  1. 训练不稳定:众所周知,与密集模型相比,MoE 模型更容易出现训练不稳定的情况。这个问题是由专家激活的稀疏性和条件性引起的,这可能会给梯度传播和收敛带来挑战。已经提出了路由器 z 损失(Zoph 等人,2022)等技术来减轻这些不稳定性,但仍需要进一步研究。
  2. 微调和过拟合:MoE 模型在微调过程中更容易过拟合,尤其是当下游任务的数据集相对较小时。这种行为归因于 MoE 模型容量的增加和稀疏性,这可能导致训练数据的过度专业化。需要仔细的正则化和微调策略来缓解这个问题。
  3. 内存需求:虽然 MoE 模型可以降低推理过程中的计算成本,但与类似大小的密集模型相比,它们通常具有更高的内存要求。这是因为所有专家权重都需要加载到内存中,即使每个输入只激活一个子集。内存限制可能会限制 MoE 模型在资源受限设备上的可扩展性。
  4. 负载均衡:为了实现最佳计算效率,平衡专家之间的负载至关重要,确保没有一个专家过载而其他专家仍未得到充分利用。这种负载平衡通常是通过训练期间的辅助损失和仔细调整容量因子来实现的,容量因子决定了可以分配给每个专家的最大代币数量。
  5. 通信开销:在分布式训练和推理场景中,MoE 模型可能会引入额外的通信开销,因为需要在驻留在不同设备或加速器上的专家之间交换激活和梯度信息。高效的通信策略和硬件感知模型设计对于减轻这种开销至关重要。

尽管存在这些挑战,MoE 模型在实现更大、功能更强大的语言模型方面的潜在好处已经刺激了大量研究工作来解决和缓解这些问题。

示例:混合 8x7B 和 GLaM

为了说明 MoE 在语言模型中的实际应用,让我们考虑两个著名的例子:Mixtral 8x7B 和 GLaM。

Mixtral 8x7B 是 MoE 的变体 米斯特拉尔语言模型,由 Anthropic 开发。它由 7 名专家组成,每名专家有 56 亿个参数,总共有 14 亿个参数。然而,在推理过程中,每个 token 仅激活两名专家,有效地将计算成本降低到 XNUMX 亿参数密集模型的计算成本。

Mixtral 8x7B 展示了令人印象深刻的性能,优于 70 亿参数的 Llama 模型,同时提供更快的推理时间。 Mixtral 8x7B 的指令调整版本(称为 Mixtral-8x7B-Instruct-v0.1)也已发布,进一步增强了其遵循自然语言指令的能力。

另一个值得注意的例子是 GLaM(Google 语言模型),这是 Google 开发的大规模 MoE 模型。 GLaM 采用仅解码器的 Transformer 架构,并在 1.6 万亿的海量令牌数据集上进行训练。该模型在少样本和单样本评估中取得了令人印象深刻的性能,与 GPT-3 的质量相当,同时仅使用训练 GPT-3 所需能量的三分之一。

GLaM 的成功可归因于其高效的 MoE 架构,该架构允许使用大量参数训练模型,同时保持合理的计算要求。该模型还证明了 MoE 模型与密集型模型相比具有更高的能源效率和环境可持续性的潜力。

Grok-1 架构

Grok 专家组合

Grok 专家组合

格罗克-1 是一种基于变压器的 MoE 模型,具有独特的架构,旨在最大限度地提高效率和性能。让我们深入了解关键规格:

  1. 参数:Grok-314 拥有惊人的 1 亿个参数,是迄今为止最大的开放式 LLM。然而,得益于 MoE 架构,在任何给定时间只有 25% 的权重(约 86 亿个参数)处于活动状态,从而增强了处理能力。
  2. 建筑:Grok-1 采用 Mixture-of-8-Experts 架构,每个 token 在推理过程中由两名专家处理。
  3. :该模型由 64 个 Transformer 层组成,每个层都包含多头注意力和密集块。
  4. 符号化:Grok-1 使用 SentencePiece 分词器,词汇量为 131,072 个分词。
  5. 嵌入和位置编码:该模型具有 6,144 维嵌入,并采用旋转位置嵌入,与传统的固定位置编码相比,能够更动态地解释数据。
  6. 注意:Grok-1 使用 48 个注意力头用于查询,8 个注意力头用于键和值,每个注意力头的大小为 128。
  7. 上下文长度:该模型可以处理长度高达 8,192 个标记的序列,利用 bfloat16 精度进行高效计算。

性能和实施细节

Grok-1 表现出了令人印象深刻的性能,其 MMLU 得分为 2%,优于 LLaMa 70 8B 和 Mixtral 7x73B,在各种测试中展示了其效率和准确性。

然而,值得注意的是,Grok-1 由于其庞大的尺寸而需要大量的 GPU 资源。开源版本中的当前实现侧重于验证模型的正确性,并采用低效的 MoE 层实现来避免对自定义内核的需要。

尽管如此,该模型支持激活分片和 8 位量化,这可以优化性能并减少内存需求。

在一个非凡的举动中, xAI 发布了 Grok-1 在 Apache 2.0 许可证下,使其权重和架构可供全球社区使用和贡献。

该开源版本包括一个 JAX 示例代码存储库,演示如何加载和运行 Grok-1 模型。用户可以使用 torrent 客户端或直接通过 HuggingFace Hub 下载检查点权重,从而轻松访问这一突破性模型。

语言模型专家混合的未来

随着对更大、更强大的语言模型的需求持续增长,MoE 技术的采用预计将获得进一步的动力。正在进行的研究工作重点是解决剩余的挑战,例如提高训练稳定性、减轻微调期间的过度拟合以及优化内存和通信要求。

一个有前途的方向是探索分层的 MoE 架构,其中每个专家本身都由多个子专家组成。这种方法可能会实现更大的可扩展性和计算效率,同时保持大型模型的表达能力。

此外,开发针对 MoE 模型优化的硬件和软件系统也是一个活跃的研究领域。旨在有效处理 MoE 模型的稀疏和条件计算模式的专用加速器和分布式训练框架可以进一步增强其性能和可扩展性。

此外,MoE 技术与语言建模中的其他进步(例如稀疏注意力机制、高效标记化策略和多模态表示)的集成可能会产生更强大、更通用的语言模型,能够处理广泛的任务。

结论

专家混合技术已成为寻求更大、能力更强的语言模型的强大工具。通过根据输入数据有选择地激活专家,MoE 模型为解决与扩展密集模型相关的计算挑战提供了一种有前途的解决方案。尽管仍然存在训练不稳定、过度拟合和内存需求等挑战需要克服,但 MoE 模型在计算效率、可扩展性和环境可持续性方面的潜在优势使其成为令人兴奋的研究和开发领域。

随着自然语言处理领域不断突破可能的界限,MoE 技术的采用可能会在实现下一代语言模型方面发挥至关重要的作用。通过将 MoE 与模型架构、训练技术和硬件优化方面的其他进步相结合,我们可以期待更强大、更通用的语言模型,能够以自然、无缝的方式真正理解人类并与人类交流。

在过去的五年里,我一直沉浸在机器学习和深度学习的迷人世界中。 我的热情和专业知识使我为 50 多个不同的软件工程项目做出了贡献,特别关注人工智能/机器学习。 我持续的好奇心也吸引了我对自然语言处理的兴趣,这是我渴望进一步探索的领域。