GPT系列初探

GPT1

其实出现在BERT前,也算是现在大规模预训练模型的开始,奈何效果没有bert好,所有反而没有bert出名,它用的是一个decoder的架构去做的预训练,是一个自回归的模型。

gpt预训练的一个目标函数有两个,第一个是基础的下一个词预测任务,选择一个K窗口,将窗口中的K个词的embedding作为条件去预测下一个词

第二个是一个分类任务,一段话给一个标签,然后去预测这标签

他作为预训练微调时的目标函数是这两个函数的和

他在下接下游任务的时候,是将输入放入到transformer的decoder中,跟bert一样,使用预训练的参数,然后将特征加入到后续的一个FFN中,如下图所示:

他的层数是12层加768维,bert就是为了跟他做对比实验,才将自己的参数设置成这样的。

 GPT2

 GPT2是open ai为了回应bert,所做的一个反击,他首先是参数量大大增加了,bert large的参数总量也就是3.4亿,但是GPT2直接跳到了15亿,他的模型结构是基本没有变的,只是增加了层数参数,但是在模型架构训练目标函数上和1没有区别,他的卖点是 zero-shot也就是不需要微调,我的任何任务直接能拿来就用,正是因为zero-shot的设定,它没有在输入上加那些特殊符号,而是用一个text做前缀提示后续输入的形式,做法就是跟T5是一样的,可以看我上一篇文章。他的数据集是一个自己爬的超大的数据集。下面是它模型参数第一个设定,可以看出,非常大。

GPT3

3代模型就更大了,但是架构上他基本是就是按照12代做的,模型结构上区别也不大,模型训练和2也没太大区别,就是一个多任务的学习,GPT一共有1750亿个参数,模型大小是bert的上百倍,gpt3可以做zero-shot,也可以做one-shot,也可以做few-shot,顾名思义,一个是不需要微调,一个是用一个句子做微调,另一个是只用三两句句子做微调,其实他不做微调也不仅仅是因为特点,我觉得也有很大是因为,普通人办法去微调他,1750亿个参数太夸张了,你要跑一次这个模型,是不可以的,所有只能这样去使用它,

他的一个prompt是箭头,用来提示你可以进行一个任务预测了,任何前面再加上一个TEXT-TEXT形式的输入提示。

 GPT的参数量是非常夸张的。

数据集它自己做了一个从redit上爬下来的自己清洗过的数据集,任何把gpt123bert的数据集全都用上了。

数据量也非常夸张。他基本是就是gpt2一个上百倍体量的版本,

不得不说,大力出奇迹。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值