一文读懂Transformer架构的三大变体 精华

发布于 2025-5-9 06:37
浏览
0收藏

如果有人问目前最火的基础模型是啥?那我一定回答是Transformer模型。Transformer模型自2017年提出以来,一直深受大家喜欢,其架构主要分为三种变体:Decoder-Only、Encoder-Only和Encoder-Decoder,每种变体都有其独特的特点和应用场景。

一文读懂Transformer架构的三大变体-AI.x社区

一、仅编码器架构(Encoder-only)

1.1 工作流程

仅编码器架构的工作流程如下:

  1. 嵌入层处理:对输入文本的每个单词或标记进行处理。将每个单词或标记映射到一个固定维度的向量空间中,形成初始的词嵌入向量。
  2. 位置编码添加:对词嵌入向量添加位置编码。引入序列中单词的位置信息,使模型能够感知单词的顺序。
  3. 多层编码器处理(循环执行,层数根据模型设定)

将经过多头自注意力机制处理后的向量输入前馈神经网络。进行进一步的特征转换和非线性映射,增强模型的表达能力。让每个单词关注到序列中其他单词的信息,提取全局上下文特征。

将前馈神经网络的输出与该层编码器的输入进行残差连接(相加操作)。对残差连接后的结果进行层归一化操作,稳定训练过程,防止梯度消失或爆炸。

  1. 经过多层编码器堆叠处理后,输出一个上下文丰富的语义表示向量。将语义表示向量用于后续的各种下游任务,如文本分类、情感分析等。

1.2 特点

仅编码器架构具有以下特点:

  1. 适用于文本理解和分析任务:这些任务通常不需要生成新的文本,而是对输入文本进行分类或标注,仅编码器架构能够很好地满足需求。
  2. 并行计算能力强:与传统的循环神经网络(RNN)不同,仅编码器架构不依赖于序列的顺序处理,可以并行计算整个输入序列,大大提高了处理速度,适合处理大规模数据集。
  3. 不适合文本生成任务:仅编码器架构的输出是一个固定长度的向量表示,无法直接生成文本序列。这使得它在需要生成文本的任务(如机器翻译、文本生成等)中不适用,但在需要对输入文本进行编码和分类的任务中非常有效。
  4. 结构简单高效:仅包含编码器部分,结构相对简单,训练和推理过程较为高效,易于实现和优化。

1.3 经典模型

BERT(Bidirectional Encoder Representations from Transformers)是仅编码器架构的经典模型之一,具有以下特点:

  1. 双向编码:BERT通过使用掩码语言模型(Masked Language Model, MLM)和下一句预测(Next Sentence Prediction, NSP)两种预训练任务,能够学习到双向的上下文信息。在MLM任务中,随机掩盖输入序列中的一些单词,然后预测这些被掩盖的单词;在NSP任务中,判断两个句子是否是连续的文本。这种双向编码方式使得BERT能够更好地理解单词在上下文中的含义。
  2. 预训练加微调范式:BERT采用预训练加微调的范式。首先在大规模无监督语料上进行预训练,学习通用的语言知识;然后在特定任务上进行微调,通过调整模型的参数来适应具体的任务需求。这种范式大大提高了模型的性能和泛化能力。

二、仅解码器架构(Decoder-only)

2.1 工作流程

仅解码器架构的工作流程如下:

  1. 嵌入层处理:将每个单词或标记映射到一个固定维度的向量空间中,得到初始的词嵌入向量。
  2. 位置编码添加:针对词嵌入向量添加位置编码。引入序列中单词的位置信息,使模型能够感知单词顺序。
  3. 多层解码器处理(循环执行,层数根据模型设定)

计算查询(Query)、键(Key)和值(Value)之间的点积注意力。运用掩码矩阵,防止模型在计算当前词的注意力分数时访问未来位置的信息,保证生成过程的顺序性。

把经过掩码多头自注意力机制处理后的向量输入到前馈神经网络中。进行进一步的特征转换和非线性映射,增强模型的表达能力。

