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只用解码器。
编码器 (Encoder)
双向自注意力
能看到整个序列
特点:同时看到前面的和后面的词
解码器 (Decoder)
单向自注意力
只能看到前面的词
特点:生成式,预测下一个词
2预训练任务:怎么让模型学习?
预训练就是用大量无标注文本让模型学习语言知识。BERT和GPT用了不同的预训练任务。
Masked Language Modeling (MLM)
随机把一些词遮住(比如用[MASK]),让模型预测被遮住的词
例子:「今天[MASK]很好」→ 模型预测「天气」
Causal Language Modeling (CLM)
根据前面的词预测下一个词
例子:「今天」→ 预测「天气」→ 预测「很好」
类比理解:BERT像完形填空题——给你一篇文章,挖掉一些空,让你填空;GPT像接龙游戏——给你前半句,让你接着说。
3各有所长:理解 vs 生成
由于架构和预训练任务的差异,BERT和GPT擅长不同的任务:
文本理解任务
• 文本分类(情感分析、垃圾邮件识别)
• 命名实体识别(人名、地名、机构名)
• 问答系统(阅读理解)
• 相似度计算
文本生成任务
• 文本续写
• 机器翻译
• 对话系统
• 代码生成
4发展历程:从BERT到GPT-4
时间线大致是这样的:
BERT诞生
GPT-1诞生
GPT-3惊艳
GPT-4和ChatGPT
🎓 一句话总结
- ①BERT = 编码器 + MLM预训练,双向注意力,擅长理解
- ②GPT = 解码器 + CLM预训练,单向注意力,擅长生成
- ③BERT应用 = 分类、NER、QA、相似度计算
- ④GPT应用 = 文本生成、翻译、对话、代码生成
→下篇预告
第29篇:大语言模型(LLM)的奥秘——参数、预训练、微调
GPT-3有1750亿参数,LLaMA有700亿参数。这些大模型是怎么训练出来的?预训练、微调、RLHF...这些步骤背后有什么逻辑?下一篇,我们来拆解大语言模型的诞生过程。
✏️ 手绘图解 · AI Catch 出品
第 28 篇 / 深度学习架构篇