跳至内容

Transformer 如何工作:深入解析 Transformer 架构

探索 Transformer 的架构——这种通过自注意力机制革新数据处理的模型。
更新 2026年8月26日  · 15分钟

用 AI 探索

ChatGPTClaudePerplexity

了解 Transformer 架构,包括自注意力、编码器—解码器设计与多头注意力,以及它如何为 OpenAI 的 GPT 等模型提供动力。

要点速览

  • Transformer 是利用自注意力机制并行处理序列数据的神经网络架构,取代了对循环的需求
  • 关键组件:输入嵌入、位置编码、多头自注意力、前馈网络,以及带残差连接的层归一化
  • 编码器—解码器结构:编码器生成上下文化表示;解码器自回归地生成输出序列
  • 现代变体:用于语言的 GPT-5、Claude、Llama、Gemini;用于图像的视觉 Transformer(ViT);用于多输入的多模态模型
  • 效率创新:Flash Attention、旋转位置嵌入(RoPE)与线性注意力变体,缓解二次复杂度瓶颈

得益于 Transformer 模型的出现与快速演进,深度学习领域正经历一场剧变。

这些开创性的架构不仅重塑了自然语言处理(NLP)的标准,还拓展到了人工智能的诸多方向。

凭借独特的注意力机制与并行处理能力,Transformer 模型在理解与生成类人语言方面展现出此前难以企及的准确性与效率。

Transformer 最早于 2017 年在 Google 的“Attention is all you need”一文中提出,其架构处于 ChatGPT 等突破性模型的核心,引发了 AI 社区的新一轮热潮。它们在 OpenAI 的前沿语言模型中至关重要,并在 DeepMind 的 AlphaStar 中发挥关键作用。

在这场 AI 的变革时代,Transformer 模型对于有志成为数据科学家与 NLP 从业者的重要性不言而喻。

作为最新技术飞跃的核心领域之一,本文旨在揭示这些模型背后的奥秘。

什么是 Transformer?

Transformer 最初是为了解决序列转换(或神经机器翻译)问题而开发的,也就是说,它们旨在解决将输入序列转换为输出序列的任何任务。这也是它们被称为“Transformer”的原因。

不过,让我们从头开始。

什么是 Transformer 模型?

Transformer 模型是一种能够学习序列数据上下文并据此生成新数据的神经网络。

简单来说:

Transformer 是一种人工智能模型,它通过分析海量文本数据中的模式,学习理解并生成类人文本。

Transformer 是当前最先进的 NLP 模型之一,被视为编码器—解码器架构的进化。然而,尽管编码器—解码器架构主要依赖循环神经网络(RNN)来提取序列信息,Transformer 则完全没有循环。

那么,它们是如何做到的?

它们专为通过分析不同元素之间的关系来理解上下文与语义而设计,并几乎完全依赖一种称为“注意力”的数学技术来实现。

将 Transformer 架构视作黑盒。

作者制图。

历史背景

源自 Google 于 2017 年发表的研究论文,Transformer 模型是机器学习领域最新且最具影响力的发展之一。第一篇系统阐述 Transformer 的论文是具有里程碑意义的 "Attention is All You Need"

这一开创性概念不仅停留在理论层面,还在实践中得以实现,典型如 TensorFlow 的 Tensor2Tensor 包。此外,哈佛 NLP 团队提供了带注释的论文指南及其 PyTorch 实现。您也可以在我们的教程中了解如何从零实现 Transformer

它们的提出引发了该领域的显著增长,常被称为 Transformer AI。这一革命性模型为后续的大型语言模型突破奠定了基础,包括 BERT。到 2018 年,这些进展已被誉为 NLP 的分水岭。

2020 年,OpenAI 研究人员发布了 GPT-3。数周之内,GPT-3 的多才多艺迅速显现,全球用户用它创作诗歌、程序、歌曲、网站等,激发了广泛想象。观察到这一转变,斯坦福学者在 2021 年发表论文,将这些创新称为“基础模型”,强调其在重塑 AI 方面的关键作用。

