
大家都在谈论 ChatGPT、Gemini 和 Grok 等大型 AI 模型。但很多人可能没有意识到,这些模型大多都使用同一种核心架构——Transformer。最近,生成式 AI 领域又出现了一个新的术语——专家混合模型(Mixture of Experts,简称 MoE)。这导致人们对 Transformer 和 MoE 之间的区别产生了诸多困惑。有些人认为 MoE 是一种全新的架构,而另一些人则认为它只是一个规模更大的 Transformer。这使得人们很难理解其背后的运作机制。
MoE 是 Transformer 的替代品,还是仅仅是 Transformer 的一种更智能的扩展方式?两者之间真的有区别吗?当人们听到 Transformer 和 MoE 时,这些问题常常浮现出来。
在本文中,我将用通俗易懂的方式解释所有这些问题。您将了解 Transformer 是什么,MoE 增加了什么,它们之间有何不同,以及何时应该选择哪一个。
理解Transformer
在比较 Transformer 和 MoE 之前,我们需要先了解 Transformer 的本质。
从宏观层面来说,Transformer 是一种神经网络架构,旨在处理文本、代码或音频等序列。它不像 RNN 或 LSTM 那样逐个处理词元。它不是从左到右读取并携带隐藏状态,而是一次性处理整个序列。然后,它会判断哪些词元彼此之间最重要。这种决策过程被称为自注意力机制。
我知道这听起来可能有点复杂,所以这里有一个简单的理解方式。把 Transformer 想象成一个黑盒子。你给它一个输入,它就给你一个输出。例如,想想机器翻译工具。你用一种语言输入一个句子,它就生成另一种语言的翻译句子。

Transformer的组成部分
Transformer 是如何将一个句子转换成另一个句子的呢?
它包含两个重要的组成部分:编码组件和解码组件,它们共同负责转换过程。编码组件是一个编码器栈,解码组件是一个相同数量的解码器栈。

编码器的作用
这些编码器的结构都类似,每个编码器都分为两个子层:前馈神经网络和自注意力层。在编码器中,输入词元首先经过自注意力层。该层允许模型在处理给定词的同时,观察句子中的所有其他词,从而理解该词的上下文含义。自注意力层的结果随后被传递到前馈网络,这是一个小型多层感知器(MLP)。序列中的每个位置都应用了相同的网络。
解码器的作用
解码器也使用这两个部分,但它在两者之间增加了一个额外的注意力层。这个额外的注意力层使解码器能够专注于编码器输出中最相关的部分,类似于经典序列到序列(seq2seq)模型中注意力机制的工作原理。

如果您想深入了解 Transformer 模型,可以阅读 Jay Alammar 的这篇文章。他以清晰全面的方式解释了 Transformer 模型和自注意力机制的方方面面,涵盖了从基础到高级的所有内容。
何时何地使用Transformer模型?
当您需要捕捉序列中各个元素之间的关系,并且拥有足够的数据或强大的预训练模型时,Transformer 模型是最佳选择。

当您的数据具有顺序和上下文,并且序列中不同部分之间的关系在长范围内至关重要时,请使用 Transformer 模型。它们在文本任务(例如聊天机器人、翻译、摘要和代码)中表现出色。它们对于时间序列、音频,甚至结合文本、图像或音频的视觉和多模态问题也同样有效。
在实践中,当您可以从预训练模型开始,或者拥有足够的数据和计算能力来训练有意义的模型时,Transformer 模型表现最佳。对于非常小的表格数据集、微小的问题或对延迟有严格限制的情况,更简单的模型通常更合适。但是,一旦您处理丰富的序列或结构化数据,Transformer 模型几乎总是默认选择。
了解专家混合模型 (MoE)
专家混合模型是一种流行的架构,它使用多个专家来改进现有的 Transformer 模型,或者说提高逻辑学习模型 (LLM) 的质量。专家混合模型主要由两个部分组成:

- 专家:每个前馈神经网络层都被一组专家所取代,并且对于任何给定的词元,只使用其中的一个子集。这些专家通常是独立的前馈神经网络(FFNN)。
- 路由器或门控网络:它决定哪些词元被发送给哪些专家。它的作用类似于守卫。
为了保持本文简洁并专注于Transformer和混合专家模型(MoE),我只涵盖核心概念,而非所有细节。如果您想深入了解,可以查看 Marteen 的这篇文章。
何时何地使用混合专家模型?
让我们将其分解为您真正想问的两个问题:
- 混合专家模型何时真正有用?
- 在模型的哪个部分使用它才有意义?
您应该在以下情况下使用混合专家模型:

在模型/流程的哪个环节应该使用MoE?

Transformers与MoE之间的区别
它们的主要区别在于解码器模块。
Transformer 使用单个前馈神经网络,而 MoE 使用多个专家模型,这些专家模型是比 Transformer 中的前馈神经网络 (FFNN) 更小的模型。在推理过程中,仅选择这些专家模型的一个子集。这使得 MoE 的推理速度更快。

MoE 的网络包含多个解码器层:

由于网络包含多个解码层,文本在每一层都由不同的专家进行处理,即使在同一层内,所选专家也会因词元而异。问题在于模型如何决定使用哪些专家。这由路由器负责。路由器的工作方式类似于多类分类器,它会为所有专家生成 softmax 分数。然后,模型会根据这些分数选择排名前 K 的专家。路由器与网络的其余部分联合训练,并随着时间的推移学习哪些专家最适合每个输入。您可以参考下表了解更多关于两者之间差异的信息。

小结
混合专家模型 (MoE) 和 Transformer 模型都旨在扩展模型智能,但它们实现的方式不同。Transformer 模型采用密集计算,每个参数都会影响每次预测。这使得它们简单、强大且易于部署。MoE 模型采用条件计算,仅针对每个输入激活一部分参数。这在不增加相同比例计算资源的情况下,提高了模型的处理能力,并允许不同的专家进行专攻。
简而言之,Transformer 模型定义了信息在模型中的流动方式,而 MoE 模型则决定模型的哪些部分应该处理每个输入。随着模型规模的扩大和任务复杂性的增加,最有效的系统很可能会结合这两种方法。
常见问题解答
问题 1:ChatGPT 只是一个 Transformer 模型吗?
答:ChatGPT 构建于 Transformer 架构之上,但它不仅仅是一个 Transformer 模型。它包含了大规模训练、对齐技术、安全层,有时还包含 MoE 组件。Transformer 模型是其基础,但整个系统要复杂得多。
问题 2:为什么 GPT 被称为 Transformer?
答:GPT 使用 Transformer 解码器架构作为其核心构建模块。它依靠自注意力机制来理解文本之间的关系并生成连贯的输出。由于其整个设计都基于 Transformer 原理,因此被归类为 Transformer 模型。
问题 3:三种主要的 Transformer 模型是什么?
答:Transformer 通常分为仅编码器模型、仅解码器模型和编码器-解码器模型。仅编码器模型最适合理解任务,仅解码器模型最适合生成任务,而编码器-解码器模型最适合结构化的输入到输出任务,例如翻译或摘要。
问题 4:Transformer 和 Mixture of Experts(专家混合模型)有什么区别?
答:Transformer 使用密集计算,其中每个参数都参与每次预测。MoE 使用条件计算,并且每个输入只激活少数专家。这使得 MoE 能够在不增加相应计算成本的情况下实现更大的处理能力。Transformer 处理流程,而 MoE 处理专业化。



评论留言