常见的预训练 NLP 模型介绍
1 课程概览
本课介绍 NLP 中常见的预训练模型。分为三大类:自回归模型(AR,主生成)、自编码模型(AE,主理解)、编码解码模型(Encoder-Decoder,混合)。AR 代表作 GPT,AE 代表作 BERT,Encoder-Decoder 代表作 T5。目前市场上 90% 以上是 AR 模型的天下(AIGC)。
2 核心概念与定义
- 自回归模型(AR, Auto-Regressive):主生成,使用 Transformer 的解码器。
- 自编码模型(AE, Auto-Encoder):主理解,使用 Transformer 的编码器。
- 编码解码模型(Encoder-Decoder):混合模型,既用编码器又用解码器。
3 模型与算法详解
三大类别
| 类别 | 名称 | 使用 Transformer | 主要任务 | 代表作 |
|---|---|---|---|---|
| AR | 自回归模型 | 解码器 | 生成 | GPT |
| AE | 自编码模型 | 编码器 | 理解 | BERT |
| Encoder-Decoder | 编码解码模型 | 编码器+解码器 | 理解+生成 | T5 |
自回归模型(AR)
主生成,使用 Transformer 的解码器。
- 从左向右生成
- 单向(只能利用上文或下文)
- 不能双向
- 适用于:自然语言生成、论文摘要、机器翻译
- 代表作:GPT、GPT2、Transformer-XL、XLNet
自编码模型(AE)
主理解,使用 Transformer 的编码器。
- 双向(同时利用上下文)
- 适用于:文本理解任务
- 代表作:BERT
编码解码模型(Encoder-Decoder)
混合模型,既用编码器又用解码器。
- 既能做理解,也能做生成
- 模型大,算力要求高
- 什么都不专精
- 代表作:BART、T5
市场现状
目前 90% 以上是 AR 模型的天下(AIGC)。
- 市场上能叫出名字的大模型
- 90% 以上做自然语言生成任务
- AIGC 时代:AI 生成万事万物
编码器 vs 解码器
| 组件 | 主要任务 |
|---|---|
| 编码器 | 主理解 |
| 解码器 | 主生成 |
4 数学原理与推导
自回归模型(AR)
从左向右生成,预测下一个词。
$$P(w_1, w_2, ..., w_n) = \prod_{i=1}^{n} P(w_i | w_1, w_2, ..., w_{i-1})$$
自编码模型(AE)
双向,同时利用上下文。
$$P(w_i | w_{\text{context}}) = P(w_i | w_1, ..., w_{i-1}, w_{i+1}, ..., w_n)$$
编码解码模型
$$\text{output} = \text{Decoder}(\text{Encoder}(\text{input}))$$
5 代码示例
# 预训练模型分类示例(概念代码)
# 1. 自回归模型(AR)- 主生成
# 代表作:GPT
# 使用 Transformer 的解码器
ar_models = {
"GPT": "OpenAI 的生成模型",
"GPT2": "GPT 的改进版",
"Transformer-XL": "长序列处理",
"XLNet": "结合自回归和自编码"
}
# 2. 自编码模型(AE)- 主理解
# 代表作:BERT
# 使用 Transformer 的编码器
ae_models = {
"BERT": "Google 的理解模型",
"RoBERTa": "BERT 的改进版",
"ALBERT": "轻量级 BERT"
}
# 3. 编码解码模型 - 混合
# 代表作:T5
# 使用 Transformer 的编码器和解码器
encoder_decoder_models = {
"BART": "Facebook 的序列到序列模型",
"T5": "Google 的文本到文本转换模型"
}
# 打印
print("=== 自回归模型(AR)- 主生成 ===")
for name, desc in ar_models.items():
print(f" {name}: {desc}")
print("\n=== 自编码模型(AE)- 主理解 ===")
for name, desc in ae_models.items():
print(f" {name}: {desc}")
print("\n=== 编码解码模型 - 混合 ===")
for name, desc in encoder_decoder_models.items():
print(f" {name}: {desc}")
print("\n=== 市场现状 ===")
print("目前 90% 以上是 AR 模型的天下(AIGC)")
6 重难点与易错提醒
- ❗重点:AR 主生成,使用解码器;AE 主理解,使用编码器。
- ❗重点:编码解码模型既用编码器又用解码器。
- ❗重点:目前 90% 以上是 AR 模型的天下。
- ⚠️易错:AR 是单向的,AE 是双向的。
- 💡深入理解:编码解码模型什么都不专精。
7 课堂问答精选
Q1:预训练模型分为哪几类?
A:分为三大类:①自回归模型(AR),主生成,使用解码器;②自编码模型(AE),主理解,使用编码器;③编码解码模型,混合,使用编码器和解码器。
Q2:AR 和 AE 的区别是什么?
A:AR 主生成,使用 Transformer 的解码器,单向(从左向右);AE 主理解,使用 Transformer 的编码器,双向(同时利用上下文)。
Q3:编码解码模型有什么特点?
A:既用编码器又用解码器,既能做理解也能做生成。但模型大,算力要求高,什么都不专精。代表作:BART、T5。
Q4:目前市场上哪种模型最流行?
A:目前 90% 以上是 AR 模型的天下(AIGC)。市场上能叫出名字的大模型,90% 以上做自然语言生成任务。
8 本课小结
- 三大类:AR(主生成)、AE(主理解)、Encoder-Decoder(混合)。
- AR 代表作:GPT;AE 代表作:BERT;Encoder-Decoder 代表作:T5。
- AR 使用解码器,单向;AE 使用编码器,双向。
- 目前 90% 以上是 AR 模型的天下(AIGC)。
9 延伸思考
- 如何使用 Transformers 库加载这些模型?
- Pipeline 方式如何使用?