外观
BERT、GPT、ELMo 模型的对比
学习目标
- 掌握BERT、GPT、ELMo三种模型的核心区别
- 理解三种模型的适用场景
1 模型架构对比
| 模型 | 架构 | 双向性 | 预训练任务 |
|---|---|---|---|
| ELMo | 双向LSTM | 浅层双向 | 前向+后向LM |
| GPT | Transformer Decoder | 单向(左到右) | 语言模型 |
| BERT | Transformer Encoder | 深层双向 | MLM + NSP |
2 核心区别
2.1 ELMo vs BERT
ELMo:
- 使用LSTM作为基础结构
- 通过拼接前向和后向LSTM实现双向性
- 预训练任务是标准的语言模型
- 特征可以灵活地与下游任务结合
BERT:
- 使用Transformer Encoder作为基础结构
- 天然支持深层双向性
- 预训练任务是MLM和NSP
- 需要通过fine-tuning来适配下游任务
2.2 GPT vs BERT
GPT:
- 使用Transformer Decoder作为基础结构
- 单向自回归,从左到右预测
- 适用于文本生成任务
- 无法看到未来的上下文
BERT:
- 使用Transformer Encoder作为基础结构
- 双向,可以同时看到左右上下文
- 适用于文本理解任务
- 预训练时使用MASK机制
3 适用场景
- ELMo:适用于需要灵活特征表示的任务,可以与各种架构结合
- GPT:适用于文本生成、对话系统等需要生成能力的任务
- BERT:适用于文本分类、命名实体识别、问答等理解类任务
4 小结
- ELMo、GPT、BERT是三种重要的预训练语言模型
- ELMo采用LSTM架构,提供浅层双向表示
- GPT采用Transformer Decoder,提供单向表示,适合生成任务
- BERT采用Transformer Encoder,提供深层双向表示,适合理解任务
- 选择哪种模型取决于具体的任务需求