ChatGPT系列语言模型的开端--GPT-1

大家好,我是船长。本次给大家带啦关于GPT-1的讲解知识,下文没有公式,讲的也是很容易懂的~

整体架构

GPT-1的训练过程采用了预训练和微调的二段式训练策略。在预训练阶段,GPT-1模型基于大规模的语料进行无监督预训练,得到文本的语义向量。具体来说,GPT-1采用了标准语言模型,即通过上文预测当前的词。


ChatGPT系列语言模型的开端--GPT-1


从上图可以看出,GPT-1 只使用了 Transformer 的 Decoder 结构,而且只是用了 Mask Multi-Head Attention。Transformer 结构提出是用于机器翻译任务,机器翻译是一个序列到序列的任务,因此 Transformer 设计了Encoder 用于提取源端语言的语义特征,而用 Decoder 提取目标端语言的语义特征,并生成相对应的译文。


GPT-1 目标是服务于单序列文本的生成式任务,所以舍弃了关于 Encoder 部分以及包括 Decoder 的 Encoder-Decoder Attention 层(也就是 Decoder中 的 Multi-Head Atteion)。而这一步也能够节省大量的实验参数,因为大家Attention矩阵里面至少有三个大矩阵用于计算,也即矩阵Q、K、V。


GPT-1 保留了 Decoder 的Masked Multi-Attention 层和 Feed Forward 层,并扩大了网络的规模。将层数扩展到12层,GPT-1还将Attention的维数扩大到768(原来为512),将 Attention 的头数增加到12层(原来为8层),将 Feed Forward 层的隐层维数增加到3072(原来为2048),总参数达到1.5亿。而BERT模型和GPT-1的模型区别,就是在图中,BERT是模型当中的Encoder部分,而GPT-1是模型当中的Decoder部分。


对于 位置编码的部分,实际上GPT-1和普通的Transformer的区别还是很大的,普通的Transformer的位置编码,是由余弦+正弦的方式学习出来的,而GPT-1中,采用与词向量相似的随机初始化,并在训练中进行更新,即是把每一个位置当做一个要学习的embedding来做。其实这点在后续的Transformer历史中,也是有着同样的做法,把每个位置当做是一个token来学习,是简单高效的。


下游任务

ChatGPT系列语言模型的开端--GPT-1

接下来在下游任务的fine-tune过程当中,可以看到GPT的各种不一样的玩法。其实仔细的研究一下可以发现,基本上都是一个Transformer+一个线性层来表达的,不同的地方在于模型的输入部分。而需要注意的另外一个细节,是fine-tune的loss函数,既包含了下游任务的loss,也包含了语言模型的loss(预测下一个单词),这么做的目的是在做垂直领域任务的时候,保持着自己本身的这种语言模型的性质,不要把语言本身给忘掉。


针对不同的下游任务,需要对输入进行转换,从而能够适应 GPT-1 模型结构,比如:

ChatGPT系列语言模型的开端--GPT-1


分类任务:只需要在输入序列前后分别加上开始(Start)和结束(Extract)标记即可。


ChatGPT系列语言模型的开端--GPT-1


句子关系任务:除了开始和结束标记,在两个句子中间还需要加上分隔符(Delim)。所以就是两句话去预测是否存在上下文的关系。

ChatGPT系列语言模型的开端--GPT-1


文本相似性任务:与句子关系判断任务相似,不同的是需要生成两个文本表示。

ChatGPT系列语言模型的开端--GPT-1


多项选择任务:文本相似任务的扩展,两个文本扩展为多个文本。


对于GPT-1感兴趣的小伙伴可以研究一下他的代码,链接地址在minGPT,观摩一下他写的GPT代码是受益匪浅的。


https://github.com/karpathy/minGPT



这次和身边的小伙伴做了一个ChatGPT聊天机器人,目前是全部免费的,欢迎大家来体验~ 下面告诉大家该如何使用。前段时间由于封号,目前已经修理好供大家使用。


Step1:关注公众号


Step2:发送:key

目前的key值为:238715


建议大家关注公众号,因为key会以日/周的频率进行更换,防止被黑客攻击。我们也制定了一系列防火墙策略,防止被入侵。


那么具体这个机器人能干嘛呢?

闲聊          

ChatGPT系列语言模型的开端--GPT-1


文章书写          

ChatGPT系列语言模型的开端--GPT-1

百科问答          

ChatGPT系列语言模型的开端--GPT-1


代码书写          

ChatGPT系列语言模型的开端--GPT-1




关于ChatGPT的出现,各行各业都开始争相涌入,船长本人也很看好这个方向,为了紧跟时代潮流以及不断学习,船长本人创建了一个知识星球:ChatGPT与AIGC。船长本人推出了减一百优惠券供大家使用(所剩不多),加入星球内三天内不满意可以全额退款


ChatGPT系列语言模型的开端--GPT-1

ChatGPT系列语言模型的开端--GPT-1


ChatGPT系列语言模型的开端--GPT-1


那么本星球有啥亮点呢?           

  1. 嘉宾阵容,我们有来自各个大厂的算法工程师,开发工程师,以及技术总监,还有擅长变现的自由工作者。


  2. 强大的算法知识,包括语言模型训练,训练数据,强化学习,Instruct Learning等强悍的代码实操。


  3. 免费使用的ChatGPT接口。是的你没有看错,对于知识星球内的朋友,搭建了一个免费的chatgpt,在手机上和电脑上就可以使用的ChatGPT,能在工作生活给大家提供更多的便利。进群之后即刻发送。


ChatGPT系列语言模型的开端--GPT-1

免费使用的界面


最后祝大家玩的愉快,发现什么好玩的记得评论区里敲出来~,如果对于技术讨论有兴趣,也可以加入船长的微信讨论群~ ,目前1群人数过多,2群已经打开了!


ChatGPT系列语言模型的开端--GPT-1

如果二维码过期,记得加船长微信来拉你进来~




你好,我是一个毕业于美国Top10学校的算法工程师,先后就职于三家大厂,个人喜好极其广泛,擅长深度思考,喜欢思维锻炼。公众号(船长尼莫)旨在和读者共同进步,会有原创的算法知识分享、工作求职分享、学者访谈、关于互联网的深度思考读书分享等等。评论区可以和我积极互动,也可以写下你想看的内容~😏,点赞关注下吧!



返回:ChatGPT系列语言模型的开端--GPT-1

本文由“公众号文章抓取器”生成,请忽略上文所有联系方式或指引式信息。有问题可以联系:五人工作室,官网:www.Wuren.Work,QQ微信同号1976.424.585