在GPT出现后,谷歌18年推出了Bert,19年时openAI又推出了GPT-2
一、共同点
- Bert和GPT-2都采用的是transformer作为底层结构~
- 效果都惊人的好
二、差异
- 语言模型:Bert和GPT-2虽然都采用transformer,但是Bert使用的是transformer的encoder,即:Self Attention,是双向的语言模型;而GPT-2用的是transformer中去掉中间Encoder-Decoder Attention层的decoder,即:Marked Self Attention,是单向语言模型。
- 结构:Bert是pre-training + fine-tuning的结构;而GPT-2只有pre-training。
- 输入向量:GPT-2是token embedding + prosition embedding;Bert是 token embedding + position embedding + segment embedding。
- 参数量:Bert是3亿参数量;而GPT-2是15亿参数量。
- Bert引入Marked LM和Next Sentence Prediction;而GPT-2只是单纯的用单向语言模型进行训练,没引入这两个。
- Bert不能做生成式任务,而GPT-2可以。
下面用表格形式总结一下Bert与GPT-2的差异: