Google预训练语言模型T5

这几天NLP领域又炸锅了,Google又祭出预训练模型大杀器T5(Text-to-Text Transfer Transformer),既在情理之中,又在意料之外。在情理之中是因为,BERT及后续改进模型出来后,大的趋势是更复杂的模型和更多的数据,个人觉得Google应该不会满足于BERT,19年应该还会有大杀招出来。在意料之外是因为,没有想到T5会干得这么彻底,有一种惨无人道的感觉,这让大家以后还往哪做啊。下面所讲纯属个人思考,眼光有限,错误难免,谨慎参考。

 

T5的出世我感觉让一些研究人员会有种绝望的感觉。首先还需要做啥模型,我T5一统江湖。之前BERT已统领了NLU领域,大家还可以做做NLG,得,现在的T5能做到统一NLU和NLG,真的是不管什么任务,一个模型包打天下(想起了金庸的武林江湖,以后没有什么华山派、空洞派、峨眉派、昆仑派、。。。,甚至连武当、少林也没有了,都统一归我日月神教哈)。但又在疑惑,这世界上真的存在银弹吗?其次也不要考虑自己做预训练模型这个问题了,看完了T5论文,只有一种感觉----有钱真好。就这种暴力实验法,估计一般的学校、研究机构和企业就都算了,努力搬搬砖、修修补补就差不多得了,像T5这种只能成为诸神之战。最后悲催的是T5连搬砖机会也都不给了,自己一股脑把各类修修补补的事也一并做了(如Replace span、multi-task learning、Scaling等)。真的是走别人的路,让别人无路可走。知乎上看到有人问“自然语言处理进入大力出奇迹时代 高校学生如何才能进行更好的研究”,个人建议是如果你将来打算去企业,还是找个应用问题做吧(如NER、事件抽取、关系抽取、文本匹配等),一是可以直接应用BERT、T5这类模型,避免了直接竞争,二是做的问题可能在企业有直接应用,让你先于别人得到表现机会哈。

 

下面我们先来了解下什么是T5,具体先看图1,主要包含模型结构、注意力掩码机制、Objectives、C4和训练策略五部分。

图 1 T5 思维导图

 

为了解决Text-to-Text问题,目前主要有Encoder-Decoder、Language model和Prefix LM三类结构。Language model和Prefix LM比较适用于NLU类问题,但对于NLG,实验结果表明Encoder-Decoder效果更好。所以T5选择了Encoder-Decoder结构。

 

关于注意力掩码机制,目前有Casual、Casual prefix和Fully-visible三类。Casual是一种常见的掩码机制,有从左到右和从右到做两种,当前点仅能看到改点之前的信息,看不到后面的信息,如果要看到两个方向的信息只能将两个信息concat(如BiLSTM模型),GPT就是采用这种掩码机制。Casual prefix可以看成是Casual的扩展,应该有些常见prefix固定,UniLM采用这种掩码机制。那有没有一种机制能建模时同时看两边,Fully-visible就属于这类。在Fully-visible之前大部分模型都是选择Casual这种,所以个人觉得Bert采用Fully-visible还是很有创新意义。

 

Objectives主要包含常用预训练方法、Mask策略、Mask比率和Span长度选择四个部分。预训练方法分语言模型式、Bert Mask式和Deshuffling三种,实验结果表明Bert Mask式效果更好。Mask策略分Mask模式、Replace span模式和drop模式三种,实验结果表明Replace span模式效果更好。Mask比率验证了10%、15%、25%和50%四种,实验结果表明15%效果更好。Span长度选择验证了2、3、5和10四种,实验结果表明3效果相对好一些。

 

C4(Colossal Clean Crawled Corpus)数据集达到750G,但从实验结果上看,RealNews-like(35G)和WebText-like(17G),效果相差不是很多,这表明并不是增大数据量就可以快速提升效果,应该是存在一个阈值,达到一定量后后面增长会比较缓慢。在dataset size部分也基本验证了这一观点。出现这一现象可能有两种原因:一是现有模型不够复杂,现有数据已使其饱和,因此需要一个更大更复杂的模型,这种可能性比较小,毕竟模型参数已达到110亿;另一种是现有语料的信息量已到一个瓶颈,模型已基本学得差不多,增大语料样本并不能带来信息量的增加,如果是这种情况,那是个好事情,说明语言的信息组合也是有限的,某种程度也是可枚举的。

 

训练策略部分作者探索了fine-tune、多任务学习、多任务fine-tune和Scaling。这基本囊括了常见的一些训练策略,把该搬的砖基本都搬了,这叫别人怎么搬啊。同时作者的探索也得出了一些有意思的经验,如多任务学习效果不如pre-train-then-fine-tune等。

 

到此,T5基本介绍差不多了。下面稍微说下个人的一些看法。

 

第一,T5是一个集大成之作,将Bert之后的很多进展进行了融合。但从模型上说,它的创新度并不是很高,主要是Encoder-Decoder、Fully visible、Bert-span等,这些单项之前在某些模型都有涉及。但T5能将它们各种组合在一起,选出了一个最优组合方案。这有点好比于张三丰把少林的罗汉拳、丐帮的降龙掌、桃花岛的弹指神功融合在一起形成了太极,你说他厉不厉害。

 

第二,T5的出现是势在必行(之前在“后Bert时代NLP相关进展”文章总结与思考部分稍有提及),只不过当时觉得它会叫“Bert-2”,大方向是更复杂的模型和更多的数据,从T5来看,基本也确实是往这个方向跑了。只不过没想到的是把NLG融合了。其中,NLG问题UniLM和MASS两篇文章也是往这个方向(详见“后Bert时代NLP相关进展”,当时分析UniLM和MASS文章时说到他们数据不足的问题,T5把他给补全了)。

 

第二,其实说到大一统这个问题,我个人先前也有预判,但当时预判是阅读理解,可以详见“后Bert时代机器阅读理解”。因为基本所有NLU问题都可以转换成阅读理解问题来做,但T5把NLG的问题也包含了,用Text-to-Text做到了NLU和NLG问题的大一统,确实是厉害。

 

第三,未来会如何发展,当前的热点结构是Transformer和GNN,它们都是图式结构,事物的发展基本基本都是从线性、Tree式、到图式(详见“语言模型之一枝(只)漂亮的小花(猫)”),到了图式后也会有异构图式、时序图式等,但都比较虚,然后会有其他的发展,进入下一个轮回。那T5后续是不是也得奔着异构和时序两个方向发展,还是会有新的模式突破,进入下一个轮回。

 

最后,还是坐等中文版T5哈。。。

 

参考文献

Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

后Bert时代NLP相关进展

后Bert时代机器阅读理解

语言模型之一枝(只)漂亮的小花(猫)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章