ChatGPT技术解析之:GPT1GPT2与GPT3本文是ChatGPT算法技术解析的第二篇,图解GPT的技术细节与发

1、EncoderVSDecoder:Bert与GPT1之战

2、Zero-shot:GPT2

3、大力出奇迹的奇迹:GPT3

4、总结

2017年,Google推出Transformer,利用Attention完全替代过往深度学习中的Recurrence和Convolutions

结构,直白地展现出了“大一统模型”的野心,"xxxisALLyouneed"也成了一个玩不烂的梗。

2018年6月,openAI推出基于TransformerDecoder改造的第一代GPT(GenerativePre-Training),有效证明了在NLP领域上使用预训练+微调方式的有效性。紧随其后,同年10月Google推出基于TransformerEncoder部分的Bert,在同样参数大小的前提下,其效果领跑于GPT1,一时成为NLP领域的领头羊。

不甘示弱的openAI在4个月后,推出更大的模型GPT2(GPT1:110M,Bert:340M,,GPT2:1.5B),同时,openAI也知道,光靠增加模型大小和训练数据集来获得一个和Bert差不多效果的模型,其实是没有技术含量的。于是,在GPT2里,openAI引入zero-shot并证明了其有效性。

此后,openAI在LLM上义无反顾地走了下去,在2020年6月推出巨人GPT3,参数量高达175B,各类实验效果达到顶峰,(据说)一次训练费用为1200w美元,“贵”也成了普通工业界踏足GPT系列的壁垒之一。

在CV里,pre-training+fine-tune的方式盛行已久:先用海量有标注的数据集,通过有监督的训练生成一个预训练模型,然后通过下游任务,在这个模型上做微调。但是在NLP中,这个方式一直很难做起来,原因是:

Transformer出世后,模型对文字上下文的理解能力得到显著增强,在这一铺垫下,GPT1诞生了,它的整体设计思路如下:

确定好了总体设计思想,接下来就是详细的技术实践了。GPT1的预训练模型基本遵循TransformerDecode部分的结构,去除掉和Encoder做cross-attention的部分,如下图:

观察Decoder和Encoder部分的Attention,可以发现:

两者计算细节上的区别如下:

普通Attention:

MaskedAttention:这里的+号并不表示数值相加,只表示在相对位置上是否存在遮挡。数字1表示需要遮挡的位置。可以看出模型只能看到它前面的文字

有了一个预训练模型,我们就可以做fine-tune了。在这里,我们让模型做4种有监督的学习:

前文说过,在fine-tune阶段,我们希望能够尽量减少模型架构的改动,因此,论文中采用了如下方法,对这四种监督任务的输入输出做了统一:

左边是GPT1一个block的基本架构(前文说过,基本等同于Transformer的Decoder部分,去掉cross-attention)。右边则是四种监督任务输入输出的大一统方式。我们以第一个Classification任务为例:

在整个过程里,模型需要额外训练的参数,就是最后一层Linear层,以及特殊符号的embedding,同时在整体参数上做gradientupdates,可以说改动是非常小的。

GPT1的模型参数为L=12,H=768,A=12,这个设置和后来Bert-Base一模一样,但后者的效果要好上很多。原因之一是,GPT采用Masked-Attention,对模型和训练数据的要求会更高,因为模型能读到的信息只有上文。而采用普通Attention的Bert在训练阶段就能同时读到上下文。这个性质决定了GPT模型越来越大的趋势。但是,长远来看,Masked-Attention是push模型更好理解文字的重要手段,毕竟在现实中,我们更希望培养模型知上文补下文,而不是单纯地做完形填空。

Bert的整体架构如下:

EncoderVSDecoder,BertVSGPT1,战火已经拉开,但是此时GPT1仍处在劣势。前面说过,基于Decoder的模型,模型和数据量越大,效果越好。但如果只做到这一点,从技术上来说又太逊色了,性价比也不高。因此,openAI从训练数据上进行改进,引入了zero-shot这一创新点,GPT2就诞生了。

GPT2的核心思想是:只要我的数据够多够好,只要我的模型够大够强。我可以直接去掉fine-tune,训练出一个通用的模型。

要了解这一点,我们先来看Zero-shot,One-shot和Few-shot的区别:

GPT2希望通过喂给模型Zero-shot类型的样本,不告诉模型“做什么”,“怎么做”,让模型自己去体会。但是,你总不能让所有的数据都长成图例里Zero-shot那样吧,那和去标注数据有什么区别?所以,这时候,语言的魅力就来了。一段普通的文字里,可能已经蕴含了“任务描述”、“任务提示”和“答案”这些关键信息。比如,我想做英法文翻译这件事,那么我从网上爬取的资料里可能有这样的内容:

”I’mnotthecleverestmanintheworld,butliketheysayinFrench:Jenesuispasunimbecile[I’mnotafool].“Ihatetheword‘perfume,”’Burrsays.‘It’ssomewhatbetterinFrench:‘parfum.’如果我把这样的文本喂给GPT,它是不是就能在学习文字接龙的过程里,领悟到英法互译这一点?如果我的数据集又多又棒,那GPT自主揣摩的能力是不是就能更强?所以,GPT2在训练数据上,玩出了花样。它从著名的在线社区Reddit上爬取训练数据(数据具有一定的问答特性),并按社区用户的投票结果筛选出优质的内容。在这个方式下,训练出了1.5B的GPT2,效果基本与Bert差不多。从实用性的角度上,GPT2并没有带来突破,但是,zero-shot的训练方式,却有效证明了NLP领域训练出一个完全通用模型的可行性,这一刻开始,LLM走AIGC的路初见萌芽,因为整个训练流程看起来就像是模型自主学习知识。