将前馈神经网络的输出与该层解码器的输入进行残差连接(相加操作)。对残差连接后的结果执行层归一化操作,稳定训练过程,避免梯度消失或爆炸。

  1. 输出序列生成:经过多层解码器堆叠处理后,模型开始逐步生成输出序列。在每一步生成过程中,模型仅依据已生成的序列信息预测下一个词。持续预测,直到生成结束标记。流程结束,输出完整的输出序列。

2.2 特点

仅解码器架构具有以下特点:

  1. 擅长生成任务:由于其逐步生成输出序列的特性,非常适合文本生成、语言模型等任务,能够生成连贯且符合语言规则的文本。
  2. 依赖上下文信息:虽然无法直接处理输入序列,但可以通过额外的机制(如预训练时的上下文信息)为模型提供必要的上下文,从而生成与上下文相关的文本。
  3. 生成过程顺序性:通过掩码多头自注意力机制,模型在生成每个词时只能访问已生成的序列,保证了生成过程的顺序性,避免了信息泄露。
  4. 模型结构相对简单:仅包含解码器部分,结构相对简单,训练和推理过程较为高效,易于实现和优化。

2.3 经典模型

GPT(Generative Pre-trained Transformer)是仅解码器架构的经典模型之一,具有以下特点:

  1. 强大的文本生成能力:GPT通过预训练大量的文本数据,学习到了丰富的语言知识和生成模式,能够生成高质量的文本,如新闻报道、故事创作、代码生成等。
  2. 单向语言模型:GPT采用单向语言模型的预训练方式,即根据已知的前文预测下一个词。这种单向生成方式使得模型在生成文本时能够保持连贯性和逻辑性。
  3. 预训练与微调相结合:GPT同样采用预训练加微调的范式。预训练阶段在大规模无监督语料上学习通用的语言知识;微调阶段则在特定任务上调整模型参数,以适应具体的应用需求。
  4. 广泛的应用:GPT及其后续版本(如GPT-2、GPT-3、GPT-4等)被广泛应用于各种自然语言处理任务,如文本生成、问答系统、机器翻译等。

三、编码器-解码器架构(Encoder-Decoder)

3.1 工作流程

编码器 - 解码器架构的工作流程如下:

编码器部分

嵌入层处理:对输入文本的每个单词或标记进行处理。将每个单词或标记映射到一个固定维度的向量空间中,形成初始的词嵌入向量。

位置编码添加:对词嵌入向量添加位置编码。引入序列中单词的位置信息,使模型能够感知单词的顺序。

多层编码器处理(循环执行,层数根据模型设定):将经过多头自注意力机制处理后的向量输入前馈神经网络。进行进一步的特征转换和非线性映射,增强模型的表达能力。让每个单词关注到序列中其他单词的信息,提取全局上下文特征。将前馈神经网络的输出与该层编码器的输入进行残差连接(相加操作)。对残差连接后的结果进行层归一化操作,稳定训练过程,防止梯度消失或爆炸。经过多层编码器堆叠处理后,输出一个上下文丰富的语义表示向量。

解码器部分

  • 嵌入层处理:将目标文本的每个单词或标记映射到一个固定维度的向量空间中,得到初始的词嵌入向量。
  • 位置编码添加:针对词嵌入向量添加位置编码。引入序列中单词的位置信息,使模型能够感知单词顺序。
  • 多层解码器处理(循环执行,层数根据模型设定):计算查询(Query)、键(Key)和值(Value)之间的点积注意力。运用掩码矩阵,防止模型在计算当前词的注意力分数时访问未来位置的信息,保证生成过程的顺序性。把经过掩码多头自注意力机制处理后的向量与编码器的输出进行多头注意力计算,获取编码器的上下文信息。将上述结果输入到前馈神经网络中。进行进一步的特征转换和非线性映射,增强模型的表达能力。将前馈神经网络的输出与该层解码器的输入进行残差连接(相加操作)。对残差连接后的结果执行层归一化操作,稳定训练过程,避免梯度消失或爆炸。
  • 输出序列生成:经过多层解码器堆叠处理后,模型开始逐步生成输出序列。在每一步生成过程中,模型依据已生成的序列信息和编码器的上下文信息预测下一个词。持续预测,直到生成结束标记。流程结束,输出完整的输出序列。

3.2 特点

