版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023年ChatGPT专题报告Attention注意力机制的基本原理1自然语言处理的发展历史回顾自然语言处理(NaturalLanguageProcessing,NLP)作为人工智能的重要研究方向,旨在帮助计算机理解、解释和运用人类语言。回顾NLP的主要发展历程,可大致分为三个阶段:1)上世纪80年代之前,人工智能开始萌芽,基于规则的语言系统占据主导;2)80年代之后,从机器学习的兴起到神经网络的引入,带动了NLP的快速发展和商业化;3)2017年至今,基于Attention注意力机制构建的Transformer模型开启了大语言模型时代。第一阶段:基于规则的语言系统。早在上世纪50年代前后,人工智能就已经诞生,1956召开了达特茅斯会议,首次正式提出了“人工智能”。1980年,自然语言处理的分为了两大阵营,分别为基于语言规则的符号派和基于概率统计的随机派,而当时基于规则方法的势头明显强于基于概率统计的势头,因此当时大多数NLP系统都使用复杂的逻辑规则,能够处理包括字符匹配、词频统计等一些简单的任务。同时在这一时期,也产生了一些机器翻译以及语言对话的初级产品,比较著名的是1966年MIT发布的世界上第一台聊天机器人Eliza,Eliza能够遵循简单的语法规则来实现交流。但总体来看,这一时期NLP领域形成的成果还无法商业化,包括机器翻译的成本还是远高于人工翻译,而且还无法与人真正实现基本的对话。第二阶段:从机器学习到神经网络。1980年美国的卡内基梅隆大学召开了第一届机器学习国际研讨会,标志着机器学习在全世界兴起,而自然语言处理也逐渐走向纯粹的统计学。90年代以后,神经网络模型被引入到NLP领域,其中最著名的两个神经网络模型为循环神经网络(RecurrentNeuralNetwork,RNN)和卷积神经网络(ConvolutionalNeuralNetworks,CNN),特别是RNN因其处理序列数据的特性,成为了大部分NLP模型的主流选择。2000年后,一方面Multi-tasklearning,WordEmbedding,Seq2seq等层出不穷的新技术推动了NLP技术的快速进步,另一方面NLP逐步实现了商业化,包括机器翻译、文本处理等商业化产品开始大量出现。第三阶段:基于Attention注意力机制构建的Transformer模型奠定了大语言模型的基础。2017年Google机器翻译团队发布了著名论文《AttentionisAllYouNeed》,提出了基于Attention注意力机制构建的Transformer模型,这也成为了NLP历史上的一个标志性的事件。相较于传统的神经网络,基于Attention注意力机制构建的Transformer模型在提升了语言模型运行的效率(效率更高),同时能够更好的捕捉语言长距离依赖的信息(效果更好)。2018年OpenAI公司的GPT以及Google公司的BERT均是基于Attention注意力机制与Transformer而构建,而NLP也正式进入到了大语言模型的全新阶段。2Attention注意力机制的基本原理注意力(Attention)机制与Transformer模型构建了大语言模型的基石。注意力(Attention)机制最早由Bengio团队在2014年提出,随后开始广泛应用在深度学习中的各个领域。Attention的思想很简单,它的最初灵感来源于人类的视觉,即当人用眼睛观察东西的时候,会首先快速扫描全局图像,然后再捕捉需要重点关注的目标区域,将视觉重点聚焦在这个目标区域,对重点区域投入更多注意力资源,同时忽略其他信息。因此Attention机制最早应用在计算机视觉领域,用于捕捉图像上的感受野,随后在NLP领域也开始得到应用,并且在NLP领域真正的发扬光大。2017年,Google机器翻译团队发布Transformer模型,在Transformer中抛弃了传统的CNN和RNN结构,整个网络完全是由Attention机制组成,2018年Google的BERT模型以及OpenAI公司的GPT模型都是在Transformer的基础上构建。在Attention注意力机制应用于NLP领域以前,大部分语言模型都是基于RNN及CNN所构建,特别是RNN处理序列信息的特性,使得其在NLP领域得以广泛应用。RNN对处理具有序列特性的数据非常有效,比如在自然语言处理领域,将每一个字或每一个词的组合作为一个序列;在语音处理领域,将每一帧的声音信号的组合作为一个序列;在时间序列方面,比如股价数据,将每一天或者每一时刻的股票价格的组合作为一个序列。因此通过利用了RNN处理序列数据的能力,在语音识别、机器翻译等领域中取得了很多成果,很多早期的NLP商业化产品都是基于RNN所构建。与此同时,为什么说后来的Attention机制优于之前的RNN以及CNN,可以从运算机制和算法思想等方面对三者的角度做一个直观对比。首先,RNN在NLP领域得到广泛应用的同时,其算法机制一直存在着两个缺点,第一个缺点就是语言的长距离信息会被弱化。比如在这样的长句子中:“原来是你把我的苹果拿走了,下次记得提前跟我说一声,我还得用它来发邮件呢”,我们要确定“苹果”指代的是苹果电脑/手机还是水果,就需要进行通过长距离的信息学习。由于在RNN模型中,对序列中的元素是按顺序处理的,比如在第一个RNN层中的第二个节点h2,它的计算是由第一个节点h1,即词向量1输入模型后得出的结算结果,以及词向量2的输入,二者共同决定的。在RNN模型中,两个词之间的交互距离可以认为是他们之间的相对距离,因此第1个词和第n个词之间的交互距离是n-1,因此如果一个序列足够长,RNN模型中的节点经过许多阶段的计算后,之前比较长的时间片的特征已经被覆盖,很难将将信息从较早的时间步传送到后面的时间步,距离越远的信息越容易被忽略掉。虽然在实际情况下,大多数词的词义在一个较小范围的上下文语义环境中就可以确定,对于一个更好的语言模型而言,我们的期望是模型能够更好的获取长距离的信息。RNN的第二个缺点就是RNN是串行处理机制所带来的计算效率低的问题。从RNN实现的原理来讲,是因为每个时间步(timestep)的计算,都依赖于对前一时间步的计算和输出结果,难以进行并行化运算进行加速。并且在长句中的每个时间步都包括一个memoryI/O操作,这导致了模型的性能严重受限于GPU的最大线程和最大内存带宽的约束。特别是在处理长句的训练样本时,RNN存在的模型运行速度慢的问题会体现的更加明显,因此导致了语言模型中能够堆叠RNN的数量受到了明显的限制。为了应对RNN模型存在的缺陷,一般会使用双向的RNN及LSTM长时间的短期记忆网络(LongShort-TermMemoryNetworks),比传统RNN在长距离信息识别方面有更好的表现。双向RNN结构作为RNN的变体,在使用一个RNN对序列中的元素从左往右进行处理的同时,另一个RNN对序列从右向左进行处理,因此能够在一定程度上优化对长距离信息的处理,可以考虑整个句子的信息,然而双向RNN的缺点在于需要完整数据的序列,比如语音识别系统中,必须等待一个人说完整句话,才能做出识别,这样就有一个比较长的等待时间。而LSTM作为一种带有门控(Gate)机制的RNN模型,是一种让信息选择式通过的方法,门控可以只保留有效信息来进行预测,并忘记不相关的数据。因此能够记住重要的信息,而忽略无关紧要的信息。LSTM虽然理论上可以对历史信息进行有选择的存储和遗忘,但是门控参数量一定的情况下,这种能力是一定的。随着句子的增长,相对距离的增大,存在明显的理论上限。相较于RNN在NLP领域的广泛应用,CNN此前较多应用于计算机视觉领域,同样,CNN也存在长距离信息丢失的问题。从CNN的运算机制来看,每一层的CNN每个节点覆盖的语义环境范围是一定的,这是由CNN存在的感受视野(ReceptiveField)所决定的,比如第一层CNN中第二个节点h2的计算只利用了词1、词2、词3的信息。而第二个CNN层覆盖的语义环境范围会变大,且越往上层覆盖的语义环境会变得越大。因此,在语言序列中,一个词首先会与自身距离较近的词发生交互,比如在第一层的第二个节点h2中,词1、词2、词3发生了交互,而距离较远的词,如词1和词n,则需要在高层上才能发生交互。因此词与词之间的信息的获取与相互关键,取决于它们之间的相对距离,距离越远,信息获取的难度也就越大,因此同样,CNN也存在语言序列的长距离信息依赖的问题。相较于RNN和CNN,Attention注意力机制的原理就是在每一层的计算中都考虑了词与词之间的全连接关系,在模型的并行化运算的同时,能够很好的解决长距离信息依赖的问题。从Attention的计算过程来看,一个语言序列中的每一个词和Attention中每一个节点都是全连接的关系,比如第一层中第一个节点h1的计算会考虑全部输入词1到词n的信息,而第一个Attention层和第二个Attention层之间的全部节点也都是全连接的关系,因此任意两个词之间的交互,与词与词之间的远近距离都不存在关系。句子中每个词义的确定,都考虑了与整个句子中所有的词的关系(计算量更大),因此这样能够更好的捕捉到长距离的信息,就算文本或者语句比较长,也能够抓住重点,不丢失掉重要的信息。同时,Attention模型是并行计算的,每一步计算不依赖于上一步的计算结果,可以并行处理语言序列数据,大幅提升了语言模型运行的效率,在运算机制上更加契合现代GPU的硬件架构。从Attention和CNN的关系来看,CNN可以看作是有注意力范围的Attention,而Attention则是实现了全连接的CNN。二者之间的区别就是CNN存在的感受野(ReceptiveField),有局部的归纳偏置,而Attention是全连接的,能够捕捉全局信息的。因此从训练难度的角度来说,Attention的难度更大,因为Attention没有做任何的局部归纳,因而也需要更多的数据。而早期CNN之所以更多的应用在视觉领域,是因为图片天然具有局部特征,因此CNN能做到在不需要非常多数据的情况下有比较好的效果。但是在NLP领域,Attention通常在数据量足够的时候,表现比CNN更优秀。Attention的数学原理来看,就是用数字来表达词与词之间的相关程度,当数字越大时,这两个词之间相关程度越高。比如在“原来是你把我的苹果拿走了,下次记得提前跟我说一声,我还得用它来发邮件呢。”这句话中,语言模型要去理解“苹果”指的是苹果电脑/手机还是水果,就需要计算苹果与这个句子中其他所有词包括之间的相关系数,用相关系数,或者说注意力分数来表达他们之间的相互联系,得出的分数越高,那么这两个词之间的相关程度就越高。比如在这个句子中,通过计算,能够发现“苹果”与“邮件”的分数较高,最终可以得出“苹果”指代的就是苹果电脑/手机,以此来实现了注意力机制。在Attention注意力机制中又包含了自注意力机制Self-Attention、交叉注意力机制Cross-Attention等,而自注意力机制Self-Attention就是Transformer等大语言模型的核心组成部分。自注意力机制指的不是输入语句和输出语句之间的Attention机制(不同输入),而是在输入语句的内部元素之间发生(同一输入),即在同一个句子内部实现注意力机制。Self-Attention的详细计算具体可分为以下三步:第一阶段,信息的预处理:词的向量化,句子的矩阵变换。在运行Attention机制之前,需要对输入模型的语句文本进行预处理,首先需要讲文本语句进行分词操作(Tokenization),即将语言序列切分成一个个字符串。对英文来说,分词操作为输出一个一个的单词,对中文来说分词操作为输出一个一个的字。然后,我们需要将字或词向量化(WordEmbeddings)(比如在我们输入的句子中每一个词都转化为一个向量,而这个句子则是一个矩阵,而Attention机制本质上就是对这个输入语句的矩阵进行了多次的矩阵变换)。在分词和向量化后,得到了向量序列(a1,a2,a3,a4),接下来需要对输入向量做矩阵变换,即用三个权重矩阵Wq,Wk,Wv(这三个权重矩阵实际上就是我们所需要训练的内容,因为其他输入都是既定的)与(a1,a2,a3,a4)分别相乘,得到三个向量序列Q(q1,q2,q3,q4),K(k1,k2,k3,k4),V(v1,v2,v3,v4)。由于在self-Attention中,Q、K、V都是由同一个矩阵变换而来,因此Q、K、V是同源的,而Q、K、V之间的相互计算Self-Attention(Q、K、V),则称之为自注意力。第二阶段,相关程度计算:计算出词与词之间的相关程度。在预处理之后,接下来需要通过Q和K来计算Attention相关度。比如计算第一个词与句子中的所有词(包括自己)的相关度,即用向量q1与向量k1,k2,k3,k4分别两两求点积(由两个向量的点积可以得到两个向量的相似度)。因此在每次输入了两个向量后,输出一个数,比如用q1和k1可以得出α1,1,而α1,1,α1,2,α1,3,α1,4则代表了第一个词与句子中所有词(包括自己)的相关程度,如果第一个词和第三个词关联性较高,那么α1,3的数值就会比较大。在计算完成之后,再使用Softmax函数归一化处理就得到了α1,1,α1,2,α1,3,α1,4,使得每一个数的范围都在(0,1)之间,且所有数之和为1。最后得到的α1,1,α1,2,α1,3,α1,4就代表了第一个词与其他词的相关系数。第三结算:输出最终结果:用相关系数来加权求和。在经过softmax的归一化处理得到了一组注意力系数α1,1,α1,2,α1,3,α1,4之后,最后再依次乘以预处理的第三个向量序列V(v1,v2,v3,v4),并求和,即α1,1*v1+α1,2*v2+α1,3*v3+α1,4*v4,得到输出结果b1,如果a1和a3关联性比较高,则α1,3的数值就会就比较大,而输出的向量b1就与向量v3更加接近,同理可以并行计算出b2、b3、b4。因此,回顾整个Self-Attention的计算过程,输入的是向量(a1,a2,a3,a4),输出的向量(b1,b2、b3、b4)就是attention的最终输出结果。3Transformer构建大模型的基石Transformer作为大语言模型的基础模型,分为编码器和解码器两大模块,实际模拟的是人类大脑从理解语言到表达语言的过程。从Transformer的结构来看,Transformer由Encoder编码器和Decoder解码器两个部分组成,具体而言是由6个编码器和6个解码器堆叠而成。而编码器-解码器结构作为语言模型的经典结构,它模拟的是大脑理解自然语言的过程,其中编码就是将语言转化成一种大脑所能理解和记忆的内容,而解码就是将大脑中所想的内容表达出来。比如在计算机训练语言模型的过程中,最初是不知道“你好”和“Hello”背后的意思的,也不知道他们所表达的含义是相关的,而模型学习的过程,就是将这两种不同的表达映射到同一个意识概念上。因此在以Transformer为代表的语言模型中,编码器的功能就是把自然语言序列映射为某种数学表达,而解码器则是再把这个数学表达映射为自然语言序列的过程。整个Transformer网络没有使用传统的CNN和RNN结构,而完全是由Attention机制组成,其中Self-Attention则是Transformer最核心的组成部分。首先看编码器Encoder的结构:编码器Encoder由两个子层组成,第一个子层为Muti-headAttention(多头注意力机制)+Add&Norm层,其中多Muti-headAttention是将多个Self-Attention拼接在一起,本质上仍是Self-Attention;第二个子层为FeedForwardNeuralNetwork(前馈神经网络)+Add&Norm层,这一层中通过引入了非线性函数(具体为ReLU激活函数,此前的自注意力层都是线性变换),能够使得神经网络中的神经元也具有了稀疏激活性,即能够帮助模型更好的挖掘相关特征,拟合训练数据。同时在两个子层中,均加入了Add&Norm层,Add&Norm包含Residualconnection(残差连接)和Normalization(标准化)两个部分,这也是此前语言模型中被验证过的有效的方法,即通过Residualconnection用于防止网络特征退化,而Normalization的使用可以加快模型的收敛速度。总的来说,Transformer中编码器Encoder的多层结构即为self-attention层与FeedForward层的堆叠使用,其中self-attention层是Transformer最核心的部分。Transformer的解码器Decoder与编码器Encoder在结构上有许多共同之处,二者的最大不同,就是解码器使用了带有遮盖的自注意力机制(MaskedSelf-attention)。解码器与编码器同样也是多层结构,即self-attention层与FeedForward层的堆叠使用,而二者的侧重点有所不同的是,Decoder是用来预测信息的,因此在训练预测能力的时候,模型需要将未来的信息遮盖住(只看上文),而不能提前看到训练的答案(不看下文),因此解码器采用了MaskedSelf-attention。MaskedSelf-attention与Self-attention在算法原理上的主要不同,即MaskedSelf-attention每一步的计算都只能依赖当前时刻以前的输出,而看不到当前时点之后的输出。比如在Self-attention中,输出的结果b2读取了所有的输入a1,a2,a3,a4…,而MaskSelf-attention中,b2只能读取a1,a2,而读取不了a3,a4…的信息。总的来看,解码器Decoder的运算过程中需要进行多次mask操作。在基于Transformer所构建的大语言模型中,最著名的两个模型是OpenAI的GPT和Google的BERT,虽然二者都是基于Transformer,但GPT模型仅使用了解码器的部分,而BERT仅使用了编码器的部分,二者在技术路线上也走向了两条不同的道路。具体来说,BERT仅运用了Transformer的Encoder框架,而Encoder中采用了Self-attention机制,即训练时每一个词需要对整个输入序列的上下文进行相关性分析,从模式上来看更接近于一个完形填空模型;而GPT运用了Transformer的Decoder框架,Decoder中的Self-attention机制是MaskSelf-attention,在训练时会对下文进行了遮盖(mask)处理,仅基于上文,来生成下文,因此GPT更接近人类的语言生成模式,更适合来构建语言生成模型。从GPT的语言生成模式来看,并不是一次性将整个序列全部生成,而是每个字每个词逐一生成,即在生成每一个词的时候,必须先生成它的前一个词。而每一个字的生成,会用到这个字之前的全部上文,即全部输入+这个字之前的全部输出,比如向GPT提问:“地球有多大?”,GPT的完整回答为:“地球是太阳系内第三颗最靠近太阳的行星,其直径约为...”,而在生成“系”这个字时,所用到的信息为:输入“地球有多大?”+“系”这个字之前所已生成的输出“地球是太阳...”。在生成“系”之后,再依照同样的原理,也“系”也作为上文,再生成下一个字。因此GPT实际上是一种自回归生成的语言模型,而在GPT和BERT的背后则是Transformer的编码器与解码器在算法思想上的差异,因此GPT作为基于解码器所构建的语言模型,在其后的语言生成方面也展现出了更大的潜力。总体来看,2017年发布的Transformer无论是在机器翻译、文本生成、问答系统等任务处理,还是在模型训练速度上,其性能均超过了之前的模型,而这还仅仅只是Transformer的初始形态。从多项测试的结果来看:1)机器翻译任务中,Transformer在WMT2014英德翻译任务上,相对于之前的SOTA模型,实现了近2个BLEU值的提升,达到了28.4BLEU分数;2)文本生成任务中,Transformer在WikiText-103数据集上的困惑度仅为18.3,相对于之前最好的困惑度20.5,实现了很大的提升;3)问答任务中,Transformer在SQuAD数据集上的F1分数为87.4,优于之前最好的模型。同时,Transformer的运行速度也有了很大提升,例如,Google使用了64个TPUv3设备对Transformer进行训练,处理英德翻译任务的速度快于之前最好的RNN模型7倍。4持续进化:从GPT-1到GPT-3在2018年,自然语言处理NLP领域正式步入了大语言模型时代,OpenAI公司的GPT模型与谷歌的BERT模型在同年相继推出。2018年6月,OpenAI公司发布了GPT模型的初代版本,GPT-1运用了Transformer的Decoder框架中MaskSelf-attention机制,目前已经迭代到了最新ChatGPT与GPT-4,毫无疑问GPT模型已经成为了当前最为强大的语言模型。在2018年10月,Google也发布了BERT模型,BERT采用了Transformer的Encoder框架中Self-attention机制,作为一个拥有3倍GPT参数量的更大体量的语言模型,BERT在当时的多项测评以及业内影响力等方面,要领先于GPT的初代版本。特别是在BERT开源之后,包括Facebook、百度等国内外大厂均推出了基于BERT之上开发的大模型,其中包括Facebook的XLM、RoBERTa模型,以及百度的ERINE系列模型。从GPT的初代版本来看,GPT-1在训练方式上仍依赖于数据标注和模型微调,同时GPT-1的语言泛化能力仍然不足,因此可以说GPT-1更接近于处理特定语言任务的专家模型,而非通用的语言模型。GPT-1的模型训练采取的是二段式的训练模式,第一阶段利用无监督学习进行预训练,使用未标记的数据生成语言模型;第二阶段则根据特定的下游任务来对模型进行人工微调,比如分类任务、自然语言推理、语义相似度、问答和常识推理等任务。因此相较于此前NLP模型,GPT-1实际上还是一个半监督式学习的语言模型。GPT-1在多种语言任务方面都有不错的效果,在自然语言推理、分类、问答、对比相似度的多种测评中均超越了之前的模型。但与此同时,GPT-1的语言泛化能力仍然不足,无法解决通用的语言任务,且和同时代的BERT模型比较的话,GPT-1在能力上要逊色于BERT。2019年2月,GPT-2正式发布,相较于GPT-1,GPT-2舍弃了模型微调,构建了一个泛化能力更强的语言模型,这也开始让模型的通用性得以充分展现。尽管此前GPT-1在特定任务上已经取得了不错的效果,但实际上这类模型都需要针对单个语言任务使用大量的标注数据和模型微调,因此也只能在解决特定语言任务时才能发挥作用。而GPT-2的泛化能力就体现在,能够让模型应用到不同的任务,而不需要做专门的训练。这也更符合人脑处理语言信息的过程,因为人脑既可以读小说,也可以看新闻,能执行不同的语言处理任务,而且这种能力是相互关联的。而人脑在获取一个语句的信息时,这个信息是通用的,因此我们所期望的一个通用的语言模型,既可用于分类任务,也可以用于问答和常识推理等任务。具体而言,相较于GPT-1的无监督式预训练+有监督式学习和模型微调,GPT-2直接舍弃了微调阶段,直接通过大规模数据进行预训练,让模型开始具备解决多种语言任务的能力。2020年5月,GPT-3正式发布,GPT-3在训练方式上创新性的引入了In-context学习(上下文学习),即在训练模型时,在输入的文本中加入一个或多个示例,引导模型输出相对应内容。比如:“请把以下中文翻译成英文:苹果=>apple;自然语言处理的发展历程”就是一个典型的带有一个示例的输入文本。而In-context学习包含了三种模式,分别为Zero-shotLearning(零样本学习)、One-shotLearning(单样本学习)和Few-shotLearning(少样本学习),zero-shot就是没有示例只给提示,one-shot是只给一个范例,few-shot则给多个范例,实际上zero-shot在表达方式上已经接近于人类的语言表达方式。In-context学习的优点在于,输入规范化的语言模板,从人类的例子和类比中去学习,无需进行模型微调和数据标注,特别是大量的标注数据需要很高的人工成本。引入In-context学习后,从最终实际效果来看,GPT-3在few-shot上有非常强劲的表现,但同时one-shot和zero-shot的效果还不够优秀。因此对于one-shot和zero-shot效果的提升也成为了下一代模型未来需要突破方向。GPT-3参数量相较于GPT-2提升了两个数量级,达到了1750亿,数据集在处理前容量达到了45TB,成了真正意义上的超大语言模型。GPT-3在许多NLP任务上相较于GPT-2及其他语言模型有更多出色表现,特别是机器翻译、聊天问答和文本填空。同时是在海量参数和训练数据的支撑下,GPT-3的开始能够完成一些比较困难的NLP任务,比如GPT-3也可以生成新闻报道和撰写文章,并且很难将机器写的文章与人类写的辨别开来,甚至GPT-3在编写SQL查询语句,React或者JavaScript代码也有十分优异的表现。而在GPT-3强大能力的背后是对算力的巨大消耗,GPT-3的计算量达到了BERT-base的上千倍,根据OpenAI公司披露数据,GPT-3的训练费用超过1200万美元,因此到这一阶段就能看出,大语言模型逐渐成为了只有巨头才能参与的游戏。5能力突变:从ChatGPT到GPT-4在GPT-3取得成功之后,OpenAI在GPT-3的基础上推出了多个迭代版本,经过2年左右的时间,在2022年11月正式推出ChatGPT,随即成为了全球范围内最强大的语言模型。OpenAI公司在GPT-3与ChatGPT之间发布了多个迭代版本,其中包括:2021年7月推出了Codex系列;2022年1月,引入RLHF(基于人工反馈的强化学习)得到了InstructGPT;2022年4月至7月,推出了融合Codex和InstructGPT的code-davinci-002版本;5月至6月发布了text-davinci-002版本;11月发布了text-davinci-003和ChatGPT,两个模型都是使用了基于人类反馈的强化学习的版本指令微调模型。ChatGPT相较于GPT-3,不仅是在文本生成等方面展现出了非常强大的能力,与人类对话的智能感大幅提升,而且海量数据和参数的支撑下,模型在逻辑推理与思维链等方面能力开始涌现。ChatGPT可以完成许多相对复杂的语言任务,可以完成包括自动文本生成、自动问答、多轮对话等,并且能够主动承认错误,质疑不正确的问题等。此外,ChatGPT还能编写和调试计算机程序。目前ChatGPT的应用主要包括:1)聊天机器人,可以使用ChatGPT来自由对话,使机器人能够向用户做出自然的回应;2)编写和调试计算机程序;3)文学、媒体相关领域的创作,包括创作音乐、电视剧、童话故事、诗歌和歌词等;4)教育、考试、回答测试问题;5)通过API结构集成到其他应用中,目前GPT已经集成到了Bing搜索和Office套件。ChatGPT在推出后仅两个月活跃用户就达到了一个亿,成为了史上用户增长速度最快的消费级应用程序。基于人工反馈的强化学习(ReinforcementLearningfromHumanFeedback,RLHF)的引入,是ChatGPT相较于GPT-3在训练策略上最重要的变化。关于强化学习,其应用的经典案例就是围棋人工智能机器人AlphaGO。AlphaGo在应用了强化学习进行无数次自我对弈训练后,其能力在短时间内得到了迅速的提升,2017年战胜了当时围棋世界排名第一的柯洁,而强化学习也因此为大众所认知。强化学习的原理,就是让模型不断与环境进行交互,外部环境对每一次的交互进行反馈,通过奖励或者惩罚,让模型不断调整自己的行动策略,并且逐渐找到最优的行动策略,从而达到最大化奖励的目标。比如用强化学习训练AlphaGo下围棋时,会在AlphaGo的每一步行动之后,都给予AlphaGo一个明确的反馈,是“好”还是“不好”,让模型不断优化对弈策略(参数调整),最终让棋子占领棋面上更多的区域并取得胜利。而在ChatGPT训练过程分为三步,其中最重要的部分即用人工标记的方式,训练出一个专门评价模型,再用这个评价模型来训练GPT模型,通过对其输出的内容打分,进而实现模型的训练与迭代。具体而言:第一步:预训练初始模型。在GPT3.5的基础上,使用有监督学习方式,微调训练出一个初始模型。训练数据一部分来自使OpenAI公司采集了GPT-3在公测期间用户提供的对话数据,另一部分来自OpenAI雇佣的40名标注师(labeler),由标注师分别扮演用户和AI,人工生成人工的多轮对话数据。预训练的数据量不大,但数据的质量和多样性很高。第二步:训练奖励模型。奖励模型的训练是ChatGPT的训练流程中最重要的一步,具体方法就是,随机抽取一大批提示(prompt),输入到第一阶段产生的模型中,模型会随机生成K(4≤K≤9)个输出,然后以两两配的形式对向标注师展示输出结果,而标注师则在两个结果中选择效果更好的,通过人工打分排序的方式,对于符合人类价值观的内容给予较高的分数,而对人类不喜欢的内容给予较低的分数,最终实现对奖励模型的训练。第三步:使用强化学习对语言模型进行训练。这一阶段开始应用海量的无标注的数据,所用数据来自于抓取的网页、论坛、百科上的海量数据。将海量数据输入到预训练的模型中,通过第二步训练得到的奖励模型来对输出的内容进行打分,结合近端策略优化(ProximalPolicyOptimization,PPO)算法,鼓励模型输出更高质量的内容,从而实现语言模型的训练。在展现强大能力的同时,ChatGPT仍存在一定的局限性,主要受限于标注团队的国籍分布、训练数据的语种以及训练数据的时效性。由于ChatGPT的奖励模型的训练实际上40名OpenAI雇佣的40名标注师对模型输出结果进行训练而得到的,因此ChatGPT的价值观是由这40个外包员工的价值观组合而成,40名外包员工来自美国和东南亚,分布比较集中且人数较少,因此实际上也会存在其他地区比较在意的偏见问题。同时ChatGPT训练数据96%以上是英文,其它20个语种包括中文,法语,西班牙语等合计不到4%,因此ChatGPT在其他语种上的生成能力要逊色于英文。同时由于ChatGPT训练数据只更新到2021年,因此在一些问题的回答上缺乏时效性。2023年3月15日,GPT-4正式发布,相较于之前版本的GPT模型,GPT-4在各项能力上有了质的的突破,除了在推理能力、文本生成能力、对话能力等方面有了大幅提升之外,GPT-4迈出了从语言模型向多模态模型进化的第一步。GPT-4最大的变化即能够接受图像的输入,并且能够生成文本语言,并且在看图能力方面有让人惊喜的表现的。同时GPT-4的各项能力相较于此前版本也有大幅提升,包括可以处理超过25000字长文本,以及写作能力的大幅提升,能够编歌曲、写剧本、学习用户写作风格,同时包括GRE、SAT等考试能力也有大幅提升。在基于机器学习模型设计的各项基准上评估GPT-4,GPT-4大大优于现有的大型语言模型,以及大多数SOTA模型。除了英语外,GPT-4在包括拉脱维亚语、威尔士语和斯瓦希里语等26种语言上的性能甚至都优于现有语言模型的英语性能。回顾GPT模型演进的5个重要阶段,从2018年5月发布到GPT初代版本,到2023年3月的GPT-4,仅5年时间GPT模型的性能就产生了质的飞跃。在能力快速提升的背后,可以看到一方面是对训练方法的持续迭代,从GPT-1的半监督式学习,到GPT-2舍弃了微调阶段,再到GPT-3的In-context学习和海量数据,以及引入了基于人工反馈的强化学习之后,最终进化到了ChatGpt和GPT-4,另一方面,是OpenAI公司以及微软对研发和算力的高投入,通过“大力出奇迹”的方式,支撑了模型参数和训练数据的快速膨胀。6未来展望:多模态和AIGC近年来包括Google,微软等海外大厂均已经在大模型上展开布局,未来随着行业竞争门槛的迅速提升,头部厂商在算力资源、数据积累等方面的竞争优势将进一步凸显。在语言大模型方面OpenAI公司的GPT模型已经处于绝对领先地位,Google、Facebook等国外大厂紧随其后。目前主流大语言模型的参数量已经达到千万级,同时背后对算力的需求也非常巨大,包括GPT-3的单次训练费用超过460万美元,总训练费用超过1200万美元,未来在大模型上的“军备竞赛”也将让大模型成为了只有巨头才能参与的游戏。虽然模型的基本结构都已经通过论文等方式公开,但是各厂商在工程实践方面仍存在明显的差异,包括在数据的清洗、标注以及模型的微调、训练方法等方面仍需要长时间的研发投入和经验积累。未来可预见到,这一领域头部厂商的先发优势和马太效应会体现的非常明显,特别是ChatGPT作为第一个“出圈”的大语言模型,目前每天有数以亿计的用户在使用GPT模型,随着使用次数越来越多,更多的数据会被收集来不断迭代系统和算法,而GPT模型的护城河也会越来越宽。全球范围来看,大模型的应用已经不局限于NLP领域,计算机视觉、多模态等领域的大模型开始涌现。目前大模型包括三类:1)自然语言处理(NLP)模型,如OpenAI的ChatGPT模型,Google的LaMDA;2)计算机视觉(CV)模型,如微软的Florence;3)多模态模型,如OpenAI的GPT-4模型,Google的Parti。国内互联网大厂包括百度、字节、阿里等厂商均推出了自己的大模型或披露了相关计划。总体来看,和海外头部厂商相比,国内大模型在工程实践上尚存在一到两年以上的差距。1)百度:3月16日百度文心一言多模态大模型正式发布,具备文学创作、商业文案创作、数理逻辑推算、中文理解和多模态生成五个领域能力;2)阿里:2021年,阿里推出了最大规模的中文多模态预训练大模型通义-M6,并以该模型为底座,覆盖NLP、多模态、计算机视觉等领域,目前该模型系列已在超过200个场景中提供服务;3)字节:2022年,字节与清华联合提出的DA-Transformer大模型,超越了自回归Transformer的性能;4)腾讯:2022年,腾讯发布了混元AI万亿大模型,采用腾讯太极机器学习平台自研的训练框架AngelPTM。此外包括360、科大讯飞等厂商也披露了相关产品计划。AIGC是人工智能的重要演进方向,而生成算法、大模型与多模态三大底层技术的突破成为了AIGC的质变的关键。从2022年以DALL-E2、StableDiffusion为代表的AI作画系统,到2023年以ChatGPT为代表的对话机器人的出现,预示着AIGC底层技术的逐渐成熟,从底层技术来看,主要来自于三个方面的技术突破:1)生成算法:包括生成对抗网络(GAN)、变分自编码器(VAE)、Transformer模型、扩散模型(DiffusionModel)等不断涌现生成算法。2014年出现生成对抗网络GAN(GenerativeAdverserialNetwork)是AIGC早期的主流框架,但同时GAN一直存在对输出结果控制力弱,难以生成新图像等缺点。随后扩散模型开始出现,在提升图像生成效果的同时,大幅降低了计算量和计算时间,让文本生成图像能力走向成熟,并逐渐取代GAN成为当前主流的图像生成器,包括DALL-E2、StableDiffusion等AI作画系统均是基于扩散模型所构建。2)大模型:大模型发展的关键节点是2017年出现的基于Attention注意力机制的Transformer模型,随后Transformer迅速成为了NLP领域的主流框架,并且于2018年发布的GPT以及BERT模型均是基于Transformer所构建。不仅仅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 洞见趋势 解码未来福利-2023年企业福利策略和管理趋势调研报告
- 防震知识课件教学课件
- 设计营销课件教学课件
- 股份置换协议书(2篇)
- 南京工业大学浦江学院《税务稽查》2022-2023学年第一学期期末试卷
- 集控化验办公楼施工组织设计
- 防灾减灾说课稿
- 宿淮高速收费大棚施工组织设计
- 《轴对称》说课稿
- 【初中化学】化石能源的合理利用课件-2024-2025学年九年级化学人教版(2024)上册
- 广东电力市场交易基本规则
- 零售业财务管理制度实用文档
- 【本田轿车灯光系统常见故障分析及排除8200字(论文)】
- 甲苯磺酸瑞马唑仑(瑞倍宁)的临床应用
- 博物馆安全管理规章制度
- 学习、弘扬焦裕禄精神
- 一年级上数学一课一练-讲讲算算|沪教版
- 中国智库名录类别索引-政府部门智库
- 包虫病防控方案
- GB/T 18513-2022中国主要进口木材名称
- 建筑公司组织关系架构图
评论
0/150
提交评论