生成式 AI 中的 Transformer 架构
基于 Transformer 的大型语言模型 (LLM) 在情绪分析、机器翻译、文本摘要等各种任务中的表现都优于早期的循环神经网络 (RNN)。
Transformer 通过其架构实现了其独特的功能。本章将用简单的术语解释原始 Transformer 模型的主要思想,使其更容易理解。
我们将重点介绍构成 Transformer 的关键组件:编码器、解码器,以及连接两者的独特的注意机制。
Transformer 如何在生成式 AI 中发挥作用?
让我们了解 Transformer 的工作原理 −
- 首先,当我们向 Transformer 提供一个句子时,它会特别关注该句子中的重要单词。
- 然后,它会同时考虑所有单词,而不是一个接一个地考虑,这有助于 Transformer 找到该句子中单词之间的依赖关系。
- 之后,它会找到该句子中单词之间的关系。例如,假设一个句子是关于星星和星系的,那么它就知道这些词是相关的。
- 完成后,Transformer 会利用这些知识来理解完整的故事以及单词之间的联系。
- 有了这种理解,Transformer 甚至可以预测下一个单词可能是什么。
生成式 AI 中的 Transformer 架构
Transformer 有两个主要组件:编码器和解码器。下面是 Transformer 的简化架构 −
![Architecture of Transformers in Generative AI 1](/gen-ai/images/architecture-of-transformers-in-generative-ai-1.jpg)
正如您在图中看到的,在 Transformer 的左侧,输入进入编码器。输入首先转换为输入嵌入,然后穿过注意子层和前馈网络(FFN)子层。类似地,在右侧,目标输出进入解码器。
输出也首先转换为输出嵌入,然后穿过两个注意子层和一个前馈网络(FFN)子层。在这个架构中,没有 RNN、LSTM 或 CNN。循环也被丢弃并被注意机制取代。
让我们详细讨论 Transformer 的两个主要组件,即编码器和解码器。
Transformer 编码器堆栈的一层
在 Transformer 中,编码器处理输入序列并将其分解为一些有意义的表示。 Transformer 模型的编码器层是层的堆栈,其中每个编码器堆栈层具有以下结构 −
![Architecture of Transformers in Generative AI 2](/gen-ai/images/architecture-of-transformers-in-generative-ai-2.jpg)
此编码器层结构对于 Transformer 模型的所有层都保持不变。编码器堆栈的每一层包含以下两个子层 −
- 多头注意力机制
- 前馈网络 (FFN)
如上图所示,两个子层(即多头注意力机制和前馈网络)周围都有残差连接。这些残差连接的作用是将子层的未处理输入x发送到层归一化函数。
这样,每层的归一化输出可以按如下方式计算 −
层规范化 (x + 子层 (x))
我们将在后续章节中详细讨论子层,即多头注意力和 FNN、输入嵌入、位置编码、规范化和残差连接。
Transformer 解码器堆栈的一层
在 Transformer 中,解码器采用编码器生成的表示并对其进行处理以生成输出序列。它就像翻译或文本延续一样。与编码器一样,Transformer 模型的解码器层也是层的堆栈,其中每个解码器堆栈层具有以下结构 −
![Architecture of Transformers in Generative AI 3](/gen-ai/images/architecture-of-transformers-in-generative-ai-3.jpg)
与编码器层一样,Transformer 模型的所有 N=6 层的解码器层结构保持不变。解码器堆栈的每一层包含以下三个子层 −
- 掩蔽多头注意力机制
- 多头注意力机制
- 前馈网络 (FFN)
与编码器相反,解码器具有第三个子层,称为掩蔽多头注意力,其中在给定位置,以下单词被掩蔽。此子层的优点是,Transformer 可以根据其推理进行预测,而无需查看整个序列。
与编码器一样,所有子层周围都有残差连接,每层的归一化输出可以按以下公式计算 −
层归一化 (x + Sublayer(x))
如上图所示,在所有解码器块之后都有一个最终线性层。此线性层的作用是将数据映射到所需的输出词汇表大小。然后将 softmax 函数应用于映射的数据以生成目标词汇表的概率分布。这将产生最终的输出序列。
结论
在本章中,我们详细解释了生成式人工智能中 Transformer 的架构。我们主要关注它的两个主要部分:编码器和解码器。
编码器的作用是通过查看所有单词之间的关系来理解输入序列。它使用自注意力和前馈层来创建输入的详细表示。
解码器获取输入的详细表示并生成输出序列。它使用掩蔽自注意力来确保以正确的顺序生成序列,并利用编码器-解码器注意力来整合来自编码器的信息。
通过探索编码器和解码器的工作原理,我们看到 Transformers 如何从根本上改变了自然语言处理 (NLP) 领域。正是编码器和解码器结构使 Transformer 在各个行业中如此强大和有效,并改变了我们与 AI 系统交互的方式。