编码器 - 解码器架构具有以下特点:

  1. 适用于序列到序列的转换任务:如机器翻译、文本摘要、对话系统等,能够将一种文本序列转换为另一种文本序列。
  2. 结合编码与解码能力:编码器负责将输入文本转换为语义表示,解码器则根据编码器的输出生成目标文本,两者协同工作,能够更好地处理复杂的文本转换任务。
  3. 对上下文的理解更全面:编码器可以捕捉输入文本的全局上下文信息,解码器在生成输出时能够利用这些信息,从而生成更准确、更符合上下文的文本。
  4. 模型复杂度较高:由于包含编码器和解码器两部分,结构相对复杂,训练和推理的时间和计算成本较高。

3.3 经典模型

  1. 原始Transformer模型:在机器翻译任务中表现出色,通过编码器将源语言文本编码为语义表示,解码器根据该表示生成目标语言文本。
  2. BART(Bidirectional Auto-Regressive Transformers):结合了自编码器和自回归模型的优点,能够对输入文本进行双向编码,并生成高质量的输出文本。可应用于文本摘要、机器翻译、问答系统等多种任务。
  3. T5(Text-To-Text Transfer Transformer):将所有NLP任务统一为文本到文本的转换问题,通过大规模的预训练和微调,在多个任务上取得了优异的性能。

四、三大变体的比较与选择

4.1 架构特点比较

  1. 仅编码器架构:专注于对输入文本的理解和编码,通过多层编码器提取文本的语义特征,输出固定长度的向量表示。结构相对简单,适合处理不需要生成文本的任务,如文本分类、情感分析、命名实体识别等。
  2. 仅解码器架构:主要用于文本生成任务,通过掩码多头自注意力机制和前馈神经网络,根据已生成的文本逐步预测下一个单词。模型结构简单,生成过程顺序性强,能够生成连贯的文本,但对输入文本的处理能力相对较弱。
  3. 编码器 - 解码器架构:结合了编码器和解码器的功能,适用于序列到序列的转换任务。编码器对输入文本进行编码,解码器根据编码器的输出生成目标文本。能够处理复杂的文本转换任务,但模型复杂度较高,训练和推理成本较大。

4.2 应用场景对比

  1. 仅编码器架构:在自然语言理解任务中应用广泛,如文本分类可对新闻、评论等文本进行类别划分;情感分析能判断文本的情感倾向(积极、消极或中性);命名实体识别可识别文本中的人名、地名、组织机构名等实体。
  2. 仅解码器架构:在文本生成领域表现突出,如语言模型可根据前文预测下一个单词,用于文本续写、自动摘要生成;机器翻译可将一种语言翻译成另一种语言;故事创作能生成连贯有趣的故事。
  3. 编码器 - 解码器架构:在机器翻译中,将源语言句子准确翻译成目标语言句子;文本摘要可提取原文关键信息生成摘要;对话系统能根据用户输入生成合适的回复。

4.3 如何根据任务选择合适的架构

  1. 如果是文本理解和分析任务:如判断文本主题、分析情感倾向、提取实体信息等,优先选择仅编码器架构。这类任务重点在于对输入文本的理解和特征提取,仅编码器架构能够高效地完成这些任务。
  2. 如果是文本生成任务:如写作辅助、自动问答、机器翻译等,可根据具体情况选择仅解码器架构或编码器 - 解码器架构。如果生成任务主要依赖于前文信息,且对输入文本的处理要求不高,仅解码器架构是较好的选择;如果任务涉及到将一种文本序列转换为另一种文本序列,且需要充分利用输入文本的上下文信息,编码器 - 解码器架构更为合适。
  3. 如果任务较为复杂,需要同时处理文本理解和生成:如对话系统,既需要理解用户输入,又要生成合理回复,编码器 - 解码器架构可能更能满足需求。但在实际应用中,也可以结合多种架构,如先使用仅编码器架构对输入文本进行预处理,再将处理结果输入到仅解码器架构或编码器 - 解码器架构中进行生成。

Transformer架构的三大变体在不同的应用场景中各有优势。在实际应用中,我们需要根据具体任务的需求和特点,选择合适的架构,以充分发挥Transformer模型的强大性能。

本文转载自​智驻未来​​​​,作者:小智

收藏
回复
举报
回复
相关推荐