Zero-shot的方式被GPT2认证可行后,openAI就不得不开始考虑模型是否能真正做到强大了,毕竟现在只是和Bert持平而已。这一刻openAI开始悟过来,既然LLM要一路走到底,既然模型之大避免不了,那不如来得更彻底一些。GPT3沿用了去除fine-tune,只做通用模型的思路,同时技术上小做替换(sparseTransformer),然后在训练数据中引入Few-shot(毕竟完全不给模型任何显性提示,效果确实没达到预期),最终生成了一个大小高达175B的庞然大物,当然效果也是一骑绝尘的。

当你读到这里的时候,你已经发现了,GPT系列越写越短,和GPT的越来越大成正比。这也证实了GPT发展的核心思想:大力出奇迹。

GPT3.5会单独开一个篇章来讲解,来介绍GPT是怎么能写出代码的。回到GPT家族的总结上:

1、GPT的核心思想是:在NLP领域做pre-traning+fine-tune的框架,解决现实中缺乏文本标注的问题。

2、GPT基于TranformerDecoder,Bert基于TransformerEncoder。在训练阶段,GPT只能看见上文,Bert可以看见上下文。这也注定了GPT需要把模型做大,训练数据做丰富,才能达到超越Bert的效果。

3、从GPT2到GPT3,Zero-shot和Few-shot的方式使得模型能够去除fine-tune部分,训练一个通用的语言模型。

THE END
1.如何利用CHATGPT分析数据教你如何高效使用GPT工作!目前最火的话题莫过于Chat GPT了, 根据资料显示, Chat GPT目前月活用户已经突破1亿。相信不少人都在尝试使用Chat GPT帮助工作, 但是如何利用Chat GPT 来快速完成各种工作呢?今天给大家分享一些技巧 Chat GPT是什么?Chat GPT是OpenAl推出的一款基于GPT-4架构的大型语言模型, 它具有超强http://www.hlwwhy.com/ask/6705610.html
2.ChatGPT模型采样算法详解gpttemperatureChatGPT模型采样算法详解 ChatGPT 所使用的模型——GPT(Generative Pre-trainedTransformer)模型有几个参数,理解它们对文本生成任务至关重要。其中最重要的一组参数是temperature和top_p。二者控制两种不同的采样技术,用于因果语言模型(Causal language models)中预测给定上下文情景中下一个单词出现的概率。本文将重点讲解tehttps://blog.csdn.net/jarodyv/article/details/128994176
3.chatgpt的算法原理介绍ChatGPT的算法原理是基于GPT-3,通过人工标注的方式训练出一个强化学习的冷启动模型与奖励反馈模型,最后通过强化学习的方式训练出一个对话友好型的ChatGPT模型。以下是具体步骤: 1. 从GPT-3的输入语句数据集中采样一部分输入,然后人工标注期望得到的输出结果和行为。这些标注数据用于有监督地训练GPT-3模型,得到一个指令https://www.150cn.com/Article/2111.html
4.机器学习的核心算法是都是公开的ChatGPT的核心算法是Transformer机器学习的核心算法是都是公开的 ChatGPT的核心算法是Transformer Model 这还是谷歌2017年发布的算法 调整参数是一个非常困难的工作 但这本身并不是一个壁垒 比如量化交易公司的算法是绝密且困难的工作 但这本身并不是壁垒 只有专利是真真正正的壁垒 只有专利意味着必定后无来者 https://xueqiu.com/3976999949/242252671
5.剧中的压缩算法是否可行,我问了Chatgpt(硅谷第一季)剧评剧中的压缩算法是否可行,我问了Chatgpt 回答如下: 在《硅谷》剧中,主人公理查德(Richard)和他的团队开发的压缩算法“波多黎各”(Pied Piper)是一种非常强大的数据压缩算法,可以将音频、视频等数据压缩到非常小的尺寸,同时保持高质量的输出。虽然这个算法在剧中取得了很大的成功,但是从技术角度来看,这个算法在现实中https://movie.douban.com/review/15003427/
6.算法对付算法,斯坦福大学严查ChatGPT代写论文算法对付算法,斯坦福大学严查ChatGPT代写论文 发现更多热门视频 淄博职业学院通报“学生突发疾病禁止男性医护人员进入宿舍”:已达成和解 第一帮帮团6942次播放 美国网民拍到两架F-117低空飞行 空警世界3.9万次播放 这是在巴基斯坦的网友拍摄到,他看到几个人手搓客车… 戏剧人生窥世8800次播放 张本:发哪你都能接,https://video.sina.cn/finance/2023-01-29/detail-imycvtrt0393619.d.html?pt=mlist
7.ChatGPT原理理解和结构解读〖前言〗问了200+个问题后,终于完全搭建起来对Chat@GPT本身的原理理解和结构了解,形成的理解文件90%的内容都是他生成的。但是结构化这篇文章以及深入时刻,是自己完成的。今后的学习和工作可能都需要和他来共同完成了。 1 从概率角度理解生成式模型原理 https://www.jianshu.com/p/0628b1bd2c48