最强nlp模型-bert

hiyoung hiyoung     2023-02-04     809

关键词:

简介:

BERT,全称Bidirectional Encoder Representations from Transformers,是一个预训练的语言模型,可以通过它得到文本表示,然后用于下游任务,比如文本分类,问答系统,情感分析等任务.BERT像是word2vec的加强版,同样是预训练得到词级别或者句子级别的向量表示,word2vec是上下文无关的(Context-Free),而BERT是上下问有关的(Contextual).意思就是,word2vec只是具有词本身的语义信息,而没有包含文本(不是特指某个文本,而是所有跟该词相关的文本信息)上下文信息,BERT却是相反的.目前为止,BERT已经取得了所有NLP任务的最好结果,所以才称之为最强NLP模型.

以下是BERT的详细介绍:

1.Mask-LM

传统的一般形式语言模型,都是从前向后(从左到右)的得到文本的语义表示.

技术分享图片
图1

这样得到的文本表示句子结尾处的词可以包含前面词的语义信息,但是前面的词并有包含后面词的语义信息.为了解决这一问题,从而引出了双向RNN结构的模型(Bi-RNN/Bi-LSTM).但是如果模型加深,那么最后可能会形成一个"cycle"(作者原话),这是因为一层Bi-RNN会使前面的词包含后面词的语义,后面的词包含前面词的语义,那么一层一层的加深,每个词都会包含整个句子的语义信息,最后加深就变成了自己包含自己的"cycle".

所以作者在这里并没有使用循环神经网络架构,而是使用一种叫做Mask-LM的方法,使用Transformer进行训练:
We mask out 15% of the words in the input, run the entire sequence through a deep bidirectional Transformer encoder, and then predict only the masked words. For example:

技术分享图片
图2

根据文中的意思很好理解Mask-LM的意思,就是随机的去掉部分输入句子的单词,让其作为要预测的label(相当于完形填空),然后用双向深度Transformer模型进行训练.

2.Next Sentence Prediction

此外,为了学习句子之间的关系,作者还训练一个简单任务:给出两个句子A和B,B是A之后的实际下一个句子,或者只是语料库中的随机句子?也就是判断句子B是不是句子A的下一个句子,是或者不是,这是一个二分类问题,称之为Next Sentence Prediction,它是BERT论文新提出的一项NLP任务,所以目前应该没有专门针对NSP的语料库.

技术分享图片
图3

3.模型结构

BERT包括两个步骤:预训练Pre-training和微调fine-tuning.预训练是要花费很长的时间,而且硬件要求也很高,作用使用了4到16个云TPU训练了4天,所以家里没有矿的伙伴就直接使用预训练好的模型参数进行微调吧.文章开头也说了,BERT可以作为预训练模型,用于其他下游NLP任务,所以只需要使用预训练好的模型参数,加上微调就可以在常见的NLP任务上取得较好的效果.

作者给出了两个主要模型:Basic-model,Large-model.分别有12层/768个神经单元/12-heads/110M参数和24层/1024个神经单元/16heads/340M参数.以下是一些模型的其他release版本,其中uncased是指文本已经分词和小写处理.

技术分享图片
图4

作者强调,BERT模型的硬件要求高,参数量较小的Basic-model也需要在12g-16g的GPU上才可以运行(所以我也就只能看看文章--.).

模型更详细的其他信息,可参考BERT代码github:BERT

 






最强nlp预训练模型库pytorch-transformers正式开源:支持6个预训练框架,27个预训练模型

先上开源地址:https://github.com/huggingface/pytorch-transformers#quick-tour官网:https://huggingface.co/pytorch-transformers/index.htmlPyTorch-Transformers(正式名称为pytorch-pretrained-bert)是一个用于自然语言处理(NLP)的最先进的预训练 查看详情

nlp下的bert模型的一些学习

...态情绪识别项目中自然语言处理在经过训练LSTM与Bert两款模型后发现Bert是真的强BERT是2018年10月由GoogleAI研究院提出的一种预训练模型。BERT在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人... 查看详情

nlp方向----面试笔试题集:预训练模型bert

文章大纲TransformerBERT简介1.AR与AE语言模型2.1.1Bert是什么?2.1.2Bert有那几个关键点?2.2Bert输入输出表征篇2.2.1Bert输入输出表征长啥样?2.3Bert预训练2.3.1Bert预训练任务介绍2.3.2Bert预训练任务之MaskedLM篇2.3.2.1Bert为什么需要预训练任务Ma... 查看详情

nlp方向----面试笔试题集:预训练模型bert

文章大纲TransformerBERT简介1.AR与AE语言模型2.1.1Bert是什么?2.1.2Bert有那几个关键点?2.2Bert输入输出表征篇2.2.1Bert输入输出表征长啥样?2.3Bert预训练2.3.1Bert预训练任务介绍2.3.2Bert预训练任务之MaskedLM篇2.3.2.1Bert为什么需要预训练任务Ma... 查看详情