尽管早期是专有模型吸引了公众关注,一场并行的开源革命迅速让 Transformer 技术更加大众化。像 Hugging Face 这样的平台成为共享模型的重要枢纽,但2023 年 Meta 发布 Llama 家族后,格局发生根本变化。这引发了“开源权重”运动,证明开发者无需依赖封闭的企业生态即可构建最前沿的 AI。

到 2024 与 2025 年,开源开发迅猛加速。Meta 的大型 Llama 3.1 及后续 Llama 4 系列,与初创公司 Mistral 的高效架构及 DeepSeek 的强大推理模型一同,证明开放可用的模型可以匹敌,甚至在某些情况下超越专有巨头的表现。

与此同时,闭源模型也在持续演进复杂能力。2023 年的 GPT-4 引入多模态能力,2024 年的 GPT-4o将文本、视觉与音频处理统一在单一模型中。

2024 年末,随着 OpenAI 的 o1 系列与 DeepSeek 的开源 R1 等模型的出现,行业再次迎来关键转折——它们在响应前通过内部“思维链”推理复杂逻辑与数学。

到 2025 年末与 2026 年,随着 GPT-5 家族的发布,行业从对话助手全面转向自主系统,将高级多步规划、长期记忆与稳健的智能体式工作流带入企业基础设施。

从 LSTM 等 RNN 转向 Transformer 解决 NLP 问题

在 Transformer 模型推出时,循环神经网络(RNN)是处理具有特定输入顺序的序列数据的首选方法。

RNN 的功能与前馈神经网络类似,但按顺序逐个元素处理输入。

Transformer 受到 RNN 中编码器—解码器架构的启发。然而,与使用循环不同,Transformer 模型完全基于注意力机制。

除了改进 RNN 的性能,Transformer 还为诸多任务提供了新架构,例如文本摘要、图像描述与语音识别。

那么,RNN 的主要问题是什么?它们在 NLP 任务中效率不高,主要有两个原因:

  • 它们顺序处理输入数据,逐个进行。这样的循环过程无法充分利用为并行计算而设计的现代 GPU,从而使训练变慢。
  • 当元素彼此相距较远时,它们表现不佳。因为信息在每个步骤传递,链条越长,信息沿链条丢失的可能性越大。

从 LSTM 等 RNN 向 Transformer 的转变正是由这两大问题推动的,而 Transformer 通过注意力机制的改进解决了它们:

  • 无论单词距离多远,都能“关注”到特定词。
  • 提升性能速度。

因此,Transformer 成为了 RNN 的自然改进。

接下来,我们看看 Transformer 的工作原理。

Transformer 架构

概览

Transformer 最初为序列转换或神经机器翻译而设计,擅长将输入序列转换为输出序列。它是首个完全依赖自注意力来计算输入与输出表示、而不使用序列对齐 RNN 或卷积的转换模型。Transformer 架构的核心特征是保留编码器—解码器模型。

如果将用于语言翻译的 Transformer 视作一个简单黑盒,它会接收一种语言(例如英语)的一句话作为输入,并输出其英文翻译。

将用于语言翻译的 Transformer 视作把英语翻译成西语的黑盒。

作者制图。

稍加深入就会发现,这个黑盒由两大部分组成:

  • 编码器接收输入并输出该输入的矩阵表示。例如,英文句子“How are you?”
  • 解码器接收该编码表示并迭代地生成输出。在我们的例子中,即翻译后的句子“¿Cómo estás?”

用于语言翻译的 Transformer,包含两个通用模块(编码器与解码器)。

作者制图。编码器—解码器的整体结构。

不过,编码器与解码器实际上都是由多个层(每侧数量相同)堆叠而成。所有编码器结构相同,输入依次进入各层并传给下一层。所有解码器也结构相同,接收来自最后一个编码器与上一个解码器的输入。

原始架构包含 6 个编码器与 6 个解码器,但可以按需复制更多层。我们假设每侧有 N 层。

用于语言翻译的 Transformer,编码器与解码器各重复 N 次。

作者制图。编码器—解码器整体结构,多层堆叠。

现在我们对整体架构有了概念,让我们分别聚焦编码器与解码器以更好理解它们的工作流程:

