引言
语言模型是构建NLP应用程序的关键。现在人们普遍相信基于预训练模型来构建NLP语言模型是切实有效的方法。随着疫情阴霾的散去,相信NLP技术会继续渗透到众多行业中。在此过程中,肯定有很多同学会用到或者学习NLP预训练模型,为此作者整理了目前2023年NLP的十大预训练模型及论文,模型效果不分先后。
后台回复:10大预训练模型 获取论文全文
BERT模型(Bidirectional Encoder Representations from Transformers)是由谷歌在2018年研究发布的一款NLP预训练模型,一经发布在当年的火热程度不亚于目前ChatGPT。
它采用独特的神经网络架构Transformer(现在看来已经不新鲜了)进行语言理解。该模型适用于语音识别(ASR)、文本到语音(TTS)以及序列到序列(Sequence To Sequence)的任何任务。利用BERT模型它可以有效的应对11个NLP任务,其中Google搜索就是采用BERT模型的最好例子,Google的其它应用案例,例如Google文档、Google邮件辅助编写等都应用了BERT模型的文本预测能力。
GPT-2模型(Generative Pre-trained Transformer ,即生成式预训练Transformer)是OpenAI于2019年2月发布的开源模型,并于同年年11月发布了GPT-2语言模型的完整版本(有15亿个参数)。
GPT-2在文本翻译、QA问答、文章总结、文本生成等NLP任务上可以达到人类的水平。但是但在生成长文章时,会变得重复或无意义。GPT-2是一个通用模型,针对上述任务,它并且没有接受过专门的训练,这得益于它独特的泛化延申能力,即可以在任意序列中准确合成下一项。GPT-2是OpenAI 2018年GPT模型的“直接放大”,其参数计数和训练数据集的大小都增加了10倍。GPT的模型也是基于Transformer建立的,它使用Attention来取代之前RNN和CNN的架构,进而让模型有选择地关注它预测的最相关的输入文本片段。
GPT-3模型(Generative Pre-trained Transformer ,即生成式预训练Transformer)是一个自回归语言模型,它由OpenAI于2020年发布,它使用深度学习来生成类似人类的文本。即给定一个作为提示的初始文本,它会继续生成后面的文本。GPT-3生成的文本质量非常高,以至于很难确定它是否是由人类编写的,这既有好处也有风险。(目前爆火的chatGPT就是基于GPT-3.5训练得到的)
GPT-3架构只存在解码器的Transformer网络,具有2048个Token长的上下文以及1750亿个参数,需要存储800GB。采用生成性预训练对模型进行训练;经过训练,它可以根据前一个Token预测下一个Token是什么。该模型在零样本和小样本学习任务上表现出了强大的学习能力。
RoBERTa模型(Robustly Optimized BERT Pretraining Approach)是由Meta AI在2019年7月份发布的,它基于BERT模型优化得到的。该模型通过学习和预测故意掩膜的文本部分,在BERT的语言掩蔽策略上建立它的语言模型,并使用更大的小批量和学习率进行训练。与BERT相比,这使得RoBERTa可以改进掩码语言建模目标,并产生更好的下游任务性能。
RoBERTa是一个预训练模型,它在GLUE或通用语言理解评估上表现出色。
ALBERT模型(A Little Bert)是BERT模型的精简版本,由谷歌在2020年初发布。该模型主要用于解决模型规模增加导致训练时间变慢的问题。该语言模型采用了因子嵌入和跨层参数共享两种参数简化方法,即在Factorized embedding中,隐藏层和词汇嵌入是分开测量的。然而,跨层参数共享可防止参数数量随着网络的增长而增加。 ALBERT的成功证明了识别模型的各个方面的重要性,这些方面会产生强大的上下文表示。通过将改进工作集中在模型架构的这些方面,可以大大提高模型在各种NLP任务上的效率和性能。
XLNet是一个类似BERT的模型,而不是完全不同的模型。总之,XLNet是一种通用的自回归预训练方法。它是CMU和Google Brain团队在2019年6月份发布的模型,XLNet在20个任务上超过了BERT的表现,并在18个任务上取得了当前最佳效果(state-of-the-art),包括机器问答、自然语言推断、情感分析和文档排序。
BERT模型基于去噪自编码器的预训练模型可以很好地建模双向语境信息,性能优于基于自回归语言模型的预训练方法。然而,由于需要mask一部分输入,BERT忽略了被mask位置之间的依赖关系,因此出现预训练和微调效果的差异(pretrain-finetune discrepancy),基于以上问题,一种泛化的自回归预训练模型XLNet应运而生。
T5模型(Transfer Text-to-Text Transformer,即文本到文本传输转换)是Google在2020年7月份发布的一款强大的统一模型,它将所有NLP任务都转化成文本到文本任务,由此可以方便地评估在阅读理解、摘要生成、文本分类等一系列NLP任务上,不同的模型结构,预训练目标函数,无标签数据集等的影响。
谷歌提出了一种统一的NLP迁移学习方法,开创了该领域的新局面。该模型使用网络抓取数据进行训练,在几个NLP任务上得到了最先进的结果。
ELECTRA模型(Efficiently Learning an Encoder that Classifies Token Replacements Accurately),该模型以1/4的算力就达到了RoBERTa的效果。该模型借鉴了对抗网络的思想,共训练两个神经网络模型,其中生成器Generator,随机屏蔽原始文本中的单词,进行预测学习;判别器Discriminator判定单词是否与原始文本一致,如果一致则为真,如果不同则为假。采用联合训练的方法,但与对抗网络不同的时,参数不在生成器和判别器中反向传播,只共享embedding。embedding大小和判别器的隐层一致。
DeBERTa模型(Decoding-enhanced BERT with Disentangled Attention),是微软在2021年初发布。目前该模型其实已经迭代了三个版本。DeBERTa 模型使用了两种新技术(注意力解耦机制、增强的掩码解码器)改进了 BERT和RoBERTa模型,同时还引入了一种新的微调方法(虚拟对抗训练方法)以提高模型的泛化能力。结果表明以上技术和方法,提高了模型预训练的效率以及自然语言理解(NLU)和自然语言生成(NLG)下游任务的性能。
StructBERT模型是一个预训练的语言模型,由阿里巴巴达摩院2019年提出的NLP预训练模型。它是基于BERT模型的改进,与其最大区别在于:StructBERT增加了两个预训练任务和目标,可以最大限度地利用单词和句子的顺序,分别在单词和句子级别利用语言结构。因此,新模型适用于下游任务所需的不同水平的语言理解。
[1] 「自然语言处理(NLP)」 你必须要知道的 “ 十二个国际顶级会议 ” !