专注试管助孕服务,20年我们始终如一
包成功零风险,8000多个家庭共同选择
精选国内顶尖生殖中心,成功率有保障
13971193333
阅读:9 发布时间:2023-07-03 01:31:16
知乎:潘小小职位:字节跳动AI Lab NLP算法工程师方向:多语言机器翻译深度学习自然语言处理公众号出品在开头先列出本文中涉及到的名词缩写PTM: Pre-train Model, 预训练模型LM: Language Model,语言模型
AR: Auto-Regressive,自回归AE: Auto-Encoding,自编码CLM: Causual Language ModelMLM: Masked Language ModelPLM: Permuted Language Model
NLU: Natural Language UnderstandingNLG: Natural Language Generation1. 什么是预训练如果想用一句话讲清楚“预训练“做了一件什么事,那我想这句话应该是“使用尽可能多的训练数据,从中提取出尽可能多的共性特征,从而能让模型对特定任务的学习负担变轻。
“要想深入理解预训练,首先就要从它产生的背景谈起,第一部分回答了这样2个问题:预训练解决了什么问题,怎样解决的1.1. 预训练诞生的背景“预训练“方法的诞生是出于这样的现实:标注资源稀缺而无标注资源丰富: 某种特殊的任务只存在非常少量的相关训练数据,以至于模型不能从中学习总结到有用的规律。
比如说,如果我想对一批法律领域的文件进行关系抽取,我就需要投入大量的精力(意味着时间和金钱的大量投入)在法律领域的文件中进行关系抽取的标注,然后将标注好的数据“喂”给模型进行训练但是即使是我标注了几百万条这样的数据(实际情况中,在一个领域内标注几百万条几乎不可能,因为成本非常高),和动辄上亿的无标注语料比起来,还是显得过于单薄。
“预训练”这时便可以派上用场
现实中,特定任务的标注数据量远远少于无标注数据的量:右边的黑色柱子代表特定领域标注的语料量,蓝色柱子代表无标注数据的语料量,它们之间的差距比图示还要悬殊得多1.2. 预训练思想的本质如果用一句话来概括“预训练”的思想,那么这句话可以是。
模型参数不再是随机初始化,而是通过一些任务(如语言模型)进行预训练将训练任务拆解成共性学习和特性学习两个步骤上面的两句分别从两个不同的角度来解释了预训练思想的本质第一句话从模型的角度,第二句话从数据的角度。
下面展开讲讲第二种解释【学习任务的分解】“预训练“的做法一般是将大量低成本收集的训练数据放在一起,经过某种预训方法去学习其中的共性,然后将其中的共性“移植”到特定任务的模型中,再使用相关特定领域的少量标注数据进行“微调”,这样的话,模型只需要从”共性“出发,去“学习”该特定任务的“特殊”部分即可。
其实举一个最简单的身边的例子大家就懂了,让一个完全不懂英文的人(我们称ta为)去做英文法律文书的关键词提取的工作会完全无法进行,或者说ta需要非常多的时间去学习,因为ta现在根本看不懂英文但是如果让一个英语为母语但是没接触过此类工作的人(我们称ta为B)去做这项任务,ta可能只需要相对比较短的时间学习就可以上手这项任务。
在这里,英文知识就属于“共性”的知识,这类知识不必要只通过英文法律文书的相关语料进行学习,而是可以通过大量英文语料,不管是小说、书籍,还是自媒体,都可以是学习资料的来源因此,可以将预训练类比成学习任务分解:在上面这个例子中,如果我们直接让A去学习这样的任务,这就对应了传统的直接训练方法。
如果我们先让A变成B,再让ta去学习同样的任务,那么就对应了“预训练+微调”的思路
A是传统的训练思路,B和C都是预训练+微调的训练思路在上面的例子中,B的学习路径是先学习英文,再学习法律文书关键词提取而图中的C是将“法律文书关键词提取”任务进一步分解成为“法律文书”+“关键词提取”,先学习英文的法律文书领域的知识,再去学习如何在英文的法律文书领域做关键词提取。
很显然,从“英文法律文书”出发的学习速度 > 从“英文”出发的学习速度 > 从0出发的学习速度其实采用“预训练”思路的B和C,不仅仅是学习速度高于A,更重要的是,他们的学习效果往往好于A这就和机器学习领域的“预训练”不谋而合。
2. 预训练的发展历程NLP进入神经网络时代之后NLP领域中的预训练思路可以一直追溯到word2vec的提出[1]第一代预训练模型专注于word embedding的学习(word2vec),神经网络本身关于特定任务的部分参数并不是重点。
其特点是context-free,也即word embedding,每个token的表示与上下文无关,比如“苹果”这个词在分别表示水果和公司时,对应的word embedding是同样的第二代预训练模型
以context-aware为核心特征,也就是说“苹果”这个词在分别表示水果和公司时,对应output是不一样的,其中具有代表性的有ELMo[2], GPT[3], BERT[4]等需要提一点的是,早期的PTMs研究者们在模型结构上做的尝试比较多,比如ELMo使用了双向LSTM。
然而在Transformer出现后,研究者们研究的重点就从模型结构转移到了训练策略上比如GPT和BERT都是基于Transformer结构的: GPT基于Transformer decoder,而BERT基于Transformer encoder。
因此,本篇文章也是侧重于解释不同的训练策略3. NLU任务的预训练 VS NLG任务的预训练NLP领域主要分为自然文本理解(NLU)和自然语言生成(NLG)两种任务何为理解?我看到一段文字,我懂了它的意思,但是只需要放在心里----懂了,但不需要说出来。
何为生成?我看到一段文字,我懂了它的意思,并且能够用语言组织出我理解的内容----懂了,还需要说出来3.1. 文本理解(NLU)和文本生成(NLG)任务常见的NLU benchmark有GLUE[5]: 包含九项NLU任务,语言均为英语。
涉及到自然语言推断、文本蕴含、情感分析、语义相似等多个任务
GLEU leaderboard前几位(https://gluebenchmark.com/leaderboard)常见的NLG任务则有: 机器翻译,摘要生成,对话系统,等等Machine Translation。
(Abstractive) SummarizationDialogue (chit-chat and task-based)Creative writing: storytelling, poetry-generation
Freeform Question Answering (i.e. answer is generated, not extracted from text or knowledge base)Image captioning
4. 预训练方法4.1. 两种基本范式:自回归(AR)预训练和自编码(AE)预训练在预训练语言模型的学习过程中,我们往往最早会接触到GPT和BERT实际上,GPT和BERT代表了两种最基本的预训练范式,它们分别被称作“自回归预训练“(如GPT)和“自编码预训练”(如BERT),各自适用于不同类型的下游任务,其中GPT往往更适合文本生成任务,BERT往往更适合文本理解任务。
两者都是基于Transformer结构的部分参数GPT对应了decoder的预训练,而BERT对应了encoder的预训练。
4.1.1. GPT --> AR/LM,适用于NLG任务GPT这一缩写来自于Generative Pre-Training,也就是生成式预训练,这个名称已经预示着GPT擅长文本生成任务GPT的优化目标是单向(从左到右或者从右到左)建模序列的联合概率,是传统意义上的语言模型,后预测的词以先预测的词为条件,比较适合文本生成任务,但是缺陷是只使用了单向的语言表征信息,无法获取双向上下文信息表征,而文本理解任务中经常需要用到双向的上下文信息(比如,完形填空),因此,这就带来了pre-train阶段和下游NLU任务的不一致。
4.1.2. BERT --> AE/MLM,适用于NLU任务BERT的全称为Bidirectional Encoder Representations from Transformers,名称中强调了“双向表示”,预示着BERT是双向建模的。
BERT双向建模的方式就是将一些位置的token替换成特殊的[MASK]字符,并且在目标端去预测这些被替换的字符BERT的特点在于它在预训练阶段已经使用了双向上下文信息,因此特别适合NLU任务4.2. 从GPT和BERT出发: XLNet, MPNet
由GPT和BERT这两个基本的预训练范式出发,后面一些工作致力于将两者的优点结合,做出一个既适用于NLG又适用于NLU的“大一统”预训练模型其中的代表有:XLNet, 提出Permuted Language Model (PLM),将GPT的从左向右建模扩展成乱序建模,来弥补GPT无法获取双向上下文信息的缺陷[6]。
MPNet, 在XLNet基础上进一步弥合pre-train阶段和下游任务fine-tune阶段的预训练目标,试图统一PLM和MLM[7]4.3. MASSMASS = Soft mix (BERT, GPT)[8]
4.4. BART2020年,FAIR提出了BART预训练,其特征在于它使用了"Arbitrary Noise Transformation"。包含5种Noise[8]
BART使用的5种Noise5. 总结我在下面的表格里总结了一下上面提到的PTMs的训练目标、模型结构、论文提出的背景是为了针对性地解决什么场景的问题、受哪些前期工作的影响。
** Encoder/Decoder指的是,训练目标不是Encoder的(双向建模),也不是Decoder的(单向建模),但是模型结构和Encoder或者Decoder是一样的。
参考Efficient Estimation of Word Representations in Vector Space, 2013 https://arxiv.org/abs/1301.3781ELMo
https://www.aclweb.org/anthology/N18-1202/GPT https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf
BERT https://www.aclweb.org/anthology/N19-1423/GLUE https://www.aclweb.org/anthology/W18-5446/【论文串讲】从GPT和BERT到XLNet
https://zhuanlan.zhihu.com/p/182377100【论文串讲】从BERT和XLNet到MPNet https://zhuanlan.zhihu.com/p/197675066【论文精读】生成式预训练之MASS
https://zhuanlan.zhihu.com/p/360998333nlp中的预训练语言模型总结(单向模型、BERT系列模型、XLNet) https://zhuanlan.zhihu.com/p/76
912493NLP算法面试必备!史上最全!PTMs:NLP预训练模型的全面总结 https://zhuanlan.zhihu.com/p/115014536多项NLP任务新SOTA,Facebook提出预训练模型BART
https://zhuanlan.zhihu.com/p/90173832如果喜欢请点赞,或关注我交流。
解放军东部战区19日在台岛周边组织海空联合战备警巡,举行海空···
【粉丝投稿】王先生近期身体有些不适,从网络上查找资料后决定尝···
7月20日,知名影视演员李勤勤通过社交账号更新了一段视频,视···
我国的手工业早在百年前的清朝末年,就因为世界经济的冲击而一蹶···
每个人都曾梦想仗剑走天涯,但大部分人都悄然无踪影少有人能直面···
作者:北极猪前几天秋天的第二个节气处暑过了,也宣告了今年夏天···
来源:经济参考报最新公布的关键经济数据显示,欧洲服务业意外萎···
图①:航拍位于龙南市关西镇的西昌围施鸿雄摄 图②:在龙南市杨···
北京首钢男篮在21日更新了2023-24赛季球员注册名单,其···
作者:Sunnice 前段时间和朋友聚会时喝到了这款范佳乐教···