第 28 篇 · 深度学习架构

BERT vs GPT——预训练模型的两个流派

BERT和GPT是NLP领域的两位「大佬」。它们都基于Transformer架构,但走了完全不同的道路。

BERT(Bidirectional Encoder Representations from Transformers)用的是Transformer的编码器,GPT(Generative Pre-trained Transformer)用的是Transformer的解码器。

这区别不是架构上的小差异,而是两种完全不同的设计哲学。

1
架构差异:编码器 vs 解码器

Transformer有两个部分:编码器(Encoder)和解码器(Decoder)。BERT只用编码器,GPT只用解码器。

BERT vs GPT 的架构
BERT

编码器 (Encoder)

双向自注意力

能看到整个序列

特点:同时看到前面的和后面的词

GPT

解码器 (Decoder)

单向自注意力

只能看到前面的词

特点:生成式,预测下一个词

🔑
核心区别:BERT是双向的(看到全部),GPT是单向的(只看到前面)。
预训练任务

2
预训练任务:怎么让模型学习?

预训练就是用大量无标注文本让模型学习语言知识。BERT和GPT用了不同的预训练任务。

BERT的预训练

Masked Language Modeling (MLM)

随机把一些词遮住(比如用[MASK]),让模型预测被遮住的词

例子:「今天[MASK]很好」→ 模型预测「天气」

GPT的预训练

Causal Language Modeling (CLM)

根据前面的词预测下一个词

例子:「今天」→ 预测「天气」→ 预测「很好」

类比理解:BERT像完形填空题——给你一篇文章,挖掉一些空,让你填空;GPT像接龙游戏——给你前半句,让你接着说。

3
各有所长:理解 vs 生成

由于架构和预训练任务的差异,BERT和GPT擅长不同的任务:

BERT vs GPT 的应用场景
BERT的强项

文本理解任务

• 文本分类(情感分析、垃圾邮件识别)

• 命名实体识别(人名、地名、机构名)

• 问答系统(阅读理解)

• 相似度计算

GPT的强项

文本生成任务

• 文本续写

• 机器翻译

• 对话系统

• 代码生成

4
发展历程:从BERT到GPT-4

时间线大致是这样的:

2018📅

BERT诞生

Google发布BERT,刷新11项NLP任务记录,掀起预训练模型热潮。
2018📅

GPT-1诞生

OpenAI发布GPT-1,但相比BERT影响力不大。
2020📅

GPT-3惊艳

GPT-3展现惊人的few-shot学习能力,开始展现通用智能的苗头。
2023+📅

GPT-4和ChatGPT

GPT-4成为当今最强的语言模型,ChatGPT让大众真正体验到AI的力量。
总结

🎓 一句话总结

  • BERT = 编码器 + MLM预训练,双向注意力,擅长理解
  • GPT = 解码器 + CLM预训练,单向注意力,擅长生成
  • BERT应用 = 分类、NER、QA、相似度计算
  • GPT应用 = 文本生成、翻译、对话、代码生成

下篇预告

第29篇:大语言模型(LLM)的奥秘——参数、预训练、微调

GPT-3有1750亿参数,LLaMA有700亿参数。这些大模型是怎么训练出来的?预训练、微调、RLHF...这些步骤背后有什么逻辑?下一篇,我们来拆解大语言模型的诞生过程。

✏️ 手绘图解 · AI Catch 出品

第 28 篇 / 深度学习架构篇