Transformer 详解:改变 AI 的那项发现

摘要
当今几乎所有最先进的 AI 系统——无论是 ChatGPT、Claude、Gemini 还是 Grok——都建立在同一种底层模型架构之上:Transformer。本文追溯了 Transformer 架构的诞生历程,揭示了这一"一夜成功"背后数十年积累的三项关键突破。首先,长短期记忆网络 (LSTM) 通过引入门控机制解决了循环神经网络 (RNN) 中的梯度消失问题,使模型能够学习长程依赖关系;其次,序列到序列 (Seq2Seq) 模型结合注意力机制 (Attention),让解码器能够在生成输出时回望编码器的全部隐藏状态,突破了定长瓶颈的限制;最终,2017 年 Google 发表的里程碑论文"Attention Is All You Need"彻底抛弃了循环结构,仅依赖注意力机制构建了 Transformer——它不仅实现了全序列并行计算,还大幅提升了机器翻译的准确性。此后,BERT 和 GPT 分别从编码器和解码器两个方向演化,最终 GPT 通过规模化训练催生了今天广泛使用的大语言模型 (LLM)。这段历史表明,AI 突破从来不是凭空出现,而是在前人基础上的渐进式跃迁。
引言:Transformer 的统治地位
当今几乎所有最先进的 AI 系统——无论是 ChatGPT、Claude、Gemini 还是 Grok——都建立在同一种底层模型架构之上:Transformer。但 Transformer 架构从何而来?它的发展历程又能告诉我们 AI 突破是如何发生的?本文将深入探讨。推动 Transformer 诞生的三项关键突破分别是:长短期记忆网络 (LSTM)、序列到序列模型与注意力机制 (Seq2Seq with Attention),以及最终的 Transformer 本身。
LSTM:解决梯度消失的先驱
早期 AI 研究的一个核心挑战是让神经网络理解序列。自然语言本质上是序列化的——一个词的含义取决于其前后的上下文,理解整句话需要跨越多个词语维持语境。早期的前馈神经网络 (Feed-Forward Neural Network) 将每个输入独立处理,无法理解上下文,或者只能处理固定长度的输入。
为此,研究者开发了循环神经网络 (Recurrent Neural Network, RNN)。简单来说,RNN 按顺序逐个遍历输入,并将前一步的输出作为额外输入传入当前步骤。因此,长度为 n 的输入需要 n 次前向传播步骤,而在反向传播时,早期输入的梯度是 n 次矩阵乘法的结果。这在实践中导致了一个严重问题——梯度消失 (Vanishing Gradient):序列越长,早期输入对网络输出的影响越小,因为梯度信号在时间维度上反向传递时会衰减至接近零,而梯度正是训练中用于调整权重的信号。
1997 年,Sepp Hochreiter 和 Jürgen Schmidhuber 提出了解决方案:长短期记忆网络 (Long Short-Term Memory, LSTM)。LSTM 是一种特殊类型的 RNN,通过引入门控机制 (Gate) 来学习哪些信息应该保留、更新或遗忘,从而使模型能够学习长程依赖关系——这是普通 RNN 无法做到的。然而,在 20 世纪 90 年代,LSTM 的训练成本过高,无法大规模应用,进展因此停滞。
进入 2010 年代初,GPU 加速、更优的优化技术和新的大规模数据集使 LSTM 重获生机。这一相对古老的架构重新变得可行,并迅速主导了自然语言处理 (NLP) 领域,被广泛应用于语音识别和语言建模等任务。在这一时期,NLP 和计算机视觉 (Computer Vision) 仍然是相对分离的领域:RNN 和 LSTM 在语言任务中占主导,而卷积神经网络 (Convolutional Neural Network, CNN) 在视觉任务中胜出。但驱动两者的根本问题是相同的——如何对序列建模,如何让模型捕捉跨越时间或空间的结构。
定长瓶颈:LSTM 的根本局限
LSTM 是一大进步,但仍有根本性局限,最核心的是所谓"定长瓶颈"(Fixed-Length Bottleneck)。
早期大多数 LSTM 系统的工作方式如下:对于序列到序列任务(如翻译),先将输入句子送入编码器 LSTM (Encoder LSTM),将输入压缩为一个固定大小的向量;然后解码器 LSTM (Decoder LSTM) 根据该向量逐词构建目标句子。这在当时的基准测试上取得了令人印象深刻的结果,但在实践中,那个单一向量仍然无法准确捕捉长句或复杂句子的含义,也无法很好地将"顺序"概念编码进固定大小的向量中——而顺序在翻译任务中至关重要(例如,英语中形容词放在名词前面,而西班牙语中形容词通常放在名词后面)。
模型在短输入上表现尚可,但随着序列变长,性能迅速下降。这不仅仅是性能问题,更指向一个深层架构缺陷:只允许解码器看到一个静态的输入摘要,是根本性的局限——为什么不让它访问编码器看到的所有中间信息呢?正是这种洞察催生了下一个重大飞跃。
Seq2Seq 与注意力机制
2014 年,一篇论文引入了序列翻译的新标准:序列到序列模型 (Sequence-to-Sequence, Seq2Seq) 结合注意力机制。与之前类似,核心思路是联合训练两个神经网络——编码器读取输入序列并构建表示,解码器逐步生成输出序列。两者都使用 LSTM,且端到端联合训练。
但有一个关键洞察带来了性能跃升:注意力 (Attention)。虽然 Seq2Seq 仍然使用定长向量,但研究者意识到,如果允许解码器回望或"关注"(Attend) 编码器的隐藏状态,就能让模型学习如何将输入的各部分与输出的各部分对齐。
Dzmitry Bahdanau、Kyunghyun Cho 和 Yoshua Bengio 的研究表明,这些模型在机器翻译等任务上显著优于传统的基于规则的系统和当时的 Seq2Seq 模型。这是一个重大突破——在翻译基准测试上,这些模型接近当时的最优性能,甚至击败了最好的统计系统。这标志着神经模型 (Neural Model) 首次能与成熟的工业级系统正面竞争。对许多人而言,这是第一次在实践中看到这些模型的能力——这是真正可用的 NLP。例如,Google 翻译大约在这个时期采用了神经 Seq2Seq 架构,许多人可能记得 Google 翻译终于开始变得好用的那个时代。
"同时学习对齐和翻译"这一洞察是变革性的,且其影响不止于 NLP。Seq2Seq 的原作者之一 Yoshua Bengio 很快将类似基于对齐的架构应用于计算机视觉——这是序列模型可能超越语言领域的第一个信号。
注意力机制的跨领域影响与 RNN 的根本瓶颈
然而,即使加入了注意力机制,RNN 仍受限于其顺序架构——逐个处理词元 (Token) 使得跨时间步的并行计算成为挑战,运行时间随序列长度线性增长。这使得在大规模数据集上训练模型(而这是实现广泛可用 AI 的必要条件)变得极其缓慢。
研究者尝试了多种加速 RNN 的技术,例如将 LSTM 矩阵分解为更小的矩阵乘积,或仅条件性地激活网络中与查询相关的部分,但线性运行时间的根本约束始终存在。
Transformer:彻底抛弃循环
2017 年,重大突破降临。Google 的一支研究团队发表了论文"Attention Is All You Need"(注意力就是你所需要的一切),提出了一种新的机器翻译架构,命名为 Transformer。
Transformer 彻底抛弃了循环 (Recurrence) 结构,完全依赖注意力机制来生成输出。从技术细节上,本文不深入展开——Andrej Karpathy 有精彩的技术讲解——但从高层来看,Transformer 采用了 Seq2Seq 中提出的编码器-解码器 (Encoder-Decoder) 架构的改进版本。它不再将输入压缩为单一向量嵌入 (Embedding),而是为每个输入词元保留独立的嵌入,并通过自注意力 (Self-Attention) 机制来更新这些表示——自注意力基于对所有其他词元嵌入的学习加权点积 (Learned Weighted Dot Product) 来更新当前词元的表示。
因为架构中的每个词元可以同时关注所有其他词元,Transformer 可以并行处理整个序列,这使其速度远超 RNN。更令人惊叹的是,它在机器翻译基准测试上的准确性也大幅领先。
BERT 与 GPT:Transformer 的两大分支
在接下来的几年中,研究者开始实验 Transformer 架构的不同变体。原始 Google 论文描述的架构包含编码器和解码器,各自具有自注意力 (Self-Attention),两者之间还有交叉注意力 (Cross-Attention),类似于原始 Seq2Seq 架构但没有循环。
此后数年,Transformer 架构本身涌现了大量创新。例如,名为 BERT 的一系列模型专注于仅使用编码器进行大规模语言建模 (Masked Language Modeling)。与此同时,仅使用解码器进行自回归建模 (Autoregressive Modeling) 的努力催生了 OpenAI 的 GPT 系列模型。从高层来看,这两个模型系列都可以视为原始"Attention Is All You Need" Transformer 模型的子集。
很快,人们发现这些模型可以扩展到大量参数。最终,一种模型类型——生成式预训练 Transformer (Generative Pre-trained Transformer, GPT)——通过规模化训练催生了我们今天在 ChatGPT 和 Claude 等产品中日常使用的大语言模型 (Large Language Model, LLM)。
但在不久之前,"一种模型统治一切"并非显而易见。事实上,当时人们为每个任务训练不同变体的模型架构——一个做机器翻译,另一个做命名实体识别 (Named Entity Recognition),等等。每个模型共享骨干网络,但最终模型层有细微差异。这些模型在准确性上是"智能"的,但本质上是单任务模型。此外,当时还没有"提示"(Prompting) 模型的概念,因为没有聊天界面——人们通过特定领域的输入方式与模型交互。
只有当各实验室开始在更大数据集上训练自回归模型时,这些模型才开始呈现和感觉更像通用智能系统。希望这段历史有助于理解将 Transformer 推向可规模化应用的历程。下一期视频将讨论使其达到当前性能水平的架构与工程创新。