8种优秀预训练模型大盘点,NLP应用so easy!(2)
谷歌发布BERT框架并开放其源代码在业界掀起波澜,甚至有人认为这是否标志着“ NLP新时代”的到来。但至少有一点可以肯定,BERT是一个非常有用的框架,可以很好地推广到各种NLP任务中。 BERT是Bidirectional Encoder Representations(双向编码器表征)的简称。这个模型可以同时考虑一个词的两侧(左侧和右侧)上下文,而以前的所有模型每次都是只考虑词的单侧(左侧或右侧)上下文。这种双向考虑有助于模型更好地理解单词的上下文。此外,BERT可以进行多任务学习,也就是说,它可以同时执行不同的NLP任务。 BERT是首个无监督的、深度双向预训练NLP模型,仅使用纯文本语料库进行训练。 在发布时,谷歌称BERT进行了11个自然语言处理(NLP)任务,并产生高水平的结果,这一壮举意义深远!你可以在短短几个小时内(在单个GPU上)使用BERT训练好自己的NLP模型(例如问答系统)。 想获得更多有关BERT的资源,请参阅:
4. Transformer-XL模型(谷歌) 从长期来看,谷歌发布的版本对NLP而言是非常重要的。如果你是初学者,这个概念可能会有点棘手,所以我鼓励你多读几遍来掌握它。我还在本节下面提供了多种资源来帮助你开始使用Transformer-XL。 想象一下——你刚读到一本书的一半,突然出现了这本书开头提到的一个词或者一句话时,就能回忆起那是什么了。但可以理解,机器很难建立长期的记忆模型。 如上所述,要达成这个目的的一种方法是使用Transformers,但它们是在固定长度的上下文中实现的。换句话说,如果使用这种方法,就没有太大的灵活性。 Transformer-XL很好地弥补了这个差距。它由Google AI团队开发,是一种新颖的NLP架构,能够帮助机器理解超出固定长度限制的上下文。Transformer-XL的推理速度比传统的Transformer快1800倍。 通过浏览下面谷歌发布的两个gif文件,你就会明白这其中的区别: 正如你现在可能已经预测到的,Transformer-XL在各种语言建模基准/数据集上取得了最新的技术成果。以下是他们页面上的一个小表格,说明了这一点: 之前给过链接并将在下面提到的Transformer-XL GitHub存储库包含了PyTorch和TensorFlow中的代码。 学习和阅读更多Transformer-XL有关信息的资源:
5. GPT-2模型(OpenAI) 这是一个十分有争议的模型,一些人会认为GPT-2的发布是OpenAI的营销噱头。我可以理解他们的想法,但是我认为至少应该要先对OpenAI发布的代码进行尝试。 首先,为那些不知道我在说什么的人提供一些背景信息。OpenAI在2月份发表了一篇博客文章,他们声称已经设计了一个名为GPT-2的NLP模型,这个模型非常好,以至于担心被恶意使用而无法发布完整的版本,这当然引起了社会的关注。 GPT-2经过训练,可以用来预测40GB的互联网文本数据中的下一个出现的词。 该框架也是一个基于transformer的模型,而这个模型是基于800万个web页面的数据集来进行训练。他们在网站上发布的结果简直令人震惊,因为该模型能够根据我们输入的几个句子编写出一个完整的故事。看看这个例子: 难以置信,是吧? 开发人员已经发布了一个更小版本的GPT-2,供研究人员和工程师测试。原始模型有15亿个参数——开放源码示例模型有1.17亿个参数。 学习和阅读更多GPT-2有关信息的资源:
词嵌入(word embedding)模型 我们使用的大多数机器学习和深度学习算法都无法直接处理字符串和纯文本。这些技术要求我们将文本数据转换为数字,然后才能执行任务(例如回归或分类)。 因此简单来说, 词嵌入(word embedding)是文本块,这些文本块被转换成数字以用于执行NLP任务。词嵌入(word embedding)格式通常尝试使用字典将单词映射到向量。 你可以在下面的文章中更深入地了解word embedding、它的不同类型以及如何在数据集中使用它们。如果你不熟悉这个概念,我认为本指南必读: 对词嵌入的直观理解:从计算向量到Word2Vec: https://www.analyticsvidhya.com/blog/2019/03/pretrained-models-get-started-nlp/ 在本节中,我们将介绍NLP的两个最先进的词嵌入(word embedding)。我还提供了教程链接,以便你可以对每个主题有实际的了解。 6. ELMo模型 这个ELMo并不是《芝麻街》里的那个角色,但是这个ELMo(Embeddings from Language Models(语言模型嵌入)的缩写)在构建NLP模型的上下文中非常有用。 (编辑:ASP站长网) |