写在前面
上一篇文章我们主要介绍 Bert,了解到通过训练 Bert 网络我们能得到更好的词向量表达方式,且词向量可以通过微调应用到不同的下游任务当中。我们知道 Bert 主要基于 Transformer 结构,此处再补充一点,实际中 Bert 主要使用 Transformer 结构的 encoder(编码器)结构进行训练。而 GPT 主要是基于 Transformer 的 decoder(解码器)实现,同时还需使用强化学习、人为标注方法对模型进行优化,最终基于 GPT 来实现 ChatGPT。这篇应该就是最后的 ChatGPT 文章了,如果有想要使用的同学可以参考下该博客链接
GPT
ChatGPT 的前身就是 GPT,GPT 和 Bert 类似,也是基于 Transformer 结构实现的,但它里面主要使用的是解码器结构,编码器和解码器都是基于自注意力实现的,结构很相似,但也有一些区别,实际上编码器和解码器的区别主要在于:
1. 输入的 token 经过网络模块的次数不同。编码器为多个 token 表示的一句话,只需输入一次;解码器则需要多次
地输入每个词的 token,以此来生成新的词 token,直到预测的词为一个结束的标记 "<eos>"。
2. 网络结构不同。编码器中主要以自注意力机制、残差块、feed forward 三个模块形成一个大的编码器模块;
解码器