编码器工作流

编码器是 Transformer 架构的基础组件。其主要功能是将输入标记转换为上下文化表示。不同于早期独立处理标记的模型,Transformer 编码器针对整个序列捕捉每个标记的上下文。

其结构组成如下:

Transformer 编码器的架构。

作者制图。编码器整体结构。

我们将其工作流拆解为最基础的步骤:

步骤 1 - 输入嵌入

嵌入只发生在最底层的编码器中。编码器首先通过嵌入层把输入标记(词或子词)转换为向量。这些嵌入捕捉标记的语义,并将其转为数值向量。

所有编码器接收一个向量列表,每个向量大小为 512(固定维度)。在底层编码器中这些是词嵌入,而在其他编码器中则是直接下方编码器的输出。

编码器工作流:输入嵌入如何工作。

作者制图。编码器工作流:输入嵌入。

步骤 2 - 位置编码

由于 Transformer 不具备 RNN 那样的循环机制,它们将位置编码加到输入嵌入上,以提供序列中每个标记的位置资讯。这使其能够理解词在句中的位置。

为此,研究者提出使用多种正弦与余弦函数的组合来创建位置向量,从而使该位置编码器可用于任意长度的句子。

在这种方法中,每个维度由独特的频率与相位偏移表示,取值范围为 -1 到 1,从而有效表征每个位置。

编码器工作流:位置编码如何工作。

作者制图。编码器工作流:位置编码。

步骤 3 - 编码器层堆叠

Transformer 编码器由一组相同的层堆叠而成(原始模型为 6 层)。

编码器层的作用是将所有输入序列转化为连续且抽象的表示,涵盖从整个序列中学到的信息。该层包含两个子模块:

  • 多头注意力机制。
  • 全连接网络。

此外,每个子层外都包含残差连接,随后进行层归一化。

编码器工作流:编码器层堆叠。

作者制图。编码器工作流:编码器层堆叠

步骤 3.1 多头自注意力机制

在编码器中,多头注意力使用一种称为自注意力的特殊机制。这使模型能够将输入中的每个词与其他词关联。例如,在给定示例中,模型可能学会将“are”与“you”联系起来。

该机制使编码器在处理每个标记时,能够关注输入序列的不同部分。它基于以下内容计算注意力分数:

  • Query(查询)是注意力机制中表示输入序列中特定词或标记的向量。
  • Key(键)同样是注意力机制中的向量,对应输入序列中的每个词或标记。
  • Value(值)与键一一对应,用于构建注意力层的输出。当查询与键高度匹配(即注意力分数高)时,相应的值会在输出中被强调。

这个首个自注意力模块使模型能够从整个序列中捕捉上下文信息。与其执行单次注意力,查询、键与值会被线性投影 h 次。在这些投影后的查询、键与值上并行执行注意力机制,得到 h 维的输出值。

其详细架构如下:

编码器工作流:多头注意力机制。

矩阵乘法(MatMul)— 查询与键的点积

当查询、键与值向量通过线性层后,会对查询与键执行点积矩阵乘法,得到分数矩阵。

分数矩阵决定了每个词应当对其他词给予多大关注。因此,在同一时间步中,每个词都会相对于其他词获得一个分数。分数越高,关注度越大。

该过程有效地将查询映射到相应的键。

编码器工作流:注意力机制——矩阵乘法。

作者制图。编码器工作流:注意力机制——矩阵乘法。

缩小注意力分数的幅度

随后,将分数除以查询与键向量维度的平方根进行缩放。此步骤有助于稳定梯度,因为数值相乘可能导致效果过大。

编码器工作流:缩小注意力分数。

作者制图。编码器工作流:缩小注意力分数。

对调整后的分数应用 Softmax

接着对调整后的分数应用 softmax,得到注意力权重。这会产生 0 到 1 之间的概率值。softmax 会放大较高分数、减小较低分数,从而提升模型有效确定哪些词应获得更多关注的能力。

编码器工作流:对调整后的分数应用 Softmax。

作者制图。编码器工作流:Softmax 调整后的分数。

将 Softmax 结果与值向量结合

注意力机制的下一步是用 softmax 得到的权重乘以值向量,从而得到输出向量。

在此过程中,只有 softmax 分数高的词被保留。最后,将该输出向量送入线性层进一步处理。

编码器工作流:将 Softmax 结果与值向量结合。

作者制图。编码器工作流:将 Softmax 结果与值向量结合。

至此,我们终于得到注意力机制的输出!

那为什么称为“多头”注意力?

回忆一下,在整个过程开始前,我们把查询、键与值拆分为 h 份。这个过程(自注意力)在这些更小的阶段或“头”里分别进行。每个头独立运作,产生一个输出向量。

这些输出再通过最后一个线性层,就像一道滤镜精调它们的整体表现。妙处在于各个头学习的多样性,使编码器模型具备更强健且多面的理解。

若想更深入理解注意力机制,请参阅我们的Transformer 多头注意力教程。

步骤 3.2 归一化与残差连接

编码器层的每个子层之后都跟随归一化步骤。同时,每个子层的输出会与其输入相加(残差连接),以缓解梯度消失问题,便于构建更深的模型。该过程在前馈神经网络之后也会重复。

编码器工作流:多头注意力后的归一化与残差连接。

作者制图。编码器工作流:多头注意力后的归一化与残差连接。

步骤 3.3 前馈神经网络

经过归一化与残差后的输出,会进入逐位置(pointwise)的前馈网络,这是进一步精炼的关键阶段。

可以将该网络看作两层线性层,中间夹着 ReLU 激活作为桥梁。处理完成后,输出会沿熟悉的路径回环,并与该前馈网络的输入相加。

随后再进行一次归一化,确保一切为后续步骤做好调配与同步。

编码器工作流:前馈神经网络子层。

作者制图。编码器工作流:前馈神经网络子层。

步骤 4 - 编码器输出

最终编码器层的输出是一组向量,每个向量以丰富的上下文表示输入序列。该输出随后作为 Transformer 模型的解码器输入。

这一步的精心编码为解码器铺路,引导其在解码时关注输入中的正确词。

可以将其比作搭塔,您可以堆叠 N 个编码器层。栈中的每一层都有机会探索并学习不同的注意力侧面,如同知识的层层叠加。这不仅丰富了理解,还可能显著增强 Transformer 网络的预测能力。

解码器工作流

解码器的职责是生成文本序列。与编码器相映,解码器配备了相似的子层集合。它包含两个多头注意力层、一个逐位置前馈层,并在每个子层后加入残差连接与层归一化。

编码器整体结构。

作者制图。编码器整体结构。

这些组件的功能与编码器层相似,但略有不同:解码器中的每个多头注意力层都有其独特使命。

解码器流程的最后包含一个线性层,充当分类器,并以 softmax 结束以计算不同词的概率。

Transformer 解码器的结构专为逐步解码编码信息以生成输出而设计。

需要注意的是,解码器以自回归方式运行,从起始标记开始。它巧妙地将先前已生成的输出列表作为自身输入,并结合来自编码器、富含对初始输入的注意信息的输出一同使用。

这种逐步解码的“舞蹈”持续进行,直到解码器生成一个表示终止的标记。

步骤 1 - 输出嵌入

在解码器的起点,流程与编码器类似。此处输入首先通过嵌入层。

步骤 2 - 位置编码

嵌入之后,同样如编码器,输入通过位置编码层。此序列旨在生成位置嵌入。

这些位置嵌入随后被送入解码器的第一个多头注意力层,在此精确计算解码器输入的注意力分数。

步骤 3 - 解码器层堆叠

解码器由一组相同的层堆叠而成(原始模型为 6 层)。每层包含三个主要子组件:

步骤 3.1 掩蔽自注意力机制

这与编码器中的自注意力相似,但有关键差异:它阻止当前位置关注后续位置,这意味着序列中的每个词都不会被未来的标记影响。

例如,在为“are”计算注意力分数时,“are”不应窥视其后续词“you”。

解码器工作流:首个多头注意力掩蔽。

