机器学习(Python+sklearn+TensorFlow 2.0)-第2版 微课视频版 课件 -11-大语言模型_第1页
机器学习(Python+sklearn+TensorFlow 2.0)-第2版 微课视频版 课件 -11-大语言模型_第2页
机器学习(Python+sklearn+TensorFlow 2.0)-第2版 微课视频版 课件 -11-大语言模型_第3页
机器学习(Python+sklearn+TensorFlow 2.0)-第2版 微课视频版 课件 -11-大语言模型_第4页
机器学习(Python+sklearn+TensorFlow 2.0)-第2版 微课视频版 课件 -11-大语言模型_第5页
已阅读5页,还剩48页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习第十一章大语言模型生成式人工智能是指通过学习训练数据的分布模型来生成新的数据的机器学习模型或方法,生成的数据通常称之为人工智能生成内容(ArtificialIntelligenceGeneratedContent,AIGC)。近年来生成式人工智能发展非常迅速,尤其是以大语言模型(LargeLanguageModel,LLM)为代表的文本生成技术已经走进人们的工作和生活中。大语言模型211.1概述11.2词嵌入11.3编码器-解码器结构和注意力机制第十一章大语言模型11.4Transformer模型11.5大语言模型分类自然语言处理(NaturalLanguageProcessing,NLP)是人工智能的一个非常重要的研究领域和应用方向,被喻为人工智能“皇冠”上的“明珠”。自然语言处理分为自然语言理解和自然语言生成两个部分,前者是使机器理解人类语言,后者是使机器生成人类语言。从自然语言处理的发展历程来看,主要可分为20世纪50年代到80年代的基于规则的时期、20世纪90年代到21世纪00年代的基于传统机器学习的时期和此后至今的基于深度学习的时期。11.1概述4自然语言处理(NaturalLanguageProcessing,NLP)是人工智能的一个非常重要的研究领域和应用方向,被喻为人工智能“皇冠”上的“明珠”。自然语言处理分为自然语言理解和自然语言生成两个部分,前者是使机器理解人类语言,后者是使机器生成人类语言。从自然语言处理的发展历程来看,主要可分为20世纪50年代到80年代的基于规则的时期、20世纪90年代到21世纪00年代的基于传统机器学习的时期和此后至今的基于深度学习的时期。基于规则的自然语言处理系统试图用有限的规则来映射纷繁复杂的自然语言现象,多年的发展证明这种映射是单薄无力的,难以覆盖自然语言中宽广的知识。11.1概述5基于传统机器学习的自然语言处理系统的核心思想是“统计”,通过统计训练语料中字、词等基本语言元素间的频率关系得到统计语言模型。所谓“语言模型”,是用于预测语言序列中下一个基本语言元素的概率分布的模型,例如,预测“天气好热,我想吃”后面接“雪糕”和“烧烤”的概率。利用统计语言模型,可以计算由多个基本语言元素依次连接而成的语句等出现的概率。从统计的角度来看,出现概率高的语句要比出现概率低的语句更为合理,因此将出现概率最高的语句作为模型的预测输出,如第6章讨论的隐马尔可夫模型和条件随机场模型时的示例。在统计语言模型领域,隐马尔可夫和条件随机场等模型发挥了重要作用。11.1概述6以神经网络为基础的深度学习发展起来后,在自然语言处理领域发挥了巨大的作用,推动该领域实现了快速的发展。2003年,Bengio等人用神经网络来构建语言模型[50],它主要由前馈神经网络组成,训练好的模型可以根据单词的上下文来预测下一个单词。随后,循环神经网络、注意力机制等深度学习技术开始在自然语言处理领域发力。2018年,ELMo模型、Transformer架构、GPT模型和BERT模型相继出现,开启了所谓的“预训练”方法。2020年,OpenAI发布了GPT-3模型,该模型拥有多达1750亿个参数,被称为大语言模型。此后,各种大语言模型相继推出,自然语言处理研究的重点从自然语言理解转向了自然语言生成。2025年1月,在中国出现的DeepSeek以较少的代价在自然语言处理的多个问题领域表现出色,受到极大关注,得到广泛应用。11.1概述7大语言模型是指使用大量文本数据训练的参数量极大的深度学习模型,其核心思想是通过大规模的无监督学习自然语言的模式和结构,在一定程度上模拟人类的语言认知和生成过程。大语言模型引发人们关注的原因在于它在多种应用场景下表现出色,尤其是在处理文本摘要、机器翻译、情感分析、对话生成和内容推荐等复杂任务时,也就是说,它成功的关键在于性能强“大”。此外,大语言模型的训练所需计算资源也很“大”,花费巨大。11.1概述811.1概述11.2词嵌入11.3编码器-解码器结构和注意力机制第十一章大语言模型11.4Transformer模型11.5大语言模型分类在中文和英文等自然语言的处理中,字、词等语言基本单元需要先表示成计算机能够处理的数值型数据,然后用该编码值代表汉字参与后续的模型训练和预测等活动。实际上,因为计算效率等原因,输入神经网络的数据往往采用向量的形式。将字、词等的编号进行向量化的最直接的方法是采用独热编码。但是,在自然语言处理领域,采用独热编码会带来向量空间过大、向量分布过于稀疏的问题。11.2词嵌入10这种将语言基本单元的编号用实数向量来表示的技术称为词嵌入(WordEmbedding),对应的实数向量称为词向量(WordVector)。除了对独热编码形式的词向量进行降维外,词嵌入技术还可以使词向量捕捉到所代表的词语在自然语言中的语义信息,例如,“猫”、“狗”、“鸟”、“鱼”等的词向量在空间中相对靠近“动物”的词向量,“中国”与“北京”、“法国”与“巴黎”、“日本”与“东京”等体现国家和首都关系的词向量对之间的距离大致相等,“快乐”、“高兴”、“愉快”、“欣喜”等近义词的向量相对靠近,等等。11.2词嵌入11独热编码的词向量之间是正交的,不具备语义性质。通过线性变换(如采用一个不使用激活函数的全连接层)可以将独热编码的词向量转换成实数形式的词向量,线性变换的参数(如全连接层中的各项系数)需要通过训练确定。Bengio在2003年提出神经语言模型,它主要由前馈神经网络组成,可以根据单词的上下文来预测下一个单词。在训练语言模型时,同时训练了单词的具有语义特征的词向量,可以说词向量是神经语言模型在训练时产生的“副”产品。11.2词嵌入12训练好的词向量可以固定下来,作为其他自然语言处理任务中基本语言单元的表示方法。实践表明,采用具备良好语义性质的词向量作为基本语言单元的表示方法,可以极大提升文本分类、情感分析、机器翻译等任务的性能和准确性。一般的做法是在语料多的时候训练词向量,然后将训练好的词向量固定下来应用于语料少的任务。Mikolov等人在2010年构建了以循环神经网络为主的语言模型,同样的,在训练的同时也得到了词向量。11.2词嵌入13Mikolov等人简化了神经语言模型,实现了一个专注于词向量的模型,并开源了一款计算词向量的工具:word2vec。word2vec工具主要包含两个模型:跳字模型(Skip-Gram)和连续词袋模型(continuousbagofwords,CBOW)。CBOW模型训练的思路是从一个词序列中抠掉一个词,用这个词的上下文去预测这个词。和CBOW相反,Skip-Gram模型训练的思路是用特定词去预测它的上下文词。与word2vec类似的还有随后出现的GloVe模型,它在全局性方面作了改进。11.2词嵌入142018年出现了ELMo语言模型、GPT语言模型、BERT语言模型。在这些模型,以及此后出现的大语言模型中,在训练的同时都可以训练词向量。词嵌入将基本语言单元用向量来表示,使它们能够输入到模型中,同时,大语言模型通过海量数据的训练也使得词向量学习到了更为精准的语义信息,它们是相辅相成的关系。11.2词嵌入1511.1概述11.2词嵌入11.3编码器-解码器结构和注意力机制第十一章大语言模型11.4Transformer模型11.5大语言模型分类编码器-解码器结构在“深度学习”一章中,讨论了循环神经网络的网络结构,其中提到了manytomanydelay结构。此类带延迟的多输入多输出结构的模型在自然语言处理的领域称为序列到序列(seq2seq)模型,其输入是一个文本序列,输出也是一个文本序列,通常用于机器翻译、文本摘要等任务。11.3编码器-解码器结构和注意力机制17编码器-解码器结构如果把输入的最后一步产生的隐层状态看作是一个处于网络中间位置的向量形式的“码”,则它左边的循环神经网络在每一步接受一个输入和上一步的隐层状态,并产生当前的隐层状态,如此下去,直到产生该“码”;右边则是从该“码”出发,每步产生当前输出和隐层状态。因此,左边输入部分可以看成是产生该“码”的“编码器”,右边输出部分可以看成是从该“码”开始产生一系列输出的“解码器”。将它们称为编码器-解码器结构(Encoder-Decoder)。11.3编码器-解码器结构和注意力机制18

