Transformer:现代 AI 的基石与意义矩阵的编解码艺术

TL;DR

  • 核心地位:Transformer 取代 RNN/CNN 成为 NLP 及多模态领域的统一架构,是现代大模型 (LLM) 的物理地基。
  • 架构精髓:基于自注意力机制 (Self-Attention) 的 Encoder-Decoder 结构,实现并行计算与长距离依赖捕捉。
  • 演进分野:分化为 Encoder-only (BERT)、Decoder-only (GPT) 与 Encoder-Decoder (T5) 三大流派,分别专攻理解、生成与翻译。
  • 哲学隐喻:人生即编解码——前半生 Encoder 压缩世界为含义矩阵,后半生 Decoder 向世界输出价值。

概念与痛点

它是什么

Transformer 是 Google 团队在 2017 年论文《Attention Is All You Need》中提出的深度学习架构。它完全抛弃了循环与卷积,纯粹依赖注意力机制来处理序列数据。

解决什么问题

  • 串行计算瓶颈:RNN/LSTM 必须按时间步顺序计算,无法利用 GPU 并行加速,训练极慢。
  • 长距离遗忘:序列过长时,早期信息在传递中衰减,无法捕捉“上下文”。
  • 信息瓶颈:Seq2Seq 模型将整句压缩为一个定长向量,信息有损。

发展历史与演进

  1. RNN/LSTM 时代:序列建模的统治者,但受限于串行与梯度消失。
  2. Attention 引入:Bahdanau Attention 让模型能“聚焦”原文不同部分,但仍挂载于 RNN 上。
  3. Transformer 诞生 (2017):彻底移除 RNN,提出 Multi-Head Attention,开启并行训练新纪元。
  4. 百花齐放 (2018-2020):
    • BERT (Encoder-only):双向理解,横扫 NLP 榜单。
    • GPT (Decoder-only):单向生成,暴力美学初现。
    • T5/BART (Encoder-Decoder):统一文本到文本任务。
  5. 大模型时代 (2020+):Decoder-only 架构因其训练稳定性与涌现能力,成为 ChatGPT 等 LLM 的首选。

核心模块

Transformer 架构图

  1. Encoder (编码器):
    • 作用:负责“理解”。将输入序列转化为富含语义的上下文向量 (Context Vector)。
    • 结构:Self-Attention + Feed Forward Network (FFN),层层堆叠,双向可见。
  2. Decoder (解码器):
    • 作用:负责“生成”。根据上下文向量与已生成的 Token,预测下一个 Token。
    • 结构:Masked Self-Attention (防剧透) + Cross-Attention (看 Encoder) + FFN。
  3. Self-Attention (自注意力):
    • 核心公式:$Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$
    • 让每个词都能关注句中其他所有词,计算相关性权重。

运行机制与工程实践

独立工作模式

Transformer 的 Encoder 和 Decoder 既可合体 (如机器翻译),亦可独立门户:

  1. Encoder-only (理解流):
    • 代表:BERT, RoBERTa。
    • 训练:Masked Language Modeling (完形填空)。随机遮盖词,让模型猜。
    • 应用:情感分析、文本分类、命名实体识别。
    • Encoder-only 架构图
  2. Decoder-only (生成流):
    • 代表:GPT 系列, LLaMA。
    • 训练:Causal Language Modeling (文本接龙)。根据上文预测下文。
    • 应用:对话生成、代码补全、创意写作。
    • Decoder-only 架构图
  3. Encoder-Decoder (互译流):
    • 代表:T5, BART。
    • 应用:机器翻译、文本摘要。

运算流程与数学本质

一切计算的尽头都是加法和乘法,Transformer 也不例外。它的核心模块,无论是 Self-Attention、Feed-Forward Network (FFN) 还是最后的线性输出层,其本质都是线性变换 (Linear Transformation),即一系列精心设计的矩阵乘法和加法。

线性变换:世界的通用语

线性变换是连接两个向量空间的桥梁。它的作用是对信息进行旋转、缩放、投影和整合。如果世间万物(比如食物)都可以用一组数字(向量)来表示,那么对这些事物的操作和推导(比如“评价一道菜”)就可以通过一个线性变换(一个参数矩阵)来完成。

Transformer 正是利用这个思想来处理信息的:

  1. Embedding:将离散的单词(Token)映射为高维向量,赋予其在数学空间的初始坐标。
  2. Positional Encoding:通过加入正弦/余弦函数,为每个向量注入位置信息,弥补纯注意力机制对顺序的不敏感。
  3. Attention 中的线性变换:
    • 输入向量 $X$ 分别乘以三个权重矩阵 $W_Q, W_K, W_V$ 得到 $Q, K, V$。这本身就是三次线性变换,将原始信息投影到三个不同的“功能”子空间。
    • $Q \times K^T$:通过点积计算向量间的相似度。
    • $\times V$:根据相似度权重,对 $V$ 向量进行加权求和,聚合信息。
    • Multi-Head Attention 则更进一步,将这个过程重复多次(多个“头”),每个头关注不同的信息模式,再将结果拼接并再次进行线性变换,整合所有头的发现。

非线性激活:从线性到万能

