预训练语言模型探究

上传人:杨*** 文档编号:475012172 上传时间:2024-05-02 格式:DOCX 页数:10 大小:28.15KB
返回 下载 相关 举报
预训练语言模型探究_第1页
第1页 / 共10页
预训练语言模型探究_第2页
第2页 / 共10页
预训练语言模型探究_第3页
第3页 / 共10页
预训练语言模型探究_第4页
第4页 / 共10页
预训练语言模型探究_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《预训练语言模型探究》由会员分享,可在线阅读,更多相关《预训练语言模型探究(10页珍藏版)》请在金锄头文库上搜索。

1、 预训练语言模型探究 李景玉(北京电子科技职业学院电信工程学院 北京 100176)1950 年,图灵发表了论文计算机器与智能,提出著名的图灵测试,通过一个模仿游戏来测试机器是否能够像人类一样思考、对话,而让测试者无法分辨在对面进行对话的是人类还是机器。图灵测试可以用来检验机器是否像人类一样智能,它也被称为是人工智能的开端。从1950年至今,人工智能已经有六十多年的发展历程,被誉为“人工智能皇冠上的明珠”的自然语言处理技术更是在近几年得到了飞速发展,自然语言处理相关应用也是随处可见,分别有基于机器翻译的翻译软件、基于信息检索的搜索引擎、基于问答系统的智能客服等。而自然语言处理的广泛应用离不开深

2、度学习等技术,可以说,深度学习等技术为自然语言处理带来了一场革命,尤其是2017年Transformer 模型的提出,此后大规模预训练语言模型的诞生和使用,基于“预训练+精调”的模式俨然已经成为了研究自然语言处理的新范式。1 预训练语言模型1.1 预训练语言模型概述语言模型(Language Model,LM)是指描述自然语言概率分布的模型,它在自然语言处理任务中一个非常基础和重要的。在自然语言处理的任务中,常用的说法是N 元语言模型,具体任务是指当给定词序列w1w2.wt-1时,需要根据给定序列判断下一个时刻t可能出现的词语wt,也就是计算条件概率P(wt|w1w2.wt-1)。N 元语言模

3、型推动了自然语言处理技术的发展,但它本身也有自己的局限性,N 元语言模型容易受到数据稀疏的影响,因此平滑技术往往必不可少。随后出现的神经网络语言模型,通过引入神经网络架构和词向量,在一定程度上克服了这一局限,极大地缓解了数据稀疏的问题。这也是自然语言处理领域里面早期的预训练方法,随着技术的革新,更多优秀的预训练语言模型被挖掘出来。广义上来讲,预训练语言模型是指基于大规模数据训练的语言模型,具体包括静态词向量模型如Word2vec1、GloVe2,动态词向量模型如CoVe3、ELMo4,基于深层Transformer 的表示模型如GPT5、BERT6。其实,预训练这一做法最早源于计算机视觉领域,

4、学者们会采用以ImageNet7为代表的大规模图像数据对模型进行一次预训练,再根据具体领域进行参数精调。而预训练语言模型被更多人熟知和应用,则是从以BERT为代表的基于大规模数据的预训练语言模型的提出开始的。1.2 使用预训练语言模型的优势预训练语言模型相较于传统的文本表示模型,其具有大数据、大模型和大算力“三大”特点8。大数据是指预训练语言模型在训练时采用的数据规模较大,训练数据规模的增大能够提供更多丰富的上下文信息,同时也能够降低较差质量的语料对预训练语言模型的影响;大模型是指预训练语言模型的参数量大,要求的并行程度高;大算力是指要实现基于大规模文本的预训练语言模型所必备的硬件条件,也就是