11.3编码器-解码器结构和注意力机制19RNNSearch模型中的注意力前面的编码器-解码器将输入序列的信息压缩到一个固定长度的向量中,可能会导致信息丢失,特别是对于较长的序列。针对此问题,提出了一种称为RNNSearch的模型,该模型在生成输出序列时不仅参考输入序列最后一步的隐状态,还参考前面每步的隐状态,实践证明该模型提高了自动翻译的质量,尤其是在长句子翻译时。11.3编码器-解码器结构和注意力机制20

11.3编码器-解码器结构和注意力机制21

11.3编码器-解码器结构和注意力机制22

11.3编码器-解码器结构和注意力机制23

11.3编码器-解码器结构和注意力机制24RNNSearch模型中的注意力在RNNSearch模型中,输出序列的隐状态的生成过程是先用上一步的隐状态去与输入序列的所有步的隐状态计算相似度,然后将所有相似度进行指数函数值的归一化后,作为权重系数对输入序列的所有步的隐状态加权求和得到上下文向量。这个过程是注意力机制的应用过程,它使得在计算输出时,能够更多地关注相关性大的输入部分,例如,在翻译“一头牛走在开满鲜花的乡间小路上,它铺满了青石板。”中的“它”时,应该更多地关注“路”而不是“牛”。11.3编码器-解码器结构和注意力机制25

