深度学习入门

Transformer 架构全图

14 分钟

零件齐了,这一节把它们装成完整的架构,并讲清楚三种变体的分野——今天几乎所有大模型都是其中之一。


原始架构:编码器 + 解码器

2017 年的论文《Attention Is All You Need》是为机器翻译设计的,所以是两段式:

源语言 → 编码器(N 层)→ 语义表示
                              ↓
目标语言 ← 解码器(N 层)← 交叉注意力

编码器:每层 = 多头自注意力 + 前馈网络(各带残差和层归一化)。能看到输入的全部词(双向)。

解码器:每层多一个交叉注意力(Q 来自解码器,K/V 来自编码器输出),而且自注意力是带掩码的


掩码:为什么解码器不能「偷看」

生成第 个词时,模型只能看到前 个词——因为预测时未来还不存在。

但训练时整个目标句子都在,如果不加限制,模型会直接抄答案。

做法:在 softmax 之前,把「未来位置」的注意力分数设成 ,softmax 后就变成 0。

这叫因果掩码(causal mask),是所有生成式模型的基础。


三种变体,三条技术路线

架构 代表 能看到什么 擅长
仅编码器 BERT 系 双向,能看全文 理解类:分类、抽取、检索
仅解码器 GPT 系 单向,只能看左边 生成类:对话、写作、代码
编码器-解码器 T5、翻译模型 编码器双向 + 解码器单向 序列到序列:翻译、摘要

今天的主流大语言模型绝大多数是「仅解码器」架构。

为什么解码器路线赢了(三个原因):

  1. 训练目标极其简单——预测下一个词,任何文本都能当训练数据,不需要标注
  2. 一个模型能统一所有任务——翻译、摘要、问答都可以写成「续写」
  3. 规模化效果最好——参数和数据一起放大时,能力提升最平滑

一个容易混淆的点:层归一化的位置

方式 结构 特点
Post-LN(原论文) 残差之后归一化 效果好但深层难训练,需要 warmup
Pre-LN(现代主流) 归一化放进残差分支之前 训练稳定,能堆到上百层

现代大模型基本都用 Pre-LN。 这是个不起眼但影响巨大的工程改动——它让「把网络堆得很深」变得可行。


参数量都花在哪

一个 Transformer 层的参数主要是两块:

部分 占比
注意力的 约 1/3
前馈网络(FFN) 约 2/3

FFN 通常把维度扩大 4 倍再压回来),所以参数量大。

有一个流行的观点:注意力负责「在词之间搬运信息」,FFN 负责「存储知识」。 模型记住的事实性知识,很大程度在 FFN 的权重里。


为什么这个架构能一统天下

优势 说明
并行度高 训练时整句同时算,充分利用 GPU
可扩展 层数、宽度、头数都能直接放大,效果稳定提升
通用 换成图像块就是 ViT,换成音频帧就能做语音

第三条最惊人:同一个架构,几乎不改动地迁移到了图像、音频、蛋白质序列、时间序列。这是深度学习史上罕见的通用性。

练习:为什么「仅解码器」架构能同时做翻译、摘要和问答?把这三个任务各写成一个「续写」的形式试试。

小纸条

Transformer 的三种变体分别擅长什么?为什么「仅解码器」路线成为大模型主流?

登录 后可看答案