5、被大家熟知的GPU算力。预训练语言模型的三大特点是预训练语言模型能够得到广泛使用的原因。一方面,大数据时代是信息爆炸的时代,传统的自然语言处理方法、深度学习技术都过分依赖大规模的有标注语料,而预训练语言模型的大规模数据可以采用无标注语料,这恰好可以解决对大规模有标注语料的依赖性问题。另一方面,预训练语言模型通过大算力来训练模型的大量参数,大算力意味着对GPU算力有要求,大量参数意味着训练的时间会很长,高速GPU算力当然可以有效减短训练时间,然而高速的GPU算力并不是每一个机构或个人都能拥有的,通过采用权威机构预训练的语言模型,可以直接进行后续网络构建、参数调优。预训练语言模型也没有让人失望,它

6、的出现与发展帮助自然语言处理不断突破,在自然语言处理的众多方向或领域中都取得了大幅度提升。2 主流技术与方法近年来,随着预训练语言模型的发展,在大规模无标签的语料上训练通用模型成为一种趋势。人们利用已经训练好的模型对文本中的语句进行向量化的表示,再利用这些向量在具体的问题中进行参数调优、计算。目前,比较具有代表性的预训练语言模型包括GPT5、BERT6,以及其他进一步优化的预训练语言模型。2.1 GPTGPT(Generative Pre-Training)5是由OpenAI 公司于2018年提出的一种生成式预训练模型,通过在大规模文本上训练深层的神经网络模型,来获取更丰富的语义信息,从而提升

7、自然语言处理任务的效果。GPT是一个基于深层Transformer 的单向语言模型,也就是说,GPT 只会采用目标词的上文来进行计算。GPT 采用的是12 层深度神经网络,在随后的研究中,GPT 的升级版本GPT-2,则是采用48 层深度神经网络,更大规模的语料库,参数高达15亿个9。2.2 BERTBERT(Bidirectional Encoder Representation from Transformers)6是Devlin 等人于2018 年提出的一种基于深层Transformer 的预训练语言模型,它可以利用大规模无标注语料,获取其中丰富的语义信息。BERT一经问世,就在多个自然

8、语言处理任务中表现优异,刷新了当时11项自然语言处理的任务记录。BERT 模型是由多层Transformer 构成的,可以分为两个预训练任务:一是掩码语言模型,二是下一句预测任务。其中,掩码语言模型是BERT 预训练语言模型的核心,它通过随机掩码的训练方式,让机器获得还原掩码部分词语的能力,这种方式类似“完形填空”。下一句预测任务则可以构建两段文本之间的关系。那么通过采用BERT模型,可以得到上下文语义表示,这时就可以根据下游任务进行参数调整。2.3 其他预训练语言模型因为BERT 模型的优异表现,学者们也将视线逐渐投向BERT,并对BERT 进行改进,比如K-BERT10、ALBERT11、

9、ERNIE12等,而基于BERT模型的改进模型的不断诞生,也证实了BERT 模型本身的优越性。目前,具有代表性的、被进一步优化的预训练语言模型有XLNet13、RoBERTa14、ALBERT11和ELCETRA15等。2.3.1 XLNetXLNet(Extra Long Net)13是一种基于Transformer-XL 的自回归语言模型,也是GPT、BERT 模型的延伸。XLNet预训练语言模型的训练过程引入双流自注意机制,同一个单词具有两种不同表示:内容表示向量h和查询表示向量g,同时XLNet 提出一种排列语言模型(Permutation Language Model),对句子的词序

10、列的建模顺序做出更改,从而实现了双向上下文的建模方式。2.3.2 RoBERTaRoBERTa(Robustly Optimized BERT Pre-training Approach)14是对BERT 的扩展和延伸,在RoBERTa 中引入了动态掩码技术,舍弃了NSP任务,同时采用了更大规模的语料进行预训练,设置了更大的批次以及更长的预训练步数,通过改进BERT的每个细节,并进行详尽的实验,从而提升RoBERTa预训练语言模型在多个自然语言处理任务中的表现。2.3.3 ALBERTALBERT(A Lite BERT)11针对BERT 模型在预训练时会占用大量计算资源以及训练速度较慢的问题