11.3编码器-解码器结构和注意力机制26

11.3编码器-解码器结构和注意力机制27注意力机制乘性注意力模型又称之为带缩放的点积注意力,ScaledDot-ProductAttention,MatMul表示向量乘法操作,Scale表示缩放操作,Mask表示可选的掩码操作,SoftMax表示指数函数归一化操作。11.3编码器-解码器结构和注意力机制28

11.3编码器-解码器结构和注意力机制29注意力机制掩码的作用是防止模型学习到不必要的信息,通过输入掩码参数,可以让指定的键-值对不参与生成注意力。掩码的实现方法很容易理解,就是给相似度加上一个绝对值很大的负数,使得在随后的softmax操作中相应的指数运算值趋近于0。11.3编码器-解码器结构和注意力机制30

11.3编码器-解码器结构和注意力机制31

11.3编码器-解码器结构和注意力机制3211.1概述11.2词嵌入11.3编码器-解码器结构和注意力机制第十一章大语言模型11.4Transformer模型11.5大语言模型分类1.总体结构与应用示例左边部分为编码器,右边部分为解码器。编码器负责处理模型的输入(如英译中任务中的英文序列输入),解码器负责处理模型的输出(如英译中任务中的中文序列输出)。为了避免混淆,后文将英译中任务中输出的中文序列称为目标序列,即将英文序列翻译成中文是模型的目标。11.4Transformer模型341.总体结构与应用示例用英译中任务为例来概要说明Transformer的工作过程。Transformer编码器有2个输入口和1个输出口。2个输入口分别在编码器和解码器中,它们分别接收训练样本的实例(英文序列)和标签(中文序列)。1个输出口在解码器中,它输出当前预测的中文字符的概率。在训练阶段,该预测值与实际标签值的误差用来进行反向传播学习模型的参数。11.4Transformer模型35通过notebook课堂演示示例,并解释代码。1.总体结构与应用示例编码器的具体结构从下往上分别是对输入进行词嵌入(InputEmbedding)的模块、对位置进行编码(PostionalEncoding)的模块和编码层(一般有多个)。词嵌入模块的输出向量与位置编码模块的输出向量结合后输入编码层。图中的“Nx”表示编码层可以有多个,它们上下连接在一起,最后一层的输出即为编码器的输出。该输出称为中间表示向量,它是编码器对输入序列的编码结果,将用于解码器计算注意力。解码器从下往上分别是对目标输入序列进行词嵌入的模块、对位置进行编码的模块和解码层。词嵌入模块的输出向量与位置编码模块的输出向量结合后输入解码层。它们上下连接在一起,最后一层的输出进入到一个全连接层构成的前馈神经网络得到模型的输出。11.4Transformer模型362.词嵌入与位置嵌入Transformer模型中,输入序列和目标序列中的元素都采用词向量的表示方法。示例中,输入的英文序列中共有73个字符,目标中文序列中共有2128个字符,它们都先分别转换成独热编码,然后用一个全连接层进行变换,输出的向量维数为128。由Attention的讨论可知,Attention的处理过程不能体现序列数据的位置关系,而Transformer模型也不再使用善于处理序列数据的循环神经网络,因此,需要引入一种能够感知和处理元素在序列中的位置的信息的方法。通常将这类方法称为位置编码(PositionEncoding)或者位置嵌入(Positionembedding)。11.4Transformer模型37