如果模型只包含线性变换,那么无论叠加多少层,其最终效果等同于一次性的线性变换,无法捕捉现实世界中普遍存在的非线性关系(例如,“好吃”和“非常咸”之间的关系就不是简单的线性叠加)。

为了让模型能够表示非线性关系,我们在线性层之间插入了激活函数 (Activation Function)。

  • 目的:为模型引入非线性,使其能够拟合任意复杂的函数。
  • 常见激活函数:ReLU (Rectified Linear Unit), GeLU (Gaussian Error Linear Unit), Sigmoid, Tanh 等。
  • 组合结构:正是“线性层 -> 激活函数 -> 线性层 -> 激活函数 …”这种重复结构,构成了所谓的前馈神经网络 (Feed-Forward Network, FFN) 或多层感知机 (MLP)。这对应于 Transformer 架构图中的 Feed Forward 模块,它在每个 Attention 层之后对信息进行深度加工和提炼。

监督 vs 自监督

  • 监督学习:有标签数据 (Input: “猫”, Label: “Cat”)。成本高,数据难得。
  • 自监督学习 (Self-Supervised):无标签,自己挖坑自己填。
    • 无论是 BERT 的挖词填空,还是 GPT 的预测下一个词,本质都是利用海量文本本身作为监督信号。这是 AI 爆发的核动力。

参数训练:从“是什么”到“为了什么”

无论是监督还是自监督,模型训练的逻辑是相通的:我们知道输入,也知道期望的正确输出,但中间的转换过程(即模型的参数)是未知的。

  1. 初始化:我们先把所有参数(即那些巨大的权重矩阵 $W_Q, W_K, W_V$ 等)设置为随机的、无意义的数字。
  2. 前向传播:让模型根据当前参数处理输入,得到一个初始的、几乎肯定是错误的输出。
  3. 计算差距:比较模型的输出与期望的正确输出之间的差别(即 损失 Loss)。
  4. 反向传播与调优:如果差距很大,就使用梯度下降 (Gradient Descent) 算法,像一位雕塑家一样,微调每一个参数,让下一次的输出能离正确答案更近一点点。

这个过程会重复亿万次。在这个过程中,我们并不知道训练出的某一个具体参数的物理含义是什么,只知道由数亿个这样的参数组成的整体,能够达成我们的目的(比如准确地翻译、流畅地对话)。

这就是理解现代 AI 模型的思维转变:我们应该更关注模型的目的是什么 ,而非纠结于每个参数是什么。例如,GPT 在最后一步会用一个巨大的 Linear 线性层,将模型内部复杂的表示(一个高维向量),直接映射为词汇表中每个 Token 的匹配度(Logits)。我们不需要理解这个 Linear 层内部具体数字的含义,只需要知道它的作用是“将思想翻译为语言”。只要我们认为 A 和 B 之间存在某种(哪怕是极其复杂的)映射关系,就可以引入一个或多个线性层,让模型自己去学习这个变换矩阵。

损失函数与梯度下降:如何「雕刻」参数

为了让「差距」可计算,我们定义了损失函数 Loss,它把「预期值与模型实际输出之差」量化成一个标量。常见形式:

任务 常用损失函数 公式 图像特征
回归 均方误差 MSE $\frac{1}{N}\sum (y-\hat{y})^2$ 开口向上抛物线
二分类 交叉熵 BCE $-\bigl[y\log\hat{y}+(1-y)\log(1-\hat{y})\bigr]$ 在 $0/1$ 附近陡峭
多分类 交叉熵 CE $-\sum y_i\log \hat{y}_i$ 类 BCE,多峰

训练目标只有一个:把损失压到最低。观察损失曲面,任一点处的斜率即梯度 $\nabla L$:

  • 若斜率为负,说明继续沿横轴向右移动可使损失下降;
  • 若斜率为正,则需向左移动。

因此,每个参数 $w$ 的更新规则永远是:

其中 $\eta$ 为学习率。由于每一步都沿着梯度相反方向(下坡)走,该算法得名梯度下降——让损失一路向「谷底」逼近,直至趋于 $0$ 或无法继续下降为止。

高级特性:生成与创造性

输入输出成本差异

为何 Output Token 比 Input Token 贵/慢?

  • Input (Prefill):一次性并行计算所有 Token 的 KV Cache。GPU 利用率高。
  • Output (Decoding):自回归 (Auto-regressive) 生成。每生成一个词,都要将其加入输入再次前向传播。串行过程,受限于内存带宽 (Memory Bandwidth Bound)。

创造性的调节

模型输出本质是概率分布采样。

  1. Temperature (温度):
    • $T < 1$ (低温):概率分布变尖锐,只选大概率词。输出保守、准确、逻辑严密。
    • $T > 1$ (高温):概率分布变平缓,低概率词也有机会被选中。输出多样、发散、有创意。
  2. Top-k / Top-p:
    • Top-k:仅在概率最高的 k 个词中采样,截断长尾垃圾词。
    • Top-p (Nucleus):按概率累加直到 p (如 0.9),动态调整候选池大小。

Transformer:现代 AI 的基石与意义矩阵的编解码艺术
https://blog.baoyanfudao.com/tech/Transformer:现代 AI 的基石与意义矩阵的编解码艺术/
作者
XuYafei
发布于
2026年2月16日
许可协议