11、,通过词向量参数因式分解和跨层参数共享两项技术,来降低训练模型时的内存消耗,同时提高ALBERT 模型的训练速度。2.3.4 ELCETRAELCETRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)15是由谷歌与斯坦福大学共同研发的预训练语言模型,因其小巧的模型体积以及良好的模型性能受到了广泛关注。ELECTRA 的预训练框架是由生成器和判别器两部分构成的。生成器相当于一个小的掩码语言模型(Masked Language Model,MLM),能够在MASK的位置预测原来的词,判别

12、器则采用替换词检测(Replaced Token Detection,RTD)代替任务代替了掩码语言模型,来判断生成器采样后的句子中的每个词是否被替换。3 预训练语言模型的应用经过大规模语料的预训练后,对预训练语言模型如何应用在下游任务中,通常的做法是将预训练语言模型作为下游任务模型的基底,然后利用预训练语言模型得到文本对应的上下文语义表示,再参与到下游任务中。也就是说,预训练语言模型在下游任务的训练中,会不断地更新自身参数。这种预训练语言模型的应用方法也被称为模型精调。模型精调基于预训练语言模型的大量参数,训练下游任务的模型,这样可以使得预训练语言模型的大量参数与下游任务的匹配度提高。目前,

13、以GPT5、BERT6、XLNet13等为代表的预训练语言模型,采用预训练加微调的自然语言处理基本流程已经成为进一步研究和发展的主导方向16-18。3.1 文本分类文本分类任务是自然语言处理任务中较为常见的一种任务,以BERT 预训练语言模型为例,基于BERT完成单句文本分类任务的网络结构如图1 所示,其由输入层、编码层和输出层这3个部分构成。图1 基于BERT的文本分类任务网络结构输入层的初始输入为文本s 和句子开头标识CLS、结尾标识SEP,其中文本s根据词表划分后的字符串,记为ti,i N,由此得到,文本s 可以表示成字符串的集合s=t1,t2,tN。原始输入文本记为X。X=CLS,t1

14、,t2,.,tn,SEP输入文本X由字嵌入向量、分段嵌入向量、位置编码向量组合而成后,得到BERT 输入表示V。在BERT构成的编码层,输入表示V 经过由多层Transformer 构成的编码层后,得到BERT 模型的输出向量Tn,n N。与BERT 预训练阶段的下一句预测任务类似,文本分类任务也使用CLS位进行预测。因此,利用输出向量Tn中的首位元素,经过Softmax 操作后,得到对应类别的概率分布。在具体应用中,张宇豪19基于BERT 的base 版本完成新闻短文本分类,同时针对BERT 模型存在的问题,提出改进的N-BERT 模型完成新闻短文本分类任务。针对短文本分类任务,郭腾州20提

15、出S-BERT 模型,即将BERT模型和支持向量机分类器进行融合,从而有效提升短文本分类的效果。刘豪21将BERT 与GSDMM 融合完成聚类指导的短文本分类任务。陆晓蕾22基于BERT 预训练语言模型,构建BERT-CNN 模型应用于文档分类任务,并在专利文献分类领域中取得一定进展。3.2 阅读理解机器阅读理解(Machine Reading Comprehension,MRC)任务一直是自然语言处理众多任务中的一个重要任务。近年来,因深度学习技术的发展,机器阅读理解任务称为自然语言处理领域热门的研究方向之一。根据数据集的不同,也就是问题和答案的不同表现形式,机器阅读理解可以被分成不同的任务形式:填空式、选择式、抽取式、生成式、会话式、多跳推理。以抽取式阅读理解为例,阅读理解任务就是给定篇章P、问题Q,要求机器在读取篇章P 和问题Q 后,能够给出答案A,也就是在篇章P中抽取出部分文本片段作为答案A。以BERT 预训练语言模型为例,基于BERT 的抽取式阅读理解模型的网络结构如图2所示,由输入层、编码层和输出层这3个部分构成。图2 基于BERT的抽取式阅读理解模型的网络结构在输入层中,将经过分词后的问题Q、篇章P和特殊标记拼接得到编码层的输入序列X,具体如下。Q=q1q2.qiP=p1p2.pjX=CLSq1q2.qiSEPp1p2.pjSEP其中,i表

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 信息产业

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号