作者制图。解码器工作流:首个多头注意力掩蔽。

这种掩蔽确保对某一位置的预测只能依赖其之前位置的已知输出。

步骤 3.2 - 编码器—解码器多头注意力(交叉注意力)

在解码器的第二个多头注意力层中,编码器与解码器组件发生独特的交互。此处,编码器的输出充当查询与键,而解码器第一个多头注意力层的输出作为值。

这种设置有效地将编码器的输入与解码器对齐,使解码器能够识别并强调编码器输入中最相关的部分。

随后,该第二个多头注意力层的输出会经过逐位置前馈层进一步精炼处理。

解码器工作流:编码器—解码器注意力。

作者制图。解码器工作流:编码器—解码器注意力。

在该子层中,查询来自上一解码器层,键与值来自编码器输出。这使解码器中的每个位置都能关注输入序列的所有位置,有效地将编码器信息与解码器信息整合。

步骤 3.3 前馈神经网络

与编码器类似,每个解码器层包含一个全连接前馈网络,逐位置独立应用。

步骤 4 线性分类器与 Softmax 生成输出概率

数据在 Transformer 模型中的旅程最终会经过一个线性层,充当分类器。

该分类器的大小对应参与分类的类别总数(词表中词的数量)。例如,如果有 1000 个不同的词,则分类器输出为包含 1000 个元素的数组。

随后将该输出送入 softmax 层,转化为 0 到 1 之间的概率分数。其中最大概率分数至关重要,其对应索引直接指向模型预测的下一个词。

解码器工作流:Transformer 的最终输出。

作者制图。解码器工作流:Transformer 的最终输出。

归一化与残差连接

每个子层(掩蔽自注意力、编码器—解码器注意力、前馈网络)之后都进行归一化,并包含围绕该子层的残差连接。

解码器输出

最终层的输出会转化为预测序列,通常通过线性层后接 softmax,在词表上生成概率。

在运行流程中,解码器会将新近生成的输出加入其输入列表,然后继续解码。此循环反复,直到模型预测出特定标记,表明完成。

概率最高的标记被指定为结束类别,通常表现为终止标记。

再次提醒,解码器并不限于单层。它可以有 N 层结构,每层在来自编码器与其先前层的输入之上构建。该层次化架构使模型可以多元聚焦,并在各注意力头上提取不同的注意力模式。

这种多层方法能显著增强模型的预测能力,因为它对不同注意力组合形成更细致的理解。

最终的架构如下(来自原始论文):

Transformer 的原始结构。

作者制图。Transformer 的原始结构。

为更好理解该架构,建议您尝试按照本PyTorch Transformer 搭建教程从零实现一个 Transformer。

真实世界中的 Transformer 模型

BERT

Google 于 2018 年发布的 BERT 是一个开源自然语言处理框架,它通过独特的双向训练革新了 NLP,使模型能够在更丰富的上下文中预测下一个词。

通过从词的上下文两侧进行理解,BERT 在问答与消歧等任务上超越了先前模型。其核心使用 Transformer,动态连接每个输入与输出元素。

BERT 以维基百科为预训练语料,在诸多 NLP 任务上表现优异,促使 Google 将其整合进搜索引擎以更自然地理解查询。这一创新引发了研发先进语言模型的竞赛,并显著提升了该领域处理复杂语言理解的能力。

想进一步了解 BERT,请参阅我们的BERT 模型介绍文章。

LaMDA

LaMDA(对话应用语言模型)是 Google 开发的基于 Transformer 的模型,专为会话任务而设计,并在 2021 年 Google I/O 主题演讲中发布。它旨在生成更自然、上下文相关的响应,提升各类应用中的用户交互体验。

LaMDA 的设计使其能够理解并回应广泛主题与用户意图,非常适合用于聊天机器人、虚拟助手与其他需要动态对话的交互式 AI 系统。

这种对会话理解与响应的专注,使 LaMDA 成为自然语言处理与 AI 驱动沟通领域的重要进展。

如果您希望进一步了解 LaMDA 模型,可阅读我们的 LaMDA 文章

GPT 与 ChatGPT

