学习目标
- 用一条主线看懂 Transformer、BERT、GPT、T5
- 理清 Encoder-only、Decoder-only、Encoder-Decoder 的区别
- 知道序列标注这类任务为什么更适合 BERT
先抓住主线
如果把大模型的发展压缩成一句话,那就是:
Transformer 提供了统一底座,BERT、GPT、T5 则是在这个底座上,分别走了三条不同路线。
- BERT:更擅长“理解”
- GPT:更擅长“生成”
- T5:把各种任务统一成“输入一段文本,输出一段文本”
所以学这几类模型时,最重要的不是死记细节,而是先想明白:它们都来自 Transformer,只是结构选择和训练目标不同。
Transformer 到底解决了什么问题
Transformer 的核心价值,是让模型能更高效地看上下文关系。
一段文本进入模型后,大致会经历这几步:
- 先把词变成向量
- 再加上位置信息,告诉模型谁在前谁在后
- 用注意力机制判断“当前词该重点关注谁”
- 经过前馈网络继续提取特征
其中最关键的是注意力机制。通俗理解,就是模型在读一句话时,不会平均看每个词,而是会动态判断:
“我现在理解这个词,最该参考前面哪几个词?”
多头注意力则相当于“从多个角度同时看一句话”,比如有的头更关注主语,有的头更关注动作,有的头更关注长距离依赖。
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 不是只给整句话打一个标签,它也能给句子里的每个位置打标签。
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 = 编码后再生成
最后总结
这几篇文章其实讲的是同一件事的不同侧面:
- Transformer 是底层通用架构
- BERT 代表 Encoder-only,擅长理解
- GPT 代表 Decoder-only,擅长生成
- T5 代表 Encoder-Decoder,擅长统一文本到文本任务
- 序列标注 是 BERT 很典型的落地场景,本质是对每个 token 做分类
如果你刚学到这里,只要先把这条主线记住,后面再看微调、指令对齐、RAG、Agent,就会轻松很多。
详细基础可参考 transformer型架构 。