从大炼模型到炼大模型,预训练模型

不同于Radford等人(2018)使用单向语言模型进行预训练,BERT使用MLM预训练深度双向表征 。代码和预训练模型将发布在goo.gl/language/bert 。与从左到右的语言模型预训练不同,MLM目标允许表征融合左右两侧的语境,从而预训练一个深度双向Transformer 。
自然语言处理有预训练好的模型么?

从大炼模型到炼大模型,预训练模型


在计算机视觉领域,我们知道有很多预训练权重,例如vgg、resnet、densenet、mobilenet、shufflenet等等 。在NLP领域,这方面的预训练模型目前并不是很多,不过很多NLP领域的开发人员也正在尝试完善该方向 。目前也取得了一些成果,例如ELMo、ULMFiT 和 OpenAI Transformer,它们通过预训练语言模型在很多NLP的任务中取得了很不错的效果 。
下面依次介绍这几个模型 。ELMoELMo是一种深度语境化的词汇表征模型,它既对词所使用的复杂特征(例如语法和语义)进行建模,也建模了当这些词使用在不同的上下文(即模型一词多义)时的情形 。这些词向量是深度双向语言模型(biLM)内部状态的学习函数,该模型在大型文本语料库上进行预训练 。它们可以很容易地添加到现有的模型中,并且显著地提高了NLP在实际中的效果,包括问题回答、文本蕴含和文本情感分析 。
ELMo官方网站:https://allennlp.org/elmoELMo github地址:https://github.com/allenai/allennlpOpenAI Transformer在OpenAI Transformer中也用到了预训练模型,他们通过无监督学习提高语言理解能力,已经在一系列不同的语言任务中获得了很不错的结果 。
方法是两种现有思想的结合:transformers和无监督的预训练 。研究人员在大量数据上训练一个transformer模型,利用语言建模作为训练信号,然后在稍小的监督数据集上对模型进行微调,以帮助解决特殊任务 。OpenAI Transformer github地址:https://github.com/openai/finetune-transformer-lmOpenAI Transformer论文介绍地址:https://blog.openai.com/language-unsupervised/#contentULMFiTULMFiT认为可以在大型的语料库上预训练语言模型(例如维基百科),然后创建分类器 。
但是我们的文本数据可能跟模型训练的文本数据有着一些差异,所以我们需要对其中的参数进行一些微调,将这些差异能够加入到模型中 。然后,在语言模型的顶层添加一个分类图层,并且只训练这个图层 。项目地址:http://nlp.fast.ai/category/classification.html论文介绍地址:http://nlp.fast.ai/classification/2018/05/15/introducting-ulmfit.html 。
NLP预训练模型的研究进展有哪些?
从大炼模型到炼大模型,预训练模型


本文介绍了一种新的语言表征模型 BERT——来自 Transformer 的双向编码器表征 。与最近的语言表征模型不同,BERT 旨在基于所有层的左、右语境来预训练深度双向表征 。BERT 是首个在大批句子层面和 token 层面任务中取得当前最优性能的基于微调的表征模型,其性能超越许多使用任务特定架构的系统,刷新了 11 项 NLP 任务的当前最优性能记录 。
近日,谷歌 AI 的一篇NLP论文引起了社区极大的关注与讨论,被认为是 NLP 领域的极大突破 。如谷歌大脑研究科学家 Thang Luong Twitter 表示这是 NLP 领域的新时代 。Twitter 上也有众多研究者参与讨论、转发了这篇论文:这篇刷新了 11 项 NLP 任务的论文不久之前已经上线,让我们一睹为快:研究证明语言模型预训练可以有效改进许多自然语言处理任务,包括自然语言推断、复述(paraphrasing)等句子层面的任务,以及命名实体识别、SQuAD 问答等 token 层面的任务 。
前者通过对句子进行整体分析来预测句子之间的关系,后者则要生成 token 级别的细粒度输出 。目前将预训练语言表征应用于下游任务存在两种策略:基于特征的策略和微调策略(fine-tuning) 。基于特征的策略(如 ELMo)使用将预训练表征作为额外特征的任务专用架构 。微调策略(如生成预训练 Transformer (OpenAI GPT))引入了任务特定最小参数,通过简单地微调预训练参数在下游任务中进行训练 。

推荐阅读