由 OpenAI 开发的 GPT 与 ChatGPT 是先进的生成式模型,以其生成连贯且上下文相关文本的能力著称。GPT-1 于 2018 年 6 月发布,具有深远影响的 GPT-3 则于两年后的 2020 年推出。

这些模型擅长多种任务,包括内容创作、对话、语言翻译等。GPT 的架构使其生成的文本高度贴近人类写作,适用于创意写作、客户支持,甚至代码辅助等应用。ChatGPT 则是为会话场景优化的变体,擅长生成类人的对话,在聊天机器人与虚拟助手中应用广泛。

Claude

由 Anthropic 开发的 Claude 是一系列基于 Transformer 的 AI 助手,强调安全与有益。Claude 采用“宪法式 AI(CAI)”训练方法,以一套原则指导模型生成有帮助、无害且诚实的回答。

Claude 3(2024 年发布)引入了 Haiku、Sonnet 与 Opus 三个型号,在速度与能力之间提供不同权衡。该系列在细致推理、遵循复杂指令与长上下文保持(可达 20 万 token)方面表现出色。

2025 与 2026 年,Anthropic 推出 Claude 4 系列,最新的 Opus 4.6Sonnet 4.6 在多项 LLM 基准上名列前茅。 

其他变体

基础模型,尤其是 Transformer 模型的版图正在迅速扩张。有研究识别了 50 余个重要的 Transformer 模型,而斯坦福团队评估了其中 30 个,并指出该领域增长迅速。作为 NVIDIA Inception 计划成员的创新初创公司 NLP Cloud,在航空与医药等多个行业商业化使用约 25 个大型语言模型。

将这些模型开源的趋势日益增强,Hugging Face 模型库等平台引领其道。此外,众多基于 Transformer 的模型针对不同 NLP 任务而生,展现了该架构在多样化应用中的通用性与高效性。

您可以在另一篇文章中进一步了解现有的基础模型,其中介绍了它们是什么以及最常用的模型。

现代 Transformer 变体

自 2017 年原始架构问世以来,Transformer 已大幅演进,以解决局限并拓展到新领域。

视觉 Transformer(ViT)

视觉 Transformer 将自注意力机制用于图像:将图像划分为小块并将每个小块视为一个标记。这种方法在图像分类、目标检测与图像生成上效果显著,常在大型数据集上优于传统 CNN。

多模态 Transformer

现代模型如 GPT-5、Gemini 3 与 Llama 4 能在单一架构中处理多种输入类型(文本、图像、音频、视频)。这些多模态 Transformer 使用统一的嵌入空间与交叉注意力机制,同时在不同模态间进行推理。

高效 Transformer

自注意力的二次复杂度限制了上下文长度。多项创新对此进行改进:

  • Flash Attention优化内存访问模式,将 GPU 显存占用降低,并将训练速度提升 2-4 倍
  • 旋转位置嵌入(RoPE):通过旋转矩阵编码位置信息,更好地外推至更长序列
  • 线性注意力变体:Linformer、Performer、Longformer 将复杂度降至 O(n),以处理超长文档
  • 专家混合(MoE):每个 token 仅激活部分参数,使更大的模型在相近算力成本下成为可能

基准与性能

在 NLP 中对 Transformer 模型进行基准测试与性能评估,需要系统化的方法以考察其有效性与效率。

根据任务性质不同,有多种方式与资源可用:

机器翻译任务

在机器翻译任务中,您可以利用 WMT(机器翻译研讨会)等标准数据集,其中包含多种语言对,各具挑战。

BLEU、METEOR、TER 与 chrF 等指标是导航工具,引导我们走向准确与流畅。

此外,在新闻、文学与技术文本等不同领域测试,可确保机器翻译系统的适应性与通用性,使其成为数字世界中的“多语者”。

问答(QA)基准

评估 QA 模型时,我们使用 SQuAD(斯坦福问答数据集)、Natural Questions 或 TriviaQA 等专门的问题与答案集合。

每个数据集都像规则各异的游戏。例如,SQuAD 要在给定文本中找答案,而其他数据集更像来自任意领域的问答测验。