bert模型介绍

  前不久,谷歌AI团队新发布的BERT模型,在NLP业内引起巨大反响,认为是NLP领域里程碑式的进步。BERT模型在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试... 查看详情

NLP 预训练模型(例如 ELMo、Bert)的数据预处理

】NLP预训练模型(例如ELMo、Bert)的数据预处理【英文标题】:DataPreprocessingforNLPPre-trainingModels(e.g.ELMo,Bert)【发布时间】:2019-07-2303:26:04【问题描述】:我计划根据手头的数据(人们输入的笔记)从头开始训练ELMo或Bert模型。我现... 查看详情

nlp模型bert和经典数据集!(代码片段)

↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过 Datawhale干货 作者:陈安东,中央民族大学,Datawhale成员对于刚入门NLP的伙伴来说,看到NLP任务很容易觉得眼花缭乱,找不到切入点... 查看详情

系统学习nlp(二十九)--bert(代码片段)

...tml1.前言在本文之前我们已经介绍了ELMo和GPT的两个成功的模型,今天给大家介绍google新发布的BERT模型。BERT来头可不小,其性能超越许多使用任务特定架构的系统,刷新了11项NLP任务的当前最优性能记录。2.BERT原理BERT... 查看详情

nlp模型bert和经典数据集!(代码片段)

 Datawhale干货 作者:陈安东,中央民族大学,Datawhale成员对于刚入门NLP的伙伴来说,看到NLP任务很容易觉得眼花缭乱,找不到切入点。总的来说,NLP分为五大类无数小类,虽然种类繁多,却环环相... 查看详情

bert模型与中文文本分类实践

...gofDeepBidirectionalTransformersforLanguageUnderstanding》,提出的BERT模型成功在11项NLP任务中取得stateoftheart的结果,赢得自然语言处理学界的一片赞誉之声,成为NLP发展史上的里程碑式的模型成就。BERT的全称是BidirectionalEnco 查看详情

bert模型与中文文本分类实践

...gofDeepBidirectionalTransformersforLanguageUnderstanding》,提出的BERT模型成功在11项NLP任务中取得stateoftheart的结果,赢得自然语言处理学界的一片赞誉之声,成为NLP发展史上的里程碑式的模型成就。BERT的全称是BidirectionalEnco 查看详情

bert的几个可能的应用(代码片段)

??BERT是谷歌公司于2018年11月发布的一款新模型,它一种预训练语言表示的方法,在大量文本语料(维基百科)上训练了一个通用的“语言理解”模型,然后用这个模型去执行想做的NLP任务。一经公布,它便引爆了整个NLP界,其在... 查看详情

图解bert模型结构输入输出

参考技术A本文首先介绍BERT模型要做什么,即:模型的输入、输出分别是什么,以及模型的预训练任务是什么;然后,分析模型的内部结构,图解如何将模型的输入一步步地转化为模型输出;最后,我们在多个中/英文、不同规模... 查看详情

系统学习nlp(二十九)--bert(代码片段)

...tml1.前言在本文之前我们已经介绍了ELMo和GPT的两个成功的模型,今天给大家介绍google新发布的BERT模型。BERT来头可不小,其性能超越许多 查看详情

nlp(二十)利用bert实现文本二分类(代码片段)

...治上的出访类事件。因此,这时候我们需要借助文本分类模型来判断,显然,这是一个二分类模型。??本文将会讲述如何利用BERT+DNN模型来判断文档是否属于政治上的出访类事件。数据集??笔者找了300个文档,里面的文档都含有“... 查看详情

nlp(十九)首次使用bert的可视化指导(代码片段)

...面情感(取值为1),或者标注为负面情感(取值为0)。模型:句子情感分类??我们的目标是创建一个模型,它能够处理一个句子(就行我们数据集中的句子那样)并且输出1(表明该句子具有正面情感)或者0(表明该句子具有负... 查看详情

解决bert官方模型script脚本下载gluedata失败的问题

解决BERT官方模型script脚本下载GLUEdata失败的问题1.运行脚本下载GLUE数据集(建议科学上网)BERT的提出对于NLP领域是一项里程碑。再一次证明了利用语言模型的预训练然后再针对具体下游任务微调是NLP研究近些年来的优秀做法。... 查看详情

5.bert解析

1.语言模型2.AttentionIsAllYouNeed(Transformer)原理小结3.ELMo解析4.OpenAIGPT解析5.BERT解析1.前言在本文之前我们已经介绍了ELMo和GPT的两个成功的模型,今天给大家介绍google新发布的BERT模型。BERT来头可不小,其性能超越许多使用任务特... 查看详情