11.4Transformer模型382.词嵌入与位置嵌入如果用3维的向量来对字在句子中的位置进行编码,则句子中的第1个字(例如,句子“机器学习是非常重要的研究和应用领域”中的“机”字)的位置向量为:第2个字和第3个字的位置向量分别为[0.84,0.54,0.0]和[0.91,−0.42,0.0]。还常用一种类似于词向量的生成方法,它是将元素在序列中的位置序号1、2、3、…等独热编码后再变换成位置向量,变换模型的参数需要通过学习得到。11.4Transformer模型393.编码层编码层由两个子层组成,分别是自注意力子层和前馈子层。词向量与位置向量结合后,先输入自注意力子层进行处理,随后再进入前馈子层处理。自注意力子层是一个Q,K,V都相同的多头注意力模型,它可以使序列中的元素得到相互关注。11.4Transformer模型40通过notebook课堂演示示例,并解释代码。4.解码层解码层由三个子层组成,分别是自注意力子层、注意力子层和前馈子层。其中,自注意力子层和前馈子层与编码层的自注意力子层和前馈子层结构相同。但是,在使用自注意力子层时,需要加上掩码,使得自注意力子层只能看到“过去的”元素序列,防止模型提前“窥探”未来要预测的元素。注意力子层是一个多头注意力模型,它的查询Q来自自注意力子层,它的键K和值V相同,来自编码器的输出,即中间表示向量。11.4Transformer模型41通过notebook课堂演示示例,并解释代码。5.训练过程与预测过程在训练过程,训练样本的输入序列进入到编码器,经前向传播后输出中间表示向量。这个前向传播过程主要包括注意力模型和前馈网络的计算过程,可以并行进行。中间表示向量输入到解码器的解码层的注意力子层,参与注意力计算。在解码器内,对一个训练样本的目标序列的训练并不是一次完成的,具体来讲,就是在掩码的作用下,第1次取序列中的第1个元素输入解码器进行训练,第2次取序列中的第1、2个元素输入解码器进行训练,第3次取序列中的第1、2、3个元素输入解码器进行训练,等等。11.4Transformer模型42通过notebook课堂演示示例,并解释代码。5.训练过程与预测过程在训练过程,训练样本的输入序列进入到编码器,经前向传播后输出中间表示向量。这个前向传播过程主要包括注意力模型和前馈网络的计算过程,可以并行进行。中间表示向量输入到解码器的解码层的注意力子层,参与注意力计算。在解码器内,对一个训练样本的目标序列的训练并不是一次完成的,具体来讲,就是在掩码的作用下,第1次取序列中的第1个元素输入解码器进行训练,第2次取序列中的第1、2个元素输入解码器进行训练,第3次取序列中的第1、2、3个元素输入解码器进行训练,等等。第i次训练前向传播计算的是在序列中第i+1个位置的出现的每个可能元素的概率,该概率由最后的全连接层给出。11.4Transformer模型43通过notebook课堂演示示例,并解释代码。5.训练过程与预测过程在预测过程,测试样本的输入序列进入编码器,计算得到中间表示向量,用于解码器随后的计算。第1步输入解码器的是一个约定的特殊的起始符号。第1步产生的预测元素,补充到特殊符号后面输入到解码器得到第2步预测元素;第2步产生的预测元素,补充到第2步的输入序列后再次输入解码器得到第3步预测元素;如此持续下去,直到预测输出一个约定的特殊的结束符号。由此可见,解码器当前的输出是所有过去输出的解码结果,而当前输出又接在所有过去输出的后面参与下一步输出的计算,此计算方式称为自回归方式(Autoregressive)。11.4Transformer模型44通过notebook课堂演示示例,并解释代码。11.1概述11.2词嵌入11.3编码器-解码器结构和注意力机制第十一章大语言模型11.4Transformer模型11.5大语言模型分类1.预训练一般来说,训练样本的数量越多、质量越高,训练出来的模型就越好。但实际上获得大量高质量的训练样本一直是个难题。在自然语言处理领域,人们想出了用预训练(Pre-Training)的办法来对付这一难题。在该领域,虽然标注好的训练样本(如中英翻译模型训练需要的中文句子和英文句子对)难以得到,但是,大量的无标注文本却很较易得到。如果将无标注文本中的句子中某些单词“抠掉”,那么剩下的部分就可以看成训练样本的实例,被“抠掉”的单词就可以看成训练样本的标签,就成了可以用来训练模型的有标签训练样本了。用这样的样本训练出来的模型称为预训练模型。11.5大语言模型分类461.预训练用数量巨大的训练样本训练出来的预训练模型虽然学习到了丰富的语义信息,但是它一般不能直接用于文本分类、文本生成、文本推理、文本相似度度量、问题与常识推理等下游任务。人们发现只需要使用少量的符合下游任务要求的标注好的训练样本对预训练模型继续训练(称之为微调,supervisedfine-tuning)就能得到效果比较好的模型。目前出现的预训练模型基本都是围绕着Transformer来构建的,可以分为解码器类型、编码器类型和编码器-解码器类型三种。11.5大语言模型分类472.解码器类型大语言模型解码器类型的预训练模型是基于Transformer的解码器构建的,它不包括Transformer的编码器部分。解码器类型的大语言模型主要有OpenAi的GPT系列模型、Google的XLNet系列模型、Nvidia的Megatron系列模型,以及微软、百度、HuggingFace、DeepMind等公司推出的其他模型。这些模型以Transformer的解码器为基本结构进行了修改和叠加,在不同的研究方向取得了进展。在解码器类型的大语言模型中,GPT系列模型推出较早且具有较好的效果,大大推进了自然语言处理领域的研究和应用。11.5大语言模型分类482.解码器类型大语言模型2023年,OpenAi发布了GPT-4,首次将GPT系列模型的输入由单一文本模态扩展到了图文双模态。GPT-4能够处理图像和文本输入,并生成文本输出,被归类为真正的多模态大型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论