为了评估模型表现,我们使用 Precision、Recall、F1,有时也使用 Exact Match 等分数。

自然语言推理(NLI)基准

在处理自然语言推理(NLI)时,我们使用 SNLI、MultiNLI 与 ANLI 等专门数据集。

它们就像涵盖语言变化与棘手案例的大型资料库,帮助我们检验模型对不同句式的理解。我们主要考察其判断陈述之间是蕴含、矛盾还是无关的准确度。

同时也要关注模型处理棘手语言现象的方式,例如指代、以及对“not”“all”“some”的理解。

与其他架构的比较

在神经网络世界中,常与 Transformer 比较的有两类结构。它们各自针对特定数据处理类型,具备不同优势与挑战:RNN(文中多次出现)与卷积层。

循环层

循环层是循环神经网络(RNN)的基石,擅长处理序列数据。其优势在于能够执行顺序运算,这对语言处理或时间序列分析等任务至关重要。在循环层中,前一步的输出会作为下一步的输入回馈到网络中。这种回路机制使网络能够“记住”先前信息,对理解序列上下文至关重要。

然而,正如前文所述,这种顺序处理带来两点主要影响:

  • 训练时间更长,因为每一步依赖前一步,难以进行并行处理。
  • 易受长期依赖问题困扰,即梯度消失,使网络难以学习序列中相距较远的数据点。

Transformer 模型与使用循环层的架构显著不同,因为它们没有循环。正如我们所见,Transformer 的注意力层解决了这两个问题,使其成为 NLP 应用中 RNN 的自然进化。

卷积层

另一方面,卷积层是卷积神经网络(CNN)的构件,以高效处理图像等空间数据著称。

这些层使用在输入数据上滑动的卷积核(滤波器)来提取特征。卷积核的宽度可调,允许网络根据任务聚焦于小尺度或大尺度特征。

尽管卷积层非常擅长捕捉数据中的空间层次与模式,但在长期依赖上存在挑战。它们并不天然考虑序列信息,因此不太适合需要理解顺序或上下文的任务。

这也是 CNN 与 Transformer 各自适配不同数据与任务的原因。CNN 因其处理空间信息的高效性而主导计算机视觉领域;而 Transformer 则因其理解远程依赖的能力,成为复杂序列任务、尤其是 NLP 的首选。

Transformer 的缺点与局限

尽管非常成功,Transformer 仍有显著局限:

  • 二次复杂度:自注意力随序列长度按 O(n²) 增长,极长上下文的计算成本高
  • 内存需求:大型模型需要大量 GPU 显存,限制部署选项
  • 训练数据需求:通常需要海量数据才能取得强劲表现
  • 缺乏显式推理:尽管是强大的模式匹配器,Transformer 不执行符号推理,可能“幻觉”事实
  • 位置编码限制:标准位置编码难以泛化到训练中未见的更长序列长度

研究正通过架构创新来应对这些局限,例如 Flash Attention专家混合检索增强生成(RAG)

结语

总之,Transformer 已成为人工智能与自然语言处理(NLP)领域的里程碑式突破。

通过其独特的自注意力机制高效处理序列数据,这些模型已经超越传统 RNN。它们更高效地处理长序列并并行化数据处理,显著加速训练。

Google 的 BERT 与 OpenAI 的 GPT 系列等先锋模型,充分展现了 Transformer 在提升搜索引擎与生成类人文本方面的变革性影响。

因此,它们已成为现代机器学习中不可或缺的组成部分,推动着 AI 的边界并开辟新的技术进步路径。

如果您想深入了解 Transformer 及其实践用法,我们的Transformer 与 Hugging Face文章是理想起点!您也可以通过我们的深入指南学习如何用 PyTorch 构建 Transformer

主题
机器学习

进一步了解 Transformers 与 LLM!

Courses

Large Language Models (LLMs) 概念

2小时
109.7K
通过我们的概念性课程,发掘 LLM 的全部潜力,涵盖 LLM 应用、训练方法、伦理考量和最新研究。
查看详情Right Arrow
开始课程
查看更多Right Arrow