Transformer 是什么?

📅 2026/7/30 6:15:36 👁️ 阅读次数 📝 编程学习
Transformer 是什么?

如果你最近接触过任何 AI 相关的内容,一定听过 "Transformer" 这个词。从 ChatGPT、文心一言到 Midjourney、Sora,所有你能叫得出名字的大模型,底层核心都是 Transformer 架构

2017 年 Google 发表的《Attention Is All You Need》论文,彻底改变了整个 AI 行业的发展轨迹。它不仅解决了传统 NLP 模型的致命缺陷,还迅速席卷了计算机视觉、语音识别、推荐系统等几乎所有 AI 领域,成为当之无愧的 "AI 世一架构"。

一、为什么需要 Transformer?传统模型的两大痛点

在 Transformer 出现之前,处理文本、语音这类序列数据的主流模型是 RNN(循环神经网络)和它的改进版 LSTM、GRU。但它们有两个无法解决的致命问题:

1. 串行计算,速度极慢

RNN 是 "一个字一个字" 处理的。比如处理 "我爱人工智能" 这句话,它必须先处理 "我",再处理 "爱",然后是 "人"…… 以此类推。

这就像你看书只能一个字一个字读,不能同时看一整行。处理长文本时,速度会慢到令人发指,而且无法利用现代 GPU 的并行计算能力。

2. 长距离依赖丢失

当句子很长时,RNN 会 "忘记" 前面说过什么。比如:

"我住在法国…… 我能说一口流利的____"

RNN 很难把 "法国" 和 "法语" 联系起来,因为它们相隔太远。这就是著名的 "梯度消失" 问题。

Google 的工程师们想:既然循环结构这么拉胯,那我们干脆彻底抛弃循环,只用注意力机制来做序列处理行不行?

于是,Transformer 诞生了。

二、Transformer 的核心:自注意力机制(Self-Attention)

自注意力机制是 Transformer 的灵魂,也是它能打败所有传统模型的关键。

简单来说,自注意力机制让模型在处理每个词的时候,都能 "看到" 句子中所有其他的词,并根据它们的重要程度来决定当前词的表示

还是用 "我爱人工智能" 这句话举例:

  • 当模型处理 "爱" 这个字时,它会知道 "我" 是主语,"人工智能" 是宾语,这两个词对 "爱" 来说最重要
  • 当模型处理 "人工智能" 时,它会知道 "爱" 是谓语,"我" 是主语

自注意力的计算过程(大白话版)

  1. 给每个词生成三个向量:查询向量(Query)、键向量(Key)、值向量(Value)
  2. 计算相似度:用当前词的 Query 和所有词的 Key 做点积,得到每个词和当前词的相似度
  3. 归一化权重:把相似度通过 Softmax 函数变成 0-1 之间的权重,权重加起来等于 1
  4. 加权求和:用权重乘以每个词的 Value,再相加,就得到了当前词的自注意力表示

这个过程的神奇之处在于:

  • 并行计算:所有词的自注意力可以同时计算,速度比 RNN 快几百倍
  • 捕捉长距离依赖:无论两个词相隔多远,模型都能直接建立它们之间的联系

三、Transformer 的整体结构:编码器 - 解码器架构

Transformer 采用经典的 "编码器 - 解码器" 架构,左边是编码器(Encoder),右边是解码器(Decoder)。

1. 编码器(Encoder)

  • 作用:把输入文本转换成一个 "语义表示"
  • 结构:由 N 个完全相同的编码器层堆叠而成(论文中是 6 层)
  • 每个编码器层包含两个子层:
    • 多头自注意力层(Multi-Head Attention)
    • 前馈神经网络层(Feed Forward)

多头自注意力:就是把自注意力机制做多次,让模型从不同的角度去关注句子中的词。比如一个头关注主谓关系,另一个头关注动宾关系。

2. 解码器(Decoder)

  • 作用:根据编码器的输出,生成目标文本
  • 结构:同样由 N 个完全相同的解码器层堆叠而成
  • 每个解码器层包含三个子层:
    • 掩码多头自注意力层(Masked Multi-Head Attention)
    • 编码器 - 解码器注意力层(Encoder-Decoder Attention)
    • 前馈神经网络层

掩码自注意力:在生成文本时,模型不能 "偷看" 后面还没生成的词。比如生成 "我" 的时候,不能看到 "爱" 和 "人工智能"。掩码就是用来挡住这些未来的词。

四、Transformer 的几个关键细节

1. 位置编码(Positional Encoding)

自注意力机制本身是 "无序" 的,它不关心词的顺序。但语言是有顺序的,"我爱你" 和 "你爱我" 意思完全不同。

所以 Transformer 在输入词向量的时候,会加上一个位置编码,用来告诉模型每个词在句子中的位置。

2. 残差连接和层归一化

每个子层后面都有一个残差连接和层归一化:

  • 残差连接:解决深度网络的梯度消失问题
  • 层归一化:让训练更稳定,收敛更快

3. 为什么 Transformer 这么强大?

  • 并行计算:训练速度极快,可以处理海量数据
  • 长距离依赖:能捕捉文本中任意两个词之间的关系
  • 通用性强:不仅能处理文本,还能处理图像、语音等各种数据

五、总结与展望

Transformer 的出现,是 AI 发展史上的一个里程碑。它证明了注意力机制可以完全替代循环结构,为大模型的发展奠定了基础。

从 2017 年到现在,Transformer 已经衍生出了无数变种:

  • BERT:只使用编码器,擅长理解任务
  • GPT:只使用解码器,擅长生成任务
  • ViT:把 Transformer 应用到计算机视觉
  • Whisper:把 Transformer 应用到语音识别