Transformer三大架构精华版

用一篇短文快速理清 Transformer、BERT、GPT、T5 的关系,以及序列标注这类典型任务该怎么理解。

学习目标

  • 用一条主线看懂 Transformer、BERT、GPT、T5
  • 理清 Encoder-only、Decoder-only、Encoder-Decoder 的区别
  • 知道序列标注这类任务为什么更适合 BERT

先抓住主线

如果把大模型的发展压缩成一句话,那就是:

Transformer 提供了统一底座,BERT、GPT、T5 则是在这个底座上,分别走了三条不同路线。

  • BERT:更擅长“理解”
  • GPT:更擅长“生成”
  • T5:把各种任务统一成“输入一段文本,输出一段文本”

所以学这几类模型时,最重要的不是死记细节,而是先想明白:它们都来自 Transformer,只是结构选择和训练目标不同。


Transformer 到底解决了什么问题

Transformer 的核心价值,是让模型能更高效地看上下文关系。

一段文本进入模型后,大致会经历这几步:

  1. 先把词变成向量
  2. 再加上位置信息,告诉模型谁在前谁在后
  3. 用注意力机制判断“当前词该重点关注谁”
  4. 经过前馈网络继续提取特征

其中最关键的是注意力机制。通俗理解,就是模型在读一句话时,不会平均看每个词,而是会动态判断:

“我现在理解这个词,最该参考前面哪几个词?”

多头注意力则相当于“从多个角度同时看一句话”,比如有的头更关注主语,有的头更关注动作,有的头更关注长距离依赖。


Transformer 的三种结构

Transformer 发展到大模型里,主要分成三类:

架构 代表模型 核心特点 更适合什么
Encoder-only BERT 双向看上下文 理解、分类、序列标注
Decoder-only GPT 只看前文,逐词生成 对话、续写、生成
Encoder-Decoder T5 先理解输入,再生成输出 翻译、摘要、问答、统一文本生成

你可以这样记:

  • Encoder-only 像“阅读理解型选手”
  • Decoder-only 像“续写型选手”
  • Encoder-Decoder 像“先读题,再作答的选手”

BERT:强在理解

BERT 采用的是 Transformer Encoder,最大的特点是双向建模

比如看到一句话里的某个词,BERT 不只看左边,也会看右边,所以它更适合理解类任务。

BERT 主要学什么

BERT 预训练时重点做两件事:

  • Masked LM:把一句话里的部分词遮住,让模型猜回来
  • NSP:判断两句话是不是上下句

这让 BERT 学到的能力更偏向“理解句子含义”。

BERT 适合哪些任务

常见有三类:

  • 单句分类:情感分析、意图识别
  • 句对分类:文本匹配、相似度判断
  • 序列标注:NER、分词、词性标注

为什么序列标注适合 BERT

序列标注的本质,是给每个 token 单独分类

比如命名实体识别里,模型要判断每个字是人名、地点,还是普通词。这个任务很依赖上下文,而 BERT 恰好能同时看左右信息,所以特别合适。

你可以把它理解成:

BERT 不是只给整句话打一个标签,它也能给句子里的每个位置打标签。

详细版可参考 BERT详细介绍序列标注任务


GPT:强在生成

GPT 采用的是 Transformer Decoder,核心是单向自回归生成

所谓单向,就是预测当前词时,只能看前面的词,不能偷看后面的答案。

比如生成一句话:

  • 已经有“今天天气真”
  • 接下来预测“好”
  • 再根据“今天天气真好”继续往后生成

这就是 GPT 的基本工作方式。

GPT 为什么适合生成

因为它训练时做的就是最经典的语言模型任务:

根据上文,预测下一个词。

这种训练方式和真实生成过程天然一致,所以 GPT 在续写、对话、写作、代码生成这类任务上很强。

GPT 的训练思路

GPT 也遵循“预训练 + 微调”:

  • 预训练:先学通用语言规律
  • 微调:再适配分类、问答、蕴含等下游任务

它的短板也很明确:早期 GPT 是单向模型,做纯理解任务时,不如 BERT 这种双向模型自然。

详细版可参考 GPT详细介绍


T5:把任务统一成文本生成

T5 采用的是 Encoder-Decoder 架构,可以理解为:

  • Encoder 负责“读懂输入”
  • Decoder 负责“生成输出”

T5 最有代表性的思想是:把几乎所有 NLP 任务都改写成 Text-to-Text。

比如:

  • 翻译:输入“translate English to German: That is good”
  • 摘要:输入“summarize: …”
  • 问答:输入“question: … context: …”

最后输出都统一成文本。

T5 的价值

它最大的好处是任务形式统一了:

  • 同一套模型
  • 同一种训练思路
  • 同一种解码方式

这样模型迁移和扩展会更自然。

如果说 BERT 更像“做理解题”,GPT 更像“自由续写”,那 T5 更像“把所有题都改成问答题再做”。

详细版可参考 T5模型的详细介绍


三个模型怎么快速区分

可以只记这张脑图:

  • 想做句子理解、分类、序列标注,优先想到 BERT
  • 想做对话、续写、开放式生成,优先想到 GPT
  • 想做翻译、摘要、问答这类“输入一段,输出一段”,优先想到 T5

再压缩一点就是:

  • BERT = 双向理解
  • GPT = 单向生成
  • T5 = 编码后再生成

最后总结

这几篇文章其实讲的是同一件事的不同侧面:

  1. Transformer 是底层通用架构
  2. BERT 代表 Encoder-only,擅长理解
  3. GPT 代表 Decoder-only,擅长生成
  4. T5 代表 Encoder-Decoder,擅长统一文本到文本任务
  5. 序列标注 是 BERT 很典型的落地场景,本质是对每个 token 做分类

如果你刚学到这里,只要先把这条主线记住,后面再看微调、指令对齐、RAG、Agent,就会轻松很多。

详细基础可